關于古典密碼算法實現(xiàn),古典密碼算法這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、世界上最早的一種密碼產生于公元前兩世紀。
2、是由一位希臘人提出的,人們稱之為棋盤密碼,原因為該密碼將26個字母放在5×5的方格里,i,j放在一個格子里,具體情況如下表所示1 2 3 4 51 a b c d e2 f g h i,j k3 l m n o p4 q r s t u5 v w x y z這樣,每個字母就對應了由兩個數(shù)構成的字符αβ,α是該字母所在行的標號,β是列標號。
3、如c對應13,s對應43等。
4、如果接收到密文為43 15 13 45 42 15 32 15 43 43 11 22 15則對應的明文即為secure message。
5、另一種具有代表性的密碼是凱撒密碼。
6、它是將英文字母向前推移k位。
7、如k=5,則密文字母與明文與如下對應關系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 zF G H I J K L M N O P Q R S T U V W X Y Z A B C D E于是對應于明文secure message,可得密文為XJHZWJRJXXFLJ。
8、此時,k就是密鑰。
9、為了傳送方便,可以將26個字母一一對應于從0到25的26個整數(shù)。
10、如a對1,b對2,……,y對25,z對0。
11、這樣凱撒加密變換實際就是一個同余式c≡m+k mod 26其中m是明文字母對應的數(shù),c是與明文對應的密文的數(shù)。
12、隨后,為了提高凱撒密碼的安全性,人們對凱撒密碼進行了改進。
13、選取k,b作為兩個參數(shù),其中要求k與26互素,明文與密文的對應規(guī)則為c≡km+b mod 26可以看出,k=1就是前面提到的凱撒密碼。
14、于是這種加密變換是凱撒野加密變換的推廣,并且其保密程度也比凱撒密碼高。
15、以上介紹的密碼體制都屬于單表置換。
16、意思是一個明文字母對應的密文字母是確定的。
17、根據(jù)這個特點,利用頻率分析可以對這樣的密碼體制進行有效的攻擊。
18、方法是在大量的書籍、報刊和文章中,統(tǒng)計各個字母出現(xiàn)的頻率。
19、例如,e出現(xiàn)的次數(shù)最多,其次是t,a,o,I等等。
20、破譯者通過對密文中各字母出現(xiàn)頻率的分析,結合自然語言的字母頻率特征,就可以將該密碼體制破譯。
21、鑒于單表置換密碼體制具有這樣的攻擊弱點,人們自然就會想辦法對其進行改進,來彌補這個弱點,增加抗攻擊能力。
22、法國密碼學家維吉尼亞于1586年提出一個種多表式密碼,即一個明文字母可以表示成多個密文字母。
23、其原理是這樣的:給出密鑰K=k[1]k[2]…k[n],若明文為M=m[1]m[2]…m[n],則對應的密文為C=c[1]c[2]…c[n]。
24、其中C[i]=(m[i]+k[i]) mod 26。
25、例如,若明文M為data security,密鑰k=best,將明文分解為長為4的序列data security,對每4個字母,用k=best加密后得密文為C=EELT TIUN SMLR從中可以看出,當K為一個字母時,就是凱撒密碼。
26、而且容易看出,K越長,保密程度就越高。
27、顯然這樣的密碼體制比單表置換密碼體制具有更強的抗攻擊能力,而且其加密、解密均可用所謂的維吉尼亞方陣來進行,從而在操作上簡單易行。
28、該密碼可用所謂的維吉尼亞方陣來進行,從而在操作上簡單易行。
29、該密碼曾被認為是三百年內破譯不了的密碼,因而這種密碼在今天仍被使用著。
30、古典密碼的發(fā)展已有悠久的歷史了。
31、盡管這些密碼大都比較簡單,但它在今天仍有其參考價值。
本文分享完畢,希望對大家有所幫助。
標簽:
免責聲明:本文由用戶上傳,與本網(wǎng)站立場無關。財經信息僅供讀者參考,并不構成投資建議。投資者據(jù)此操作,風險自擔。 如有侵權請聯(lián)系刪除!