密碼學
概述
如何將信息進行加密,傳送到接收方,接收方在進行解密獲取信息,中間即使有竊聽者竊聽到信息也可解密破解。
密碼學分類
- 密碼編輯學(保密)
- 密碼分析學(破譯)
- 該破譯與傳統的黑客技術有一定的區別
傳統密碼體質
-
密碼系統圖示
-
密碼系統定義
- 一個密碼系統是一個五元組(P,C,K,E,D),
- P:明文集
- C:密文集
- K:密鑰集
- E:加密算法集
- D:解密算法集
- 密碼學 Cryptography
- 加密 Encryption
- 解密 Decryption
置換密碼
- 置換密碼是根據一定的規划重新排列明文,以便打破明文的結構特征,也稱為換位密碼。
- 常見有兩種:
- 列置換密碼
- 周期置換密碼
1.置換定義
在限集X上的運算:X->X若是雙射函數,則稱其為一個置換。
M=(1 2 3 4 5 6 7 8
2 5 3 6 1 8 4 7)=(1 2 5)(3)(4 6 8 7)
逆置換
M^-1=(1 2 3 4 5 6 7 8
2 5 3 6 1 8 4 7)^-1=(2 5 3 6 1 8 4 7
1 2 3 4 5 6 7 8)
=(1 2 3 4 5 6 7 8
5 1 3 7 2 4 8 6)=(1 5 2)(3)(4 7 8 6)
2.置換密碼
- 加密:
- 解密:
- 攻擊:
- 窮舉密鑰進行攻擊知道有意義的明文為止
3.周期置換密碼
- 周期置換密碼是將明文串P按照固定長度m分組,然后對每一組按照1,2,……,m的某個置換重新排列位置,從而得到密文C。
- 解密時將密文按照長度m分組,對每組按照逆置換重新排列,從而得到明文m。
- 明文M=abcdefg,分組長度m=4,密鑰=(1 3)(2 4)則密文C=cdabghef
m=(1 2 3 4
3 4 1 2)
m1=(a b c d)->(c d a b)
m2=(e f g h)->(g h e f)
C=(cdabghef)
4.列置換密碼
- 加密:
- 將明文P以固定分組寬度m按行寫出,每行m個字符,不足部分用空格代替,設有n行,得n行m列字符矩陣M;
- 按1,2,……,m的某個位置交換列的位置次序,得字符矩陣M';
- 將M'按1,2,……,m列的順序依次獨處密文序列C;
P=abcdefgh,分組寬為m=4,得2行4列矩陣M:
M=(a b c d
e f g h)
設置換x=(1 3)(2 4)
則M'=(c d a b
g h e f)
則密文序列C=cgdhaebf
解密:
- 將密文C以分組寬度m按照寫出字符矩陣,的n行m列M';
- 按1,2,……,m的逆置換交換列的位置次序,得字符矩陣M;
- 將M按行的順序依次獨處明文序列P。
密文序列C=cgdhaebf
M'=(c d a b
g h e f)
逆置換x'=(1 3)(2 4)
M=(a b c d
e f g h)
注:
- 置換摩瑪、周期置換密碼、列置換密碼三種加密方法本質上相同;
- 三種加密方法都可以通過窮舉密鑰來進行攻擊
- 明文字母打亂后變成密文字母,字母相同不變,由密文中特殊的字母組成由意義的單詞可去推測密鑰的部分信息。