1. des是什麼密碼體制
對稱密碼體制是從傳統的簡單換位發展而來的。其主要特點是:加解密雙方在加解密過程中要使用完全相同的一個密鑰。使用最廣泛的是DES(Data Encryption Standard)密碼演算法。
從1977年美國頒布DES密碼演算法作為美國數據加密標准以來,對稱密鑰密碼體製得到了廣泛的應用。對稱密鑰密碼體制從加密模式上可分為序列密碼和分組密碼兩大類。
1.序列密碼
序列密碼一直是作為軍事和外交場合使用的主要密碼技術之一。它的主要原理是:通過有限狀態機產生性能優良的偽隨機序列,使用該序列加密信息流,得到密文序列。所以,序列密碼演算法的安全強度完全決定於它所產生的偽隨機序列的好壞。產生好的序列密碼的主要途徑之一是利用移位寄存器產生偽隨機序列。目前要求寄存器的階數大於100階,才能保證必要的安全。序列密碼的優點是錯誤擴展小、速度快、利於同步、安全程度高。
2.分組密碼
分組密碼的工作方式是將明文分成固定長度的組,如64比特一組,用同一密鑰和演算法對每一塊加密,輸出也是固定長度的密文。
對稱密鑰密碼體制存在的最主要問題是:由於加/解密雙方都要使用相同的密鑰,因此在發送、接收數據之前,必須完成密鑰的分發。所以,密鑰的分發便成了該加密體系中的最薄弱,也是風險最大的環節,所使用的手段均很難保障安全地完成此項工作。這樣,密鑰更新的周期加長,給他人破譯密鑰提供了機會。在歷史上,破獲他國情報不外乎兩種方式:一種是在敵方更換「密碼本」的過程中截獲對方密碼本;另一種是敵人密鑰變動周期太長,被長期跟蹤,找出規律從而被破解。在對稱演算法中,盡管由於密鑰強度增強,跟蹤找出規律破解密鑰的機會大大減小了,但密鑰分發的困難問題幾乎無法解決。例如,設有n方參與通信,若n方都採用同一個對稱密鑰,一旦密鑰被破解,整個體系就會崩潰;若採用不同的對稱密鑰則需n(n-1)個密鑰,密鑰數與參與通信人數的平方數成正比,可見,大系統密鑰的管理幾乎成為不可能。
然而,由於對稱密鑰密碼系統具有加解密速度快和安全強度高的優點,目前被越來越多地應用在軍事、外交以及商業等領域。
非對稱密鑰密碼體制
非對稱密鑰密碼體制,即公開密鑰密碼體制,是現代密碼學最重要的發明和進展。一般理解密碼學就是保護信息傳遞的機密性,但這僅僅是當今密碼學的一個方面。對信息發送與接收人的真實身份的驗證,對所發出/接收信息在事後的不可抵賴以及保障數據的完整性也是現代密碼學研究的另一個重要方面。公開密鑰密碼體制對這兩方面的問題都給出了出色的解答,並正在繼續產生許多新的思想和方案。
1976年,Diffie和Hellman為解決密鑰的分發與管理問題,在他們奠基性的工作「密碼學的新方向」一文中,提出一種密鑰交換協議,允許在不安全的媒體上通過通訊雙方交換信息,安全地傳送秘密密鑰。在此新思想的基礎上,很快出現了公開密鑰密碼體制。在該體制中,密鑰成對出現,一個為加密密鑰(即PK公開密鑰),另一個為解密密鑰(SK秘密密鑰),且不可能從其中一個推導出另一個。加密密鑰和解密密鑰不同,可將加密密鑰公之於眾,誰都可以使用;而解密密鑰只有解密人自己知道,用公共密鑰加密的信息只能用專用密鑰解密。由於公開密鑰演算法不需要聯機密鑰伺服器,密鑰分配協議簡單,所以極大地簡化了密鑰管理。除加密功能外,公鑰系統還可以提供數字簽名。目前,公開密鑰加密演算法主要有RSA、Fertezza、EIGama等。
迄今為止的所有公鑰密碼體系中,RSA系統是最著名、使用最廣泛的一種。RSA公開密鑰密碼系統是由R.Rivest、A.Shamir和L.Adleman三位教授於1977年提出的,RSA的取名就是來自於這三位發明者姓氏的第一個字母。
RSA演算法研製的最初目標是解決利用公開信道傳輸分發 DES 演算法的秘密密鑰的難題。而實際結果不但很好地解決了這個難題,還可利用 RSA 來完成對電文的數字簽名,以防止對電文的否認與抵賴,同時還可以利用數字簽名較容易地發現攻擊者對電文的非法篡改,從而保護數據信息的完整性。
公用密鑰的優點就在於:也許使用者並不認識某一實體,但只要其伺服器認為該實體的CA(即認證中心Certification Authority的縮寫)是可靠的,就可以進行安全通信,而這正是Web商務這樣的業務所要求的。例如使用信用卡購物,服務方對自己的資源可根據客戶 CA的發行機構的可靠程度來授權。目前國內外尚沒有可以被廣泛信賴的CA,而由外國公司充當CA在我國是非常危險的。
公開密鑰密碼體制較秘密密鑰密碼體制處理速度慢,因此,通常把這兩種技術
2. 商用密碼核心技術主要包括
商用密碼是指在商業領域中使用的密碼技術,通常被用於保護機密信息、確保數據安全性和保護隱私。商用密碼涉及許多核心技術,包括對稱密碼演算法、公鑰密碼演算法、哈希函數、數字簽名、加密協議等。
3. 世界上各種密碼的形式
1、二方密碼:
二方密碼(en:Two-square_cipher)比四方密碼用更少的矩陣。
得出加密矩陣的方法和四方密碼一樣。
例如用「example」和「keyword」作密匙,加密lp。首先找出第一個字母(L)在上方矩陣的位置,再找出第二個字母(P)在下方矩陣的位置:
E X A M P
L B C D F
G H I J K
N O R S T
U V W Y Z
K E Y W O
R D A B C
F G H I J
L M N P S
T U V X Z
在上方矩陣找第一個字母同行,第二個字母同列的字母;在下方矩陣找第一個字母同列,第二個字母同行的字母,那兩個字母就是加密的結果:
E X A M P
L B C D F
G H I J K
N O R S T
U V W Y Z
K E Y W O
R D A B C
F G H I J
L M N P S
T U V X Z
help me的加密結果:
he lp me
HE DL XW
這種加密法的弱點是若兩個字同列,便採用原來的字母,例如he便加密作HE。約有二成的內容都因此而暴露。
2、四方密碼
四方密碼用4個5×5的矩陣來加密。每個矩陣都有25個字母(通常會取消Q或將I,J視作同一樣,或改進為6×6的矩陣,加入10個數字)。
首先選擇兩個英文字作密匙,例如example和keyword。對於每一個密匙,將重復出現的字母去除,即example要轉成exampl,然後將每個字母順序放入矩陣,再將餘下的字母順序放入矩陣,便得出加密矩陣。
將這兩個加密矩陣放在右上角和左下角,餘下的兩個角放a到z順序的矩陣:
a b c d e E X A M P
f g h i j L B C D F
k l m n o G H I J K
p r s t u N O R S T
v w x y z U V W Y Z
K E Y WO a b c d e
R D A BC f g h i j
F G H I J k l m n o
L M N P S p r s t u
T U V X Z v w x y z
加密的步驟:
兩個字母一組地分開訊息:(例如hello world變成he ll ow or ld)
找出第一個字母在左上角矩陣的位置
a b c d e E X A M P
f g h i j L B C D F
k l m n o G H I J K
p r s t u N O R S T
v w x y z U V W Y Z
K E Y W O a b c d e
R D A B C f g h i j
F G H I J k l m n o
L M N P S p r s t u
T U V X Z v w x y z
同樣道理,找第二個字母在右下角矩陣的位置:
a b c d e E X A M P
f g h i j L B C D F
k l m n o G H I J K
p r s t u N O R S T
v w x y z U V W Y Z
K E Y W O a b c d e
R D A B C f g h i j
F G H I J k l m n o
L M N P S p r s t u
T U V X Z v w x y z
找右上角矩陣中,和第一個字母同行,第二個字母同列的字母:
a b c d e E X A M P
f g h i j L B C D F
k l m n o G H I J K
p r s t u NO R S T
v w x y z U V W Y Z
K E Y W O a b c d e
R D A B C f g h i j
F G H I J k l m n o
L M N P S p r s t u
T U V X Z v w x y z
找左下角矩陣中,和第一個字母同列,第二個字母同行的字母:
a b c d e E X A M P
f g h i j L B C D F
k l m n o G H I J K
p r s t u N O R S T
v w x y z U V W Y Z
K E Y W O a b c d e
R D A B C f g h i j
F G H I J k l m n o
L M N P S p r s t u
T U V X Z v w x y z
這兩個字母就是加密過的訊息。
he lp me ob iw an ke no bi的加密結果:
FY GM KY HO BX MF KK KI MD
3、三分密碼
首先隨意製造一個3個3×3的Polybius方格替代密碼,包括26個英文字母和一個符號。然後寫出要加密的訊息的三維坐標。訊息和坐標四個一列排起,再順序取橫行的數字,三個一組分開,將這三個數字當成坐標,找出對應的字母,便得到密文。
(3)密碼演算法英語擴展閱讀:
加密方法:
替換加密法:用一個字元替換另一個字元的加密方法。
換位加密法:重新排列明文中的字母位置的加密法。
回轉輪加密法:一種多碼加密法,它是用多個回轉輪,每個回轉輪實現單碼加密。這些回轉輪可以組合在一起,在每個字母加密後產生一種新的替換模式。
多碼加密法:一種加密法,其替換形式是:可以用多個字母來替換明文中的一個字母。
夾帶法:通過隱藏消息的存在來隱藏消息的方法。
4. 密碼學的專業術語
密鑰:分為加密密鑰和解密密鑰。
明文:沒有進行加密,能夠直接代表原文含義的信息。
密文:經過加密處理處理之後,隱藏原文含義的信息。
加密:將明文轉換成密文的實施過程。
解密:將密文轉換成明文的實施過程。
密碼演算法:密碼系統採用的加密方法和解密方法,隨著基於數學密碼技術的發展,加密方法一般稱為加密演算法,解密方法一般稱為解密演算法。
直到現代以前,密碼學幾乎專指加密(encryption)演算法:將普通信息(明文,plaintext)轉換成難以理解的資料(密文,ciphertext)的過程;解密(decryption)演算法則是其相反的過程:由密文轉換回明文;加解密包含了這兩種演算法,一般加密即同時指稱加密(encrypt或encipher)與解密(decrypt或decipher)的技術。
加解密的具體運作由兩部分決定:一個是演算法,另一個是密鑰。密鑰是一個用於加解密演算法的秘密參數,通常只有通訊者擁有。歷史上,密鑰通常未經認證或完整性測試而被直接使用在密碼機上。
密碼協議(cryptographic protocol)是使用密碼技術的通信協議(communication protocol)。近代密碼學者多認為除了傳統上的加解密演算法,密碼協議也一樣重要,兩者為密碼學研究的兩大課題。在英文中,cryptography和cryptology都可代表密碼學,前者又稱密碼術。但更嚴謹地說,前者(cryptography)指密碼技術的使用,而後者(cryptology)指研究密碼的學科,包含密碼術與密碼分析。密碼分析(cryptanalysis)是研究如何破解密碼學的學科。但在實際使用中,通常都稱密碼學(英文通常稱cryptography),而不具體區分其含義。
口語上,編碼(code)常意指加密或隱藏信息的各種方法。然而,在密碼學中,編碼有更特定的意義:它意指以碼字(code word)取代特定的明文。例如,以『蘋果派』(apple pie)替換『拂曉攻擊』(attack at dawn)。編碼已經不再被使用在嚴謹的密碼學,它在資訊理論或通訊原理上有更明確的意義。
在漢語口語中,電腦系統或網路使用的個人帳戶口令(password)也常被以密碼代稱,雖然口令亦屬密碼學研究的范圍,但學術上口令與密碼學中所稱的鑰匙(key)並不相同,即使兩者間常有密切的關連。