DES加密算法中,ECB和CBC模式有什么區別?
ECB模式:
DES ECB(電子密本方式)其實非常簡單,就是將數據按照8個字節一段進行DES加密或解密得到一段段的8個字節的密文或者明文,最后一段不足8個字節(一般補0或者F),按照需求補足8個字節進行計算(并行計算),之后按照順序將計算所得的數據連在一起即可,各段數據之間互不影響。
優點:
DES ECB(電子密本方式)其實非常簡單,就是將數據按照8個字節一段進行DES加密或解密得到一段段的8個字節的密文或者明文,最后一段不足8個字節(一般補0或者F),按照需求補足8個字節進行計算(并行計算),之后按照順序將計算所得的數據連在一起即可,各段數據之間互不影響。
優點:
簡單;
有利于并行計算;
誤差不會被傳遞;
缺點:
不能隱藏明文的模式;
可能對明文進行主動攻擊;
有利于并行計算;
誤差不會被傳遞;
缺點:
不能隱藏明文的模式;
可能對明文進行主動攻擊;
CBC模式:
優點:
優點:
不容易主動攻擊,安全性好于ECB,是SSL、IPSec的標準;
缺點:
不利于并行計算;
誤差傳遞;
需要初始化向量IV;
缺點:
不利于并行計算;
誤差傳遞;
需要初始化向量IV;
DES CBC(密文分組鏈接方式)有點麻煩,它的實現機制使加密的各段數據之間有了聯系。其實現的機理如下:
加密步驟如下:
加密步驟如下:
首先將數據按照8個字節一組進行分組得到D1D2…Dn(若數據不是8的整數倍,用指定的PADDING數據補位)
第一組數據D1與初始化向量I異或后的結果進行DES加密得到第一組密文C1(初始化向量I為全零)
第二組數據D2與第一組的加密結果C1異或以后的結果進行DES加密,得到第二組密文C2
之后的數據以此類推,得到Cn
按順序連為C1C2C3…Cn即為加密結果。
原文鏈接:https://blog.csdn.net/honeygirl_/article/details/90716328
第一組數據D1與初始化向量I異或后的結果進行DES加密得到第一組密文C1(初始化向量I為全零)
第二組數據D2與第一組的加密結果C1異或以后的結果進行DES加密,得到第二組密文C2
之后的數據以此類推,得到Cn
按順序連為C1C2C3…Cn即為加密結果。
原文鏈接:https://blog.csdn.net/honeygirl_/article/details/90716328
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。