關於 3DES算法 以及 CBC模式 的加密過程原理圖,可參考書籍:圖解密碼技術 - 結城浩(她的個人網站)
需要注意的是,這裏有兩個更底層的過程沒拿出來講,那就是 DES 單元運算(加密 和 解密),後面會另發一篇文章專門展示。
加密數據 111111111111111122222222222222223333333333333333
祕鑰 112233445566778899887766554433221234567887654321
一
ICV 0000000000000000
DATA 1111111111111111
ICV 異或 DATA = A
密文分組一
DATA A
KEY 1122334455667788
KEY 加密 DATA = B( 05 E9 DC D7 52 67 84 26 )
密文分組二
DATA B
KEY 9988776655443322
KEY 解密 DATA = C( D6 1E 81 FE 78 52 12 1E )
密文分組三
DATA C
KEY 1234567887654321
KEY 加密 DATA = D( 93 C7 17 C3 7D 4F 46 E6 )
結論一:D = 最終加密結果的密文分組一
二
ICV D
DATA 2222222222222222
ICV 異或 DATA = E
密文分組一
DATA E
KEY 1122334455667788
KEY 加密 DATA = F( 8C 3E D7 6A A7 91 75 A2 )
密文分組二
DATA F
KEY 9988776655443322
KEY 解密 DATA = G( CE 2F 78 06 11 09 B1 A5 )
密文分組三
DATA G
KEY 1234567887654321
KEY 加密 DATA = H( D6 35 94 E2 27 28 92 27 )
結論二:H = 最終加密結果的密文分組二
三
ICV H
DATA 3333333333333333
ICV 異或 DATA = Y
密文分組一
DATA Y
KEY 1122334455667788
KEY 加密 DATA = J( AE 40 E5 C3 47 23 17 0E )
密文分組二
DATA J
KEY 9988776655443322
KEY 解密 DATA = K( 34 F5 49 7E A3 9F AE F3 )
密文分組三
DATA K
KEY 1234567887654321
KEY 加密 DATA = L( 75 B5 F9 1F 8E D7 80 AA )
結論三:L= 最終加密結果的密文分組三
最終,輸出結果爲:結論一的密文分組 拼上 結論二的密文分組 拼上 結論三的密文分組
即 93C717C37D4F46E6D63594E22728922775B5F91F8ED780AA