熱度 10
DES算法為密碼體質(zhì)中的對稱密碼體制,又被稱為美國數(shù)據(jù)加密標(biāo)準(zhǔn),是1972年美國IBM公司研制的對稱密碼體制加密算法。 明文按64位進(jìn)行分組,密鑰長64位,密鑰事實(shí)上是56位參與DES運(yùn)算(第8、16、24、32、40、48、56、64位是校驗(yàn)位, 使得每個(gè)密鑰都有奇數(shù)個(gè)1)分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法。
實(shí)際應(yīng)用中注意的幾個(gè)問題:
1、數(shù)據(jù)補(bǔ)位
DES加密解密就是將數(shù)據(jù)按8字節(jié)一段進(jìn)行DES加密或解密,得到一段8個(gè)字節(jié)的密文或明文,最后一段不足8字節(jié)的(通常補(bǔ)全00或者FF),需要根據(jù)實(shí)際需求來定,之后按順序連在一起。
2、ECB模式
ECB模式(電子密本方式)按8字節(jié)一段進(jìn)行DES加密或解密得到明文或者密文,最后不足8字節(jié)的按要求補(bǔ)全8字節(jié)
加密步驟:
(1)將加密數(shù)據(jù)塊分成以8字節(jié)為單位的數(shù)據(jù)塊,表示為D0、D1、D2等。最后的數(shù)據(jù)塊有可能是1~8個(gè)字節(jié)。
(2)如果最后(或唯一)的數(shù)據(jù)塊的長度是8字節(jié)的話,轉(zhuǎn)到第三步;如果不足8字節(jié),則在其后(根據(jù)規(guī)定)補(bǔ)全8字節(jié),如果達(dá)到8字節(jié)長度,則轉(zhuǎn)到第三步。
(3)按照下圖ECB加密模式所述的算法使用指定密鑰對每一個(gè)數(shù)據(jù)塊進(jìn)行加密。
(4)計(jì)算結(jié)束后,所有加密后的數(shù)據(jù)塊依照原順序連接在一起組成加密密文。
優(yōu)點(diǎn):1、加密方式簡單有利于加密計(jì)算;2、單步加密錯(cuò)誤誤差不會(huì)被傳送;
缺點(diǎn):1、可以對明文進(jìn)行主動(dòng)攻擊,明文數(shù)據(jù)不易隱藏。
3、CBC模式
CBC模式(密文分組鏈接方式)
加密步驟:
(1)將明文數(shù)據(jù)以8字節(jié)一組分組,得到D1...Dn(不足補(bǔ)位)。
(2)將D1與初始向量I異或后的結(jié)果進(jìn)行DES加密運(yùn)算得到第一組密文C1。
(3)D2與第一組加密數(shù)據(jù)C1異或后進(jìn)行DES加密運(yùn)算得到第二組密文C2。
(4)以此類推,將最后的加密結(jié)果C1....Cn拼接起來組成密文C。
優(yōu)點(diǎn):1、安全性高于ECB方式,不容易被主動(dòng)攻擊;
缺點(diǎn):1、不利于并行計(jì)算;2、誤差傳遞;3、需要初始化向量IV。
凌科芯安科技LKT系列加密芯片支持DES-CBC、DES-ECB和國際上通用的對稱和非對稱加密算法,多種型號(hào)的加密芯片支持UART、IIC、SPI、USB等不同接口,滿足不同客戶的不同需求。
?-о: RSA安全性提高了,但是速度變慢了。各有優(yōu)缺點(diǎn)啊。
tyl2010: 看了樓主的文章受益匪淺,希望下次介紹下非對稱算法的特點(diǎn),順便再介紹幾款性價(jià)比高的非對稱算法加密芯片,我想了解下,說不定以后會(huì)用到,多謝了!