當前位置:首頁 » 操作系統 » 根據密碼演算法

根據密碼演算法

發布時間: 2022-08-24 22:19:46

1. 用C語言:根據給定的演算法,判斷輸入的密碼是否正確

#include<stdio.h>
void main()
{
int n,password=123456,i=1;
while(1)
{
printf("輸入密碼:");
scanf("%d",&n);
if(n==password)
printf("Welcome to use the software\n");
else
{
if(i<3)
printf("剩餘的可輸入密碼的次數為:%d\n",3-i);
else
printf("Password error ! You can not use the software\n");
i++;

}
if(i>=4||n==password)break;
}
}
這個是不需要用return的,簡明一點,初學的應該會

2. 計算機密碼學中有哪些加密演算法

傳統密碼學Autokey密碼 置換密碼 二字母組代替密碼 (by Charles Wheatstone) 多字母替換密碼 希爾密碼 維吉尼亞密碼 替換密碼 凱撒密碼 ROT13 仿射密碼 Atbash密碼 換位密碼 Scytale Grille密碼 VIC密碼 (一種復雜的手工密碼,在五十年代早期被至少一名蘇聯間諜使用過,在當時是十分安全的)
分組密碼包括 DES、IDEA、SAFER、Blowfish 和 Skipjack — 最後一個是「美國國家安全局(US National Security Agency,NSA)」限制器晶元中使用的演算法。
置換加密法,將字母的順序重新排列;替換加密法,將一組字母換成其他字母或符號。
DES(Data Encryption Standard):數據加密標准,速度較快,適用於加密大量數據的場合
RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的MD5。
對MD5演算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。

3. 密碼的核心是密碼演算法密碼演算法是不能公開的

這個主要是為了保證設計的密碼演算法是可靠的,不是隨隨便便就能被人破解的,因為設計好的密碼演算法總是要被人用的,而要被人廣泛使用的話。

在公開密鑰密碼體制中,加密密鑰(即公開密鑰)PK是公開信息,而解密密鑰(即秘密密鑰)SK是需要保密的。加密演算法E和解密演算法D也都是公開的。雖然秘密密鑰SK是由公開密鑰PK決定的,但卻不能根據PK計算出SK。

公開密碼演算法:

用作加密的密鑰不同於用作解密的密鑰,而且解密密鑰不能根據加密密鑰計算出來(至少在合理假定的長時間內)。之所以叫做公開密鑰演算法,是因為加密密鑰能夠公開,即陌生者能用加密密鑰加密信息。

但只有用相應的解密密鑰才能解密信息。在這些系統中,加密密鑰叫做公開密鑰(簡稱公鑰),解密密鑰叫做私人密鑰(簡稱私鑰)。私人密鑰有時也叫秘密密鑰。為了避免與對稱演算法混淆,此處不用秘密密鑰這個名字。

4. hp電腦的金鑰密碼

如果用的是純正版系統,電腦的密鑰在筆記本電腦的電池拿下來的後面。
密鑰是一種參數,它是在明文轉換為密文或將密文轉換為明文的演算法中輸入的參數。密鑰分為對稱密鑰與非對稱密鑰。
根據密碼演算法所使用的加密密鑰和解密密鑰是否相同、能否由加密過程推導出解密過程(或者由解密過程推導出加密過程),可將密碼體制分為對稱密碼體制(也叫作單鑰密碼體制、秘密密鑰密碼體制、對稱密鑰密碼體制)和非對稱密碼體制(也叫作雙鑰密碼體制、公開密鑰密碼體制、非對稱密鑰密碼體制)。對稱密鑰加密,又稱私鑰加密或會話密鑰加密演算法,即信息的發送方和接收方使用同一個密鑰去加密和解密數據。它的最大優勢是加/解密速度快,適合於對大數據量進行加密,但密鑰管理困難。非對稱密鑰加密系統,又稱公鑰密鑰加密。它需要使用不同的密鑰來分別完成加密和解密操作,一個公開發布,即公開密鑰,另一個由用戶自己秘密保存,即私用密鑰。信息發送者用公開密鑰去加密,而信息接收者則用私用密鑰去解密。公鑰機制靈活,但加密和解密速度卻比對稱密鑰加密慢得多。所以在實際的應用中,人們通常將兩者結合在一起使用,例如,對稱密鑰加密系統用於存儲大量數據信息,而公開密鑰加密系統則用於加密密鑰。

5. RSA密碼演算法

題目很簡單,出現這種問題證明你要好好看下數論了。特別是歐拉定理。根據數論,若x與y互為素數,則x^-1 mod y存在唯一整數解。由此,告訴你一種簡潔的求d的方法,該法是根據模的逆運算的原始定義求解,即:ed=k(p-1)(q-1)+1 式中d和k都是整數。因為e與(p-1)(q-1)互為素數,所以存在唯一整數解。這樣可以通過搜索法找到d。
由上題:e=5, (p-1)(q-1)=96
帶入公式試值得:5d=96*k+1 k=4,d=77 (k與d同時為整數)
c的求法:
由15^5mod119=(((15^2mod119)^2mod119)*15)mod119=36
以上全是手算,當然還可以用計算器,有mod功能的,太簡單了。
希望我的回答對你有幫助。

別這么說,什麼菜不菜的,大家一起討論。
mod就是求余,比如:7mod2=1,就是7/2餘1
公式:余數=|被除數-商*除數|

6. 國家密碼管理局通過的演算法有哪些

國家密碼管理局公告(第7號)
2006-01-19
根據國家有關法律、法規,為配合無線區域網產品政府采購工作的順利實施,現將無線區域網產品和含有無線區域網功能的產品(以下簡稱無線區域網產品)有關的密碼事宜公告如下:一、無線區域網產品須採用下列經批準的密碼演算法:1、對稱密碼演算法:SMS4;2、簽名演算法:ECDSA; 3、密鑰協商演算法:ECDH;4、雜湊演算法:SHA-256;5、隨機數生成演算法:自行選擇。其中,ECDSA和ECDH密碼演算法須採用我局指定的橢圓曲線和參數。二、無線區域網產品使用的SMS4密碼演算法編制文本以及ECDSA、ECDH密碼演算法的橢圓曲線和參數,授權由國家商用密碼管理辦公室網站(www.oscca.gov.cn)發布。三、無線區域網產品的密碼檢測指定商用密碼檢測中心承擔。商用密碼檢測中心地址:北京西城區靈境胡同42號兆金大廈3038室,郵編:100032,電話:010-66061023、66068494。四、涉及國家秘密的項目採用無線區域網產品須遵守國家密碼管理有關規定。 國家密碼管理局 2006年1月6日

7. 密碼體制分類及典型演算法描述

密碼體制分為三類:1、換位與代替密碼體質 2、序列與分組密碼體制 3、對稱與非對稱密鑰密碼體制。

8. 密碼破譯的密碼破譯方法

通常,密碼破譯方法可以分為以下四類。 在不知其鑰匙的情況下,利用數學方法破譯密文或找到鑰匙的方法,稱為密碼分析(Cryptanalysis)。密碼分析有兩個基本的目標:利用密文發現明文;利用密文發現鑰匙。根據密碼分析者破譯(或攻擊)時已具備的前提條件,通常將密碼分析攻擊法分為4種類型。
(1)惟密文破解(Ciphertext-only attack)。在這種方法中,密碼分析員已知加密演算法,掌握了一段或幾段要解密的密文,通過對這些截獲的密文進行分析得出明文或密鑰。惟密文破解是最容易防範的,因為攻擊者擁有的信息量最少。但是在很多情況下,分析者可以得到更多的信息。如捕獲到一段或更多的明文信息及相應的密文,也是可能知道某段明文信息的格式。
(2)已知明文的破譯(Known-plaintext attack)。在這種方法中,密碼分析員已知加密演算法,掌握了一段明文和對應的密文。目的是發現加密的鑰匙。在實際使用中,獲得與某些密文所對應的明文是可能的。
(3)選定明文的破譯(Chosen-plaintext attack)。在這種方法中,密碼分析員已知加密演算法,設法讓對手加密一段分析員選定的明文,並獲得加密後的密文。目的是確定加密的鑰匙。差別比較分析法也是選定明文破譯法的一種,密碼分析員設法讓對手加密一組相似卻差別細微的明文,然後比較他們加密後的結果,從而獲得加密的鑰匙。
(4)選擇密文攻擊(Chosen-ciphertext attack)。密碼分析者可得到所需要的任何密文所對應的明文(這些明文可能是不明了的),解密這些密文所使用的密鑰與解密待解的密文的密鑰是一樣的。它在密碼分析技術中很少用到。
上述四種攻擊類型的強度按序遞增,如果一個密碼系統能抵抗選擇明文攻擊,那麼它當然能夠抵抗惟密文攻擊和已知明文攻擊。 除密鑰的窮盡搜索和密碼分析外,實際生活中,破密者更可能真對人機系統的弱點進行攻擊,而不是攻擊加密演算法本身。
利用加密系統實現中的缺陷或漏洞等都是破譯密碼的方法,雖然這些方法不是密碼學所研究的內容,但對於每一個使用加密技術的用戶來說是不可忽視的問題,甚至比加密演算法本身更為重要。常見的方法有:
(1)欺騙用戶口令密碼
(2)在用戶輸入口令時,應用各種技術手段,「窺視」或「偷竊」密鑰內容。
(3)利用加密系統實現中的缺陷。
(4)對用戶使用的密碼系統偷梁換柱。
(5)從用戶工作生活環境獲得未加密的保密信息。如進行的「垃圾分析」。
(6)讓口令的另一方透露密鑰或相關信息。
(7)威脅用戶交出密碼。 防止密碼破譯,除去我們要從思想上加以重視外,採取的具體措施如下:
(1)強壯加密演算法。通過增加加密演算法的破譯復雜程度和破譯的時間,進行密碼保護。如加長加密系統的密鑰長度,一般在其他條件相同的情況下,密鑰越長破譯越困難,而且加密系統也就越可靠。
(2)動態會話密鑰。每次會話所使用的密鑰不相同。
(3)定期更換加密會話的密鑰。

9. 替代密碼的替代密碼的分類

根據密碼演算法加解密時使用替換表多少的不同,替代密碼又可分為單表替代密碼和多表替代密碼。
單表替代密碼的密碼演算法加解密時使用一個固定的替換表。單表替代密碼又可分為一般單表替代密碼、移位密碼、仿射密碼、密鑰短語密碼。
多表替代密碼的密碼演算法加解密時使用多個替換表。 多表替代密碼有弗吉尼亞密碼、希爾(Hill)密碼、一次一密鑰密碼、Playfair密碼。 單表替代密碼對明文中的所有字母都使用一個固定的映射(明文字母表到密文字母表)。設A={a0, a1,…, an-1}為包含了n個字母的明文字母表;
B={b0, b1,…, bn-1} 為包含n個字母的密文字母表,單表替代密碼使用了A到B的映射關系:f:A→B, f ( ai )= bj
一般情況下,f 是一一映射,以保證加密的可逆性。加密變換過程就是將明文中的每一個字母替換為密文字母表的一個字母。而單表替代密碼的密鑰就是映射f或密文字母表。經常密文字母表與明文字母表的字元集是相同的,這時的密鑰就是映射f。下面給出幾種典型的單表替代密碼。
⒈一般單表替代密碼
一般單表替代密碼的原理是以26個英文字母集合上的一個置換π為密鑰,對明文消息中的每個字母依次進行變換。可描述為:明文空間M和密文空間C都是26個英文字母的集合,密鑰空間K={π:Z26→Z26|π是置換},是所有可能置換的集合。
對任意π∈K,定義:
加密變換:eπ(m)=π(m)=c
解密變換:dπ(c) = π-1(c)=m, π-1是π的逆置換。
例:設置換π的對應關系如下:
a b c d e f g h i j k l m n o p q r s t u v w x y z
q w e r t y u i o p a s d f g h j k l z x c v b n m
試用單表替代密碼以π為密鑰對明文消息message加密,然後寫出逆置換 ,並對密文解密。
解:以π為密鑰用單表替代密碼對明文消息message加密,所得
密文消息為: π(m) π(e) π(s) π(s) π(a) π(g) π(e)=dtllqut
一般單表替代密碼演算法特點:
▲密鑰空間K很大,|K|=26!=4×10^26 ,破譯者窮舉搜索計算不可行,1微秒試一個密鑰,遍歷全部密鑰需要1013 年。
▲移位密碼體制是替換密碼體制的一個特例,它僅含26個置換做為密鑰空間。
密鑰π不便記憶。
▲針對一般替換密碼密鑰π不便記憶的問題,又衍生出了各種形式單表替代密碼。
⒉移位密碼
明文空間M、密文空間C都是和密鑰空間K滿足,即把26個英文字母與整數0,1,2,…,25一一對應。
加密變換,E={E:Z26→Z26, Ek (m) = m + k (mod26)| m∈M, k∈K }
解密變換,D={D:Z26→Z26, Dk (c) = c-k (mod26)| c∈C, k∈K }
解密後再把Z26中的元素轉換英文字母。
顯然,移位密碼是前面一般單表替代密碼的一個特例。當移位密碼的 密鑰k=3時,就是歷史上著名的凱撒密碼(Caesar)。根據其加密函數特 點,移位密碼也稱為加法密碼。
⒊仿射密碼
仿射密碼也是一般單表替代密碼的一個特例,是一種線性變換。仿射密碼的明文空間和密文空間與移位密碼相同,但密鑰空間為 K={(k1,k2)| k1,k2∈Z26,gcd(k1,26)=1}
對任意m∈M,c∈C,k = (k1,k2)∈K,定義加密變換為 c = Ek (m) = k1 m +k2 (mod 26)
相應解密變換為: m = Dk (c) = k1 (c-k2) (mod 26)
其中,K1 k1=1mod26 。很明顯,k1=1時即為移位密碼,而k2=1則稱為乘法密碼。
⒋密鑰短語密碼
選用一個英文短語或單詞串作為密鑰,去掉其中重復的字母得到一個無重復字母的字元串,然後再將字母表中的其它字母依次寫於此字母串後,就可構造出一個字母替代表。當選擇上面的密鑰進行加密時,若明文為「china」,則密文為「yfgmk」。顯然,不同的密鑰可以得到不同的替換表,對於明文為英文單詞或短語的情況時,密鑰短語密碼最多可能有26!=4×1026個不同的替換表。 單表替代密碼表現出明文中單字母出現的頻率分布與密文中相同, 多表替代密碼使用從明文字母到密文字母的多個映射來隱藏單字母出現 的頻率分布,每個映射是簡單替代密碼中的一對一映射多表替代密碼將 明文字母劃分為長度相同的消息單元,稱為明文分組,對明文成組地進 行替代,同一個字母有不同的密文,改變了單表替代密碼中密文的唯一 性,使密碼分析更加困難。
多表替代密碼的特點是使用了兩個或兩個以上的替代表。著名的維吉尼亞密碼和Hill密碼等均是多表替代密碼。
⒈維吉尼亞密碼
維吉尼亞密碼是最古老而且最著名的多表替代密碼體制之一,與位移密碼體制相似,但維吉尼亞密碼的密鑰是動態周期變化的。
該密碼體制有一個參數n。在加解密時,同樣把英文字母映射為0-25的數字再進行運算,並按n個字母一組進行變換。明文空間、密文空間及密鑰空間都是長度為n的英文字母串的集合,因此可表示
加密變換定義如下:
設密鑰 k=(k1,k2,…,kn), 明文m=(m1,m2,…,mn), 加密變換為:
Ek(m)=(c1,c2,…,cn),
其中ci(mi + ki)(mod26),i =1,2,…,n
對密文 c=(c1,c2,…,cn), 解密變換為:
Dk(c)=(m1,m2,…,mn), 其中 mi=(ci -ki)(mod26),i =1,2,…,n
⒉希爾(Hill)密碼
Hill密碼演算法的基本思想是將n個明文字母通過線性變換,將它們轉換為n個密文字母。解密只需做一次逆變換即可。
⒊一次一密密碼(One Time Pad)
若替代碼的密鑰是一個隨機且不重復的字元序列,這種密碼則稱為一次一密密碼,因為它的密鑰只使用一次。該密碼體制是美國電話電報公司的Joseph Mauborgne在1917年為電報通信設計的一種密碼,所以又稱為Vernam密碼。Vernam密碼在對明文加密,前首先將明文編碼為(0,1)序列,然後再進行加密變換。
設m=(m1 m2 m3 … mi …)為明文,k=(k1 k2 k3 … ki …)為密鑰,其中mi,ki ∈(0,1), i≥1, 則加密變換為: c=(c1 c2 c3 … ci …) ,其中ci = mi &Aring; ki , i≥1,
這里為模2加法(或異或運算)
解密變換為:
m=(m1 m2 m3 … mi …) ,其中mi = ci &Aring; ki , i≥1,
在應用Vernam密碼時,如果對不同的明文使用不同的隨機密鑰,這時Vernam密碼為一次一密密碼。由於每一密鑰序列都是等概率隨機產生的,敵手沒有任何信息用來對密文進行密碼分析。香農(Claude Shannon)從資訊理論的角度證明了這種密碼體制在理論上是不可破譯的。但如果重復使用同一個密鑰加密不同的明文,則這時的Vernam密碼就較為容易破譯。
若敵手獲得了一個密文c=(c1 c2 c3 … ci …) 和對應明文m=(m1 m2 m3 … mi …) 時,就很容易得出密鑰 k=(k1 k2 k3 … ki …) ,其中ki = ci&Aring; mi,i≥1。 故若重復使用密鑰,該密碼體制就很不安全。
實際上Vernam密碼屬於序列密碼,加密解密方法都使用模2加,這使軟
硬體實現都非常簡單。但是,這種密碼體制雖然理論上是不可破譯的,然而
在實際應用中,真正的一次一密系統卻受到很大的限制,其主要原因在於該
密碼體制要求:
① 密鑰是真正的隨機序列;
② 密鑰長度大於等於明文長度;
③ 每個密鑰只用一次(一次一密)。
這樣,分發和存儲這樣的隨機密鑰序列,並確保密鑰的安全都是很因難
的;另外,如何生成真正的隨機序列也是一個現實問題。因此,人們轉而尋
求實際上不對攻破的密碼系統。
⒋Playfair密碼
Playfair密碼是一種著名的雙字母單表替代密碼,實際上Playfair密碼屬於一種多字母替代密碼,它將明文中的雙字母作為一個單元對待,並將這些單元轉換為密文字母組合。替代時基於一個5×5的字母矩陣。字母矩陣構造方法同密鑰短語密碼類似,即選用一個英文短語或單詞串作為密鑰,去掉其中重復的字母得到一個無重復字母的字元串,然後再將字母表中剩下的字母依次從左到右、從上往下填入矩陣中,字母I,j占同一個位置。

熱點內容
怎麼設置電腦開機密碼和屏幕鎖 發布:2025-05-16 03:07:05 瀏覽:55
華為鎖屏密碼忘記了怎麼解鎖 發布:2025-05-16 03:06:26 瀏覽:474
安卓文字為什麼沒有蘋果舒服 發布:2025-05-16 03:01:26 瀏覽:357
phpnow解壓版 發布:2025-05-16 02:52:49 瀏覽:811
dmporacle資料庫 發布:2025-05-16 02:44:31 瀏覽:831
雲主機上傳 發布:2025-05-16 02:44:30 瀏覽:82
滑鼠如何編程 發布:2025-05-16 02:29:09 瀏覽:816
安卓70能用什麼軟體 發布:2025-05-16 01:45:09 瀏覽:481
編程發展史 發布:2025-05-16 01:38:52 瀏覽:529
android圖片氣泡 發布:2025-05-16 01:38:40 瀏覽:887