-
PBE加密算法
查看全部 -
常用對稱加密算法:
DES
AES
PBE
IDEA
查看全部 -
對稱加密的特點:
加密秘鑰=解密秘鑰
查看全部 -
PBE算法流程
查看全部 -
AES算法流程
查看全部 -
DES算法流程
查看全部 -
PBE>AES>3DES>DES
查看全部 -
PBE = MD5 + DES
查看全部 -
AES是DES的高級替代
查看全部 -
fdasfdsfdfa
查看全部 -
aaaaa
查看全部 -
對稱加密算法
查看全部 -
。。。。。
查看全部 -
之前的筆記講解了key 接下來是input的64bit. 為了方便 我還是把原理圖放出來吧
64bit input會經(jīng)過IP表格的操作 拆分成L和R兩個32位的串 其實就是對號入座而已 并不難理解例如:Plaintext=123456ABCD132536
IP之后就是L0=14A7D678 R0=18CA18AD(運算都是以16進制的原文對應的二進制為基礎(chǔ)進行運算)
之后L的操作比較少? 主要集中在R上面 然后R的所有操作有個名詞 Feistel function(名字好像是這個) 就是指的藍色區(qū)域
接下來是Expansion function 這個函數(shù)的主要操作就是把32位的R擴展成48位
例如AABBCCDD 32bit的16進制序列
1010(A) 1010(A)...... 1101(D)
我們要做的就是首尾相連? 例如第一個A就會擴展成110101(第一位是D的最后一位 最后一位是第二個A的第一位)? ? 第二個A:010101(第一位是A的最后一位 最后一位是B的第一位)
以上操作后我們就會得到48bit的R? 然后和key進行XOR運算 這個大家都懂 就不說了輪到S-box的48變32
我們繼續(xù)用上面的例子110101? 加粗的1010為column 11為row 在box中找到對應的10進制數(shù)字再換成16進制即可 這時結(jié)果是3:0011? 或者參考圖中例子也可以這樣就從6*8 變成4*8的32bit
然后經(jīng)過feistel最后的P表格操作? 得出的新序列R再次和之前的L進行XOR運算? 從而得出R1,即第一次變換后的R1(按照上面的例子來算的話 R1=5A78E394)
從原理圖可以知道L的下一個序列就是原來的R 意思就是L1=R0 L2=R1 如此類推 完成16次循環(huán).
最后的最后 IP-1表格操作,對號入座 得到最終的64bit(L+R)
到此DES的大概流程和原理就完了 DES的流程也不算難理解,多加思考還是能明白的....只是網(wǎng)上好像還比較少完整的解析,所以就無聊地寫了一下.....筆記純手打 可能會有錯誤或者理解不到位的地方? 歡迎指正討論 還有不懂的地方可以私信我 謝謝 希望大家學習愉快~~查看全部 -
課程中沒有講到DES的原理 我相信點進來的同學們應該也不僅僅滿足于API的使用吧 而且知道了原理后我相信對理解代碼肯定也會有更多的幫助 我就寫成筆記分享一下,順便當作復習 希望能幫到大家.
對稱加密算法也分成兩類:Stream和Block? ?(大家熟知的DES AES都屬于Block)
這個就是DES原理圖 我從某個課件中截取下來的 首先從Key開始吧
Key:為什么是64bit呢?據(jù)說好像是發(fā)明的那些大佬們定下的標準- -
64bit能夠表示16個16進制的數(shù)(4個二進制表示一個16進制),所以這個key input的例子就可以是這樣:AABB09182736CCDD
然后我們要做的就是將他變成二進制 例如
1 0 1 0(A) 1 0 1 0(A)
1 0 1 1(B) 1 0 1 1(B)............
如此類推寫成一個8*8的表格 并且從1-64 第一行開始左往右這樣編號
接下來會經(jīng)過一個PC-1的表,這個PC-1的操作就是將8,16,24,32,40,48,56,64這8個位上的數(shù)字去除
從而key序列就只有56位了然后將原來64位的序列分成C D兩個串 按照上面的號碼對號入座重新組成C D
例如原57 變成C的1 49變成C的2 如此類推??接下來的操作就是分布左移兩個字符串C D
理論上key round要完成16次 所以是1-16 每個round就要左移對應的次數(shù).
例如6th round:1+1+2+2+2+2=10 所以C 和 D就要左移10次? 每個round都要 所以每個round的key都是不一樣的..
移動完之后只需要重新C+D合起來 這時仍然是56位 再經(jīng)過PC-2表的操作 相應對號入座就會得出一個48位的key.
Key generation的步驟就是這樣 每個round都會重新生成key 循環(huán)16次結(jié)束
以上筆記純手打? 可能會有錯誤的地方 歡迎指正或者補充... 謝謝查看全部
舉報