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