使用DES的數據加密專家有五種不同的操作模式可供選擇:
電子密碼本(ECB):這是JAVA封裝的DES算法的默認模式,就是將數據按照8個字節一段進行DES加密或解密得到一段8個字節的密文或者明文,最后一段不足8個字節,則補足8個字節(注意:這里就涉及到數據補位了)進行計算,之后按照順序將計算所得的數據連在一起即可,各段數據之間互不影響。
加密塊鏈(CBC):密文分組鏈接方式,這是.NET封裝的DES算法的默認模式,加密步驟如下:
首先將數據按照8個字節一組進行分組得到D1D2……Dn(若數據不是8的整數倍,就涉及到數據補位了)
第一組數據D1與向量I異或后的結果進行DES加密得到第一組密文C1(注意:這里有向量I的說法,ECB模式下沒有使用向量I)
第二組數據D2與第一組的加密結果C1異或以后的結果進行DES加密,得到第二組密文C2
之后的數據以此類推,得到Cn
按順序連為C1C2C3……Cn即為加密結果
密碼反饋(CFB):前面的密文成為加密算法的輸入,產生偽隨機輸出,然后將其與純文本進行XOR運算,構建下一個密文單元。
輸出反饋(OFB):類似于CFB,不同之處在于加密算法輸入是前面DES的輸出。
計數器(CTR):每個明文塊與加密的計數器進行異或運算。然后為每個后續塊遞增計數器。
回答所涉及的環境:聯想天逸510S、Windows 10。
使用DES的數據加密專家有五種不同的操作模式可供選擇:
電子密碼本(ECB):這是JAVA封裝的DES算法的默認模式,就是將數據按照8個字節一段進行DES加密或解密得到一段8個字節的密文或者明文,最后一段不足8個字節,則補足8個字節(注意:這里就涉及到數據補位了)進行計算,之后按照順序將計算所得的數據連在一起即可,各段數據之間互不影響。
加密塊鏈(CBC):密文分組鏈接方式,這是.NET封裝的DES算法的默認模式,加密步驟如下:
首先將數據按照8個字節一組進行分組得到D1D2……Dn(若數據不是8的整數倍,就涉及到數據補位了)
第一組數據D1與向量I異或后的結果進行DES加密得到第一組密文C1(注意:這里有向量I的說法,ECB模式下沒有使用向量I)
第二組數據D2與第一組的加密結果C1異或以后的結果進行DES加密,得到第二組密文C2
之后的數據以此類推,得到Cn
按順序連為C1C2C3……Cn即為加密結果
密碼反饋(CFB):前面的密文成為加密算法的輸入,產生偽隨機輸出,然后將其與純文本進行XOR運算,構建下一個密文單元。
輸出反饋(OFB):類似于CFB,不同之處在于加密算法輸入是前面DES的輸出。
計數器(CTR):每個明文塊與加密的計數器進行異或運算。然后為每個后續塊遞增計數器。
回答所涉及的環境:聯想天逸510S、Windows 10。