『壹』 什麼是古典密碼
乘積和迭代:多種加密方法混合使用 對一個加密函數多次迭代 古典密碼編碼方法: 置換,代替,加法 把明文中的字母重新排列,字母本身不變,但其位置改變了,這樣編成的密碼稱為置換密碼。 最簡單的置換密碼是把明文中的字母順序倒過來,然後截成固定長度的字母組作為密⑴單表代替密碼
①、加法密碼
A和B是有 n個字母的字母表。 定義一個由A到B的映射:f:A→B f(ai )= bi=aj j=i+k mod n 加法密碼是用明文字母在字母表中後面第 k個字母來代替。 K=3 時是著名的凱撒密碼。 愷撒密碼——歷史上第一個密碼技術 「愷撒密碼」是古羅馬愷撒大帝在營救西塞羅戰役時用來保護重要軍情的加密系統(高盧戰記)。
②、乘法密碼
?A和B是有n個字母的字母表。?定義一個由A到B的映射:f:A→B f(ai )= bi= aj j=ik mod n 其中,(n,k)=1。?注意:只有(n,k)=1,才能正確解密。
③密鑰片語代替密碼
隨機選一個詞語,去掉其中的重復字母,寫到矩陣的第一行,從明文字母表中去掉這第一行的字母,其餘字母順序寫入矩陣。然後按列取出字母構成密文字母表
編輯本段⑵、多表代替密碼
?單表代替密碼的安全性不高,一個原因是一個明文字母只由一個密文字母代替。?構造多個密文字母表,?在密鑰的控制下用相應密文字母表中的一個字母來代替明文字母表中的一個字母。一個明文字母有多種代替。? Vigenere密碼:著名的多表代替密碼
(3)、代數密碼:
① Vernam密碼
明文、密文、密鑰都表示為二進制位: M=m1,m2,… ,mn K =k1,k2,… ,kn C =c1,c2,… ,cn
② 加密
c1= mi⊕ ki ,i=1,2,… ,n 解密 : m1= ci⊕ ki ,i=1,2,… ,n
③
因為加解密演算法是模2加,所以稱為代數密碼。
④對合運算
f=f-1,模 2加運算是對合運算。 密碼演算法是對和運算,則加密演算法=解密演算法,工程實現工作量減半。
⑤ Vernam密碼經不起已知明文攻擊
。
⑥
如果密鑰序列有重復,則Vernam密碼是不安全的。
⑦一種極端情況
一次一密 ? 密鑰是隨機序列。 ? 密鑰至少和明文一樣長。 ? 一個密鑰只用一次。
⑧
一次一密是絕對不可破譯的,但它是不實用的。
⑨
一次一密給密碼設計指出一個方向,人們用序列密碼逼近一次一密。
『貳』 古典加密技術中最基本的兩種演算法是什麼
替代演算法和置換移位法。
1.替代演算法
替代演算法指的是明文的字母由其他字母或數字或符號所代替。最著名的替代演算法是愷撒密碼。凱撒密碼的原理很簡單,其實就是單字母替換。我們看一個簡單的例子:
明文:abcdefghijklmnopq
密文:defghijklmnopqrst
若明文為student,對應的密文則為vwxghqw 。在這個一一對應的演算法中,愷撒密碼將字母表用了一種順序替代的方法來進行加密,此時密鑰為3,即每個字母順序推後3個。由於英文字母為26個,因此愷撒密碼僅有26個可能的密鑰,非常不安全。
為了加強安全性,人們想出了更進一步的方法:替代時不是有規律的,而是隨機生成一個對照表。
明文:abcdefghijklmnopqrstuvwxyz
密文:xnyahpogzqwbtsflrcvmuekjdI
此時,若明文為student,對應的密文則為 vmuahsm 。這種情況下,解密函數是上面這個替代對照表的一個逆置換。
不過,有更好的加密手段,就會有更好的解密手段。而且無論怎樣的改變字母表中的字母順序,密碼都有可能被人破解。由於英文單詞中各字母出現的頻度是不一樣的,通過對字母頻度的統計就可以很容易的對替換密碼進行破譯。為了抗擊字母頻度分析,隨後產生了以置換移位法為主要加密手段的加密方法。
2.置換移位法
使用置換移位法的最著名的一種密碼稱為維吉尼亞密碼。它以置換移位為基礎的周期替換密碼。
前面介紹的替代演算法中,針對所有的明文字母,密鑰要麼是一個唯一的數,要麼則是完全無規律可尋的。在維吉尼亞密碼中,加密密鑰是一個可被任意指定的字元串。加密密鑰字元依次逐個作用於明文信息字元。明文信息長度往往會大於密鑰字元串長度,而明文的每一個字元都需要有一個對應的密鑰字元,因此密鑰就需要不斷循環,直至明文每一個字元都對應一個密鑰字元。對密鑰字元,我們規定密鑰字母a,b,c,d……y,z對應的數字n為:0,1,2,3……24,25。每個明文字元首先找到對應的密鑰字元,然後根據英文字母表按照密鑰字元對應的數字n向後順序推後n個字母,即可得到明文字元對應的密文字元。
如果密鑰字為deceptive , 明文為 wearediscoveredsaveyourself,則加密的過程為:
明文: wearediscoveredsaveyourself
密鑰: deceptivedeceptivedeceptive
密文: zicvtwqngrzgvtwavzhcqyglmgj
對明文中的第一個字元w,對應的密鑰字元為d,它對應需要向後推3個字母,w,x,y,z,因此其對應的密文字元為z。上面的加密過程中,可以清晰的看到,密鑰deceptive被重復使用。
古典密碼體制將數學的方法引入到密碼分析和研究中。這為現代加密技術的形成和發展奠定了堅實的基礎。
『叄』 為什麼說加法密碼、乘法密碼、仿射密碼、置換密碼、Hill密碼以及Vigenere密碼
加法密碼就是真典密碼學中的愷撒密碼格式是:密文=(明文+密鑰)mod26,剩法密碼是愷撒密碼發展出來,格式是:密文=明文x實鑰mon26;置換密碼就是在簡單的縱行換位密碼中,明文以固定的寬度水平的寫在一張圖表紙上,密文按垂直方向讀出,解密就是密文按相同的寬度垂直的寫在圖表紙上,然後水平的讀出明文。希爾密碼(Hill Cipher)是運用基本矩陣論原理的替換密碼,由Lester S. Hill在1929年發明。每個字母當作26進制數字:A=0, B=1, C=2... 一串字母當成n維向量,跟一個n×n的矩陣相乘,再將得出的結果MOD26;Vigenere是愷撒密碼演變而來。使用一系列凱撒密碼組成密碼字母表的加密演算法,屬於多表密碼的一種簡單形式。
有興趣可以了解一下古典密碼學,這裡面都有。
『肆』 古典加密演算法有哪些 古典加密演算法
世界上最早的一種密碼產生於公元前兩世紀。是由一位希臘人提出的,人們稱之為
棋盤密碼,原因為該密碼將26個字母放在5×5的方格里,i,j放在一個格子里,具體情
況如下表所示
1 2 3 4 5
1 a b c 搜索d e
2 f g h i,j k
3 l m n o p
4 q r s t u
5 v w x y z
這樣,每個字母就對應了由兩個數構成的字元αβ,α是該字母所在行的標號,β是列
標號。如c對應13,s對應43等。如果接收到密文為
43 15 13 45 42 15 32 15 43 43 11 22 15
則對應的明文即為secure message。
另一種具有代表性的密碼是凱撒密碼。它是將英文字母向前推移k位。如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 z
F 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。此時,k就是密鑰。為了
傳送方便,可以將26個字母一一對應於從0到25的26個整數。如a對1,b對2,……,y對
25,z對0。這樣凱撒加密變換實際就是一個同餘式
c≡m+k mod 26
其中m是明文字母對應的數,c是與明文對應的密文的數。
隨後,為了提高凱撒密碼的安全性,人們對凱撒密碼進行了改進。選取k,b作為兩
個參數,其中要求k與26互素,明文與密文的對應規則為
c≡km+b mod 26
可以看出,k=1就是前面提到的凱撒密碼。於是這種加密變換是凱撒野加密變換的
推廣,並且其保密程度也比凱撒密碼高。
以上介紹的密碼體制都屬於單表置換。意思是一個明文字母對應的密文字母是確定
的。根據這個特點,利用頻率分析可以對這樣的密碼體制進行有效的攻擊。方法是在大
量的書籍、報刊和文章中,統計各個字母出現的頻率。例如,e出現的次數最多,其次
是t,a,o,I等等。破譯者通過對密文中各字母出現頻率的分析,結合自然語言的字母頻
率特徵,就可以將該密碼體制破譯。
鑒於單表置換密碼體制具有這樣的攻擊弱點,人們自然就會想辦法對其進行改進,
來彌補這個弱點,增加抗攻擊能力。法國密碼學家維吉尼亞於1586年提出一個種多表式
密碼,即一個明文字母可以表示成多個密文字母。其原理是這樣的:給出密鑰
K=k[1]k[2]…k[n],若明文為M=m[1]m[2]…m[n],則對應的密文為C=c[1]c[2]…c[n]。
其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M為data security,密鑰k=best,將明
文分解為長為4的序列data security,對每4個字母,用k=best加密後得密文為
C=EELT TIUN SMLR
從中可以看出,當K為一個字母時,就是凱撒密碼。而且容易看出,K越長,保密程
度就越高。顯然這樣的密碼體制比單表置換密碼體制具有更強的抗攻擊能力,而且其加
密、解密均可用所謂的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼可用所謂
的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼曾被認為是三百年內破譯不了
的密碼,因而這種密碼在今天仍被使用著。
古典密碼的發展已有悠久的歷史了。盡管這些密碼大都比較簡單,但它在今天仍有
其參考價值。世界上最早的一種密碼產生於公元前兩世紀。是由一位希臘人提出的,人們稱之為
棋盤密碼,原因為該密碼將26個字母放在5×5的方格里,i,j放在一個格子里,具體情
況如下表所示
1 2 3 4 5
1 a b c 搜索d e
2 f g h i,j k
3 l m n o p
4 q r s t u
5 v w x y z
這樣,每個字母就對應了由兩個數構成的字元αβ,α是該字母所在行的標號,β是列
標號。如c對應13,s對應43等。如果接收到密文為
43 15 13 45 42 15 32 15 43 43 11 22 15
則對應的明文即為secure message。
另一種具有代表性的密碼是凱撒密碼。它是將英文字母向前推移k位。如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 z
F 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。此時,k就是密鑰。為了
傳送方便,可以將26個字母一一對應於從0到25的26個整數。如a對1,b對2,……,y對
25,z對0。這樣凱撒加密變換實際就是一個同餘式
c≡m+k mod 26
其中m是明文字母對應的數,c是與明文對應的密文的數。
隨後,為了提高凱撒密碼的安全性,人們對凱撒密碼進行了改進。選取k,b作為兩
個參數,其中要求k與26互素,明文與密文的對應規則為
c≡km+b mod 26
可以看出,k=1就是前面提到的凱撒密碼。於是這種加密變換是凱撒野加密變換的
推廣,並且其保密程度也比凱撒密碼高。
以上介紹的密碼體制都屬於單表置換。意思是一個明文字母對應的密文字母是確定
的。根據這個特點,利用頻率分析可以對這樣的密碼體制進行有效的攻擊。方法是在大
量的書籍、報刊和文章中,統計各個字母出現的頻率。例如,e出現的次數最多,其次
是t,a,o,I等等。破譯者通過對密文中各字母出現頻率的分析,結合自然語言的字母頻
率特徵,就可以將該密碼體制破譯。
鑒於單表置換密碼體制具有這樣的攻擊弱點,人們自然就會想辦法對其進行改進,
來彌補這個弱點,增加抗攻擊能力。法國密碼學家維吉尼亞於1586年提出一個種多表式
密碼,即一個明文字母可以表示成多個密文字母。其原理是這樣的:給出密鑰
K=k[1]k[2]…k[n],若明文為M=m[1]m[2]…m[n],則對應的密文為C=c[1]c[2]…c[n]。
其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M為data security,密鑰k=best,將明
文分解為長為4的序列data security,對每4個字母,用k=best加密後得密文為
C=EELT TIUN SMLR
從中可以看出,當K為一個字母時,就是凱撒密碼。而且容易看出,K越長,保密程
度就越高。顯然這樣的密碼體制比單表置換密碼體制具有更強的抗攻擊能力,而且其加
密、解密均可用所謂的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼可用所謂
的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼曾被認為是三百年內破譯不了
的密碼,因而這種密碼在今天仍被使用著。
古典密碼的發展已有悠久的歷史了。盡管這些密碼大都比較簡單,但它在今天仍有
其參考價值。
『伍』 計算機密碼學定義
一個密碼系統是整個安全系統的一部分,由五部分組成(M,C,K,E,D):
1、明文空間M:全體明文的集合,明文(Plaintext):偽裝前的原始數據。
2、密文空間C:全體密文的集合,密文(Ciphertext):偽裝後的數據。
3、密鑰空間K:全體密鑰的集合,K = < Ke,Kd >,密鑰(Key):加密和解密分別在加密密鑰和解密密鑰的控制下進行。
4、加密演算法集合E,加密變換,ek:M→C,加密(Encryption):偽裝的過程。
5、解密演算法集合D,解密變換,dk:C→M,解密(Decryption):去掉密文的偽裝恢復出明文的過程。
加密演算法需滿足兩條准則之一,滿足兩個准則的加密演算法稱為計算上安全。
1、破譯密文的代價超過被加密信息的價值。
2、破譯密文所花的時間超過信息的有用期。
信息安全的四個要求、目標:
1、機密性:確保信息在發信方和收信方之間傳遞,而不會被不可信的第三方知道。
2、完整性:保證所接收的消息未經復制、插入、篡改、重排或重放,即保證接收的消息和所發出的消息完全一樣,對已毀壞的數據進行恢復。
3、認證性:確保接收者能夠確認消息發送者的身份沒有經過篡改。
4、不可否認性:用於防止通信雙方中的某一方對所傳輸消 息的否認,消息發出後,接收者能夠證明這一消息的確是由通信的另一方發出,消息被接收後,發出者能夠證明這一消息的確已被通信的另一方接收。
5、可用性:是指授權主體在需要信息時能及時得到服務的能力。
數學基礎
素數與合數定義:整數p是一個素數, 如果它只能被±p,±1整除。素數的個數是無限的,全體素數的集合記為P。如果整數n不是素數,則它是一個合數。
模n同餘定義:若a mod n= b mod n,則稱整數a和b模n同餘。
求最大公因子GCD的Euclidean演算法(輾轉相除法):
Step 1: r0 =a and r1 =b;
Step 2: r0 =q1r1+r2; r1 =q2r2+r3; …… ;rn-2 = qn-1rn-1+rn; until rn=0 and rn-1 ≠ 0;
Step 3: rn-1 = gcd(a,b)。
中國剩餘定理(Chinese Remainder Theorem, CRT):
設 n1, n2, …, nk 為兩兩互素的正整數,gcd(ni,nj)=1(ij),a1,a2,…,ak為整數,則同餘方程組::
x = a1 mod n1
x = a2 mod n2
……
x = ak mod nk
有模n=n1n2…nk的惟一解x。
特性:在模n(=n1n2…nk)下可將非常大的數x由一組小數(a1,a2,…,ak)表達 x →(a1,a2,…,ak)。
中國古代命題:「韓信點兵」、「孫子定理」、求一術(沈括)「鬼谷算」(周密)、「隔墻算」(周密)、「剪管術」(楊輝)、「秦王暗點兵」、「物不知數」。中國剩餘定理:孫子剩餘定理、物不知數、數論的重要命題。
費馬小定理:設p是素數,由於對任意的a(0<a<p),有gcd(a,p)=1,則 a p-1 = 1 mod p。
『陸』 密碼的種類
密碼種類:
1、字母法
2、代數法
3、文字法
4、鍵盤法
5、密碼通信卡
6、埃特巴什碼
7、鏡像字跡
8、運算式密碼一式
9、運算式密碼二式
10、運算式密碼三式
11、運算式密碼四式
12、運算式密碼五式
13、四角密碼
14、字母替換
15、歷換法
16、換音詞
17、凱撒方陣
18、換位密碼
19、斯巴達圓棒
20、數字解經法
21、曾碼漢字
『柒』 不屬於經典密碼體制的是
不屬於經典密碼體制的是分組密碼。
經典密碼體制,又稱古典密碼體制,包括以下內容:
簡單代替密碼(simple substitution cipher),又稱單表密碼(monoalphabetic cipher):
明文的相同字元用相應的一個密文字元代替
多表密碼(ployalphabetic cipher):
明文中的相同字元映射到密文空間的字元不唯一,有多個。
單表代替是密碼學中最基礎的一種加密方式。
在加密時用一張自製字母表上的字母來代
替明文上的字母(比如說A——Z,B——D)來達到加密。移位密碼也屬於單表代替,只不
過比較有規律,相當於集體向前或向後。這種加密方法最容易被破解。破解方法為統計法。
在英語中,最常用的字母為E,所以在密文中代替E 的字母出現的頻率也最高,由此便可破解。
一般單表替代密碼演算法特點:
▲密鑰空間
K很大,|K|=26!=4×1026 ,破譯者窮舉搜索計算不可行,
1微秒試一個密鑰,遍歷全部密鑰需要1013年。
▲移位密碼體制是替換密碼體制的一個特例,它僅含26個置換做為密鑰空間。
密鑰π不便記憶。
▲針對一般替換密碼密鑰π不便記憶的問題,又衍生出了各種形式單表替代密碼。
多表代替密碼:由多個簡單的代替密碼構成,例如,可能有5個被使用的不同的簡單代
替密碼,單獨的一個字元用來改變明文的每個字元的位置。
多表替代密碼的特點是使用了兩個或兩個以上的替代表。著名的維吉尼亞密碼和Hill密碼等均是多表替代密碼。
『捌』 古典密碼兩種加密方式
古典加密演算法:置換密碼
置換密碼演算法的原理是不改變明文字元,只將字元在明文中的排列順序改變,從而實現明文信息的加密。置換密碼有時又稱為換位密碼。
矩陣換位法是實現置換密碼的一種常用方法。它將明文中的字母按照給的順序安排在一個矩陣中,然後用根據密鑰提供的順序重新組合矩陣中字母,從而形成密文。例如,明文為attack
begins
at
five,密鑰為cipher,將明文按照每行6列的形式排在矩陣中,形成如下形式:
a
t
t
a
c
k
b
e
g
i
n
s
a
t
f
i
v
e
根據密鑰cipher中各字母在字母表中出現的先後順序,給定一個置換:
1
2
3
4
5
6
f
=
1
4
5
3
2
6
根據上面的置換,將原有矩陣中的字母按照第1列,第4列,第5列,第3列,第2列,第6列的順序排列,則有下面形式:
a
a
c
t
t
k
b
i
n
g
e
s
a
i
v
f
t
e
從而得到密文:aacttkbingesaivfte
『玖』 古典密碼安全演算法有哪些
世界上最早的一種密碼產生於公元前兩世紀。是由一位希臘人提出的,人們稱之為
棋盤密碼,原因為該密碼將26個字母放在5×5的方格里,i,j放在一個格子里,具體情
況如下表所示
1 2 3 4 5
1 a b c d e
2 f g h i,j k
3 l m n o p
4 q r s t u
5 v w x y z
這樣,每個字母就對應了由兩個數構成的字元αβ,α是該字母所在行的標號,β是列
標號。如c對應13,s對應43等。如果接收到密文為
43 15 13 45 42 15 32 15 43 43 11 22 15
則對應的明文即為secure message。
另一種具有代表性的密碼是凱撒密碼。它是將英文字母向前推移k位。如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 z
F 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。此時,k就是密鑰。為了
傳送方便,可以將26個字母一一對應於從0到25的26個整數。如a對1,b對2,……,y對
25,z對0。這樣凱撒加密變換實際就是一個同餘式
c≡m+k mod 26
其中m是明文字母對應的數,c是與明文對應的密文的數。
隨後,為了提高凱撒密碼的安全性,人們對凱撒密碼進行了改進。選取k,b作為兩
個參數,其中要求k與26互素,明文與密文的對應規則為
c≡km+b mod 26
可以看出,k=1就是前面提到的凱撒密碼。於是這種加密變換是凱撒野加密變換的
推廣,並且其保密程度也比凱撒密碼高。
以上介紹的密碼體制都屬於單表置換。意思是一個明文字母對應的密文字母是確定
的。根據這個特點,利用頻率分析可以對這樣的密碼體制進行有效的攻擊。方法是在大
量的書籍、報刊和文章中,統計各個字母出現的頻率。例如,e出現的次數最多,其次
是t,a,o,I等等。破譯者通過對密文中各字母出現頻率的分析,結合自然語言的字母頻
率特徵,就可以將該密碼體制破譯。
鑒於單表置換密碼體制具有這樣的攻擊弱點,人們自然就會想辦法對其進行改進,
來彌補這個弱點,增加抗攻擊能力。法國密碼學家維吉尼亞於1586年提出一個種多表式
密碼,即一個明文字母可以表示成多個密文字母。其原理是這樣的:給出密鑰
K=k[1]k[2]…k[n],若明文為M=m[1]m[2]…m[n],則對應的密文為C=c[1]c[2]…c[n]。
其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M為data security,密鑰k=best,將明
文分解為長為4的序列data security,對每4個字母,用k=best加密後得密文為
C=EELT TIUN SMLR
從中可以看出,當K為一個字母時,就是凱撒密碼。而且容易看出,K越長,保密程
度就越高。顯然這樣的密碼體制比單表置換密碼體制具有更強的抗攻擊能力,而且其加
密、解密均可用所謂的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼可用所謂
的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼曾被認為是三百年內破譯不了
的密碼,因而這種密碼在今天仍被使用著。
古典密碼的發展已有悠久的歷史了。盡管這些密碼大都比較簡單,但它在今天仍有
其參考價值。