分組演算法有
㈠ 數據分組演算法設計
一種簡單方法是首先把80個數字從小到大排列,有現成的排列演算法,套用就行了
然後設置一個20次的循環,第一次取數組的1,2,79,80
第二次取3,4,77,78
以此類推
這樣如果80個數字是等差數列,那麼每組數字和值一定相同
不是等差數列,和值也會很類似
㈡ 04.現代常見分組加密演算法
1.Triple DES
2.IDEA
3.RC6
4.RC6
5.ASE
其實就是有3個密鑰k1,k2,k3,如果m表示明文,C表示密文,他們是這樣操作的:
DES1(m)=>C1
DES2(C1)=>C2
DES3(C3)=>C3
DES密鑰太短是其短板,3DES密鑰長度為k1+k2+k3 = 56*3 = 168bit
既然都Triple自然就有double,為什麼不用Double DES呢?
我們先來看下double des:
首先根據DESC密鑰太短的特點,的確是有了double desc,可用中間相遇攻擊破解(老師坑爹沒講什麼是中間相遇攻擊,日後補上),經過加密有2^64個可能的密文,密鑰長度為112bit(56+56),所以選擇密鑰的可能性達到2^112,於是對給定一個明文P加密成密文有2^112/2^64 = 2^48種可能,對於給定兩個明文密文對,虛警率降為2^(46-64)=2^-16,用中間相遇攻擊大概可用2^57 可暴力破解
那麼如何解決中間相遇攻擊呢?於是設計出了Triple des,它一共有四種模式:
1.DES-EEE3:3個不同的密鑰,順序用三次加密演算法
2.DES-EDE3:3個不同的密鑰, 加密-解密-加密
3.DES-EEE2:兩個不同的密鑰,k1,k2,k1,依次k1加密,k2加密,k1加密
4.DES-EDE2:兩個不同的密鑰,k1,k2,k1,依次k1加密,k2解密,k1加密
這里我們著重介紹第四種,DES-EDE2
同DES相比有如下特點:
1.3DES安全性高,密鑰長度大於DES
2.3DES可抵抗中間相遇攻擊
3.可向下兼容,我們設k2=k1,則密鑰均為k1,上圖中A過程加密後在B過程解密,最後在C過程又加密,相當於僅用k1加密一次,兼容了DES,解密同理
4.相比於DES效率低些
要求:1.效率比3DES高
2.至少和3DES一樣安全,數據分組長度128bit
它有如下特點:
1.不屬於Feistel結構,屬於SP網路
2.加密,解密相似但不對稱
3.支持128/32=Nb數據塊大小
4.支持128/192/256(/32=Nk)密鑰長度
5.結構簡單速度快
什麼是Feistel結構?
Feistel 的優點在於:由於它是對稱的密碼結構,所以對信息的加密和解密的過程就極為相似,甚至完全一樣。這就使得在實施的過程中,對編碼量和線路傳輸的要求就減少了幾乎一半
什麼是SP網路結構?
在這種密碼的每一輪中,輪輸入首先被一個由子密鑰控制的可逆函數S作用,然後再對所得結果用置換(或可逆線性變換)P作用,S和P分別被稱為混亂層和擴散層,主要起混亂和擴散作用
通過置換和替換迭代加密(最後一輪沒有列混淆)