LKT系列加密產品具有硬件AES算法協處理器,可以有效的為用戶開發提供更多的選擇和安全性。
AES是一種區塊加密標準算法,它的提出是為了升級替換原有的DES加密算法。因此它的安全強度高于DES算法。但不應片面理解,系統和數據的安全不僅與應用的加密算法有關,更與加密應用方案有關。和DES算法一樣,AES也屬于對稱加密算法,對密鑰的存儲與保護,直接決定了整個系統的安全。
AES最常見的有3種方案,分別是AES-128、AES-192和AES-256,它們的區別在于密鑰長度不同,AES-128的密鑰長度為16bytes(128bit / 8),后兩者分別為24bytes和32bytes。密鑰越長,安全強度越高,但伴隨運算輪數的增加,帶來的運算開銷就會更大,所以用戶應根據不同應用場合進行合理選擇。
用戶在應用過程中,除了關注密鑰長度外,還應注意確認算法模式。AES算法有五種加密模式,即CBC、ECB、CTR、OCF、CFB,后三種模式因其較為復雜且應用較少,不做詳細說明,僅對ECB和CBC模式進行介紹。
ECB模式的全稱是Electronic Codebook Book,即電碼本模式。這種模式是將整個明文分成若干個長度相同的分組,然后對每一小組進行加密,并將加密結果拼接為最終結果,C = C1C2C3......Cn。它與ECB模式的DES算法加密流程基本一致。
CBC模式的全稱是Cipher Block Chaining,這種模式是先將明文切分成若干個長度相同的分組(與ECB模式一樣),此時先利用初始向量IV與第一組數據進行異或后再進行加密運算生成C1。將C1作為初始向量與第二組數據進行異或后再進行加密運算生成C2。以此類推,當最后一組數據加密完畢后,將加密結果拼接為最終結果,C = C1C2C3......Cn。
綜上,AES192算法與DES算法很相似,均為塊加密算法,密文數據以16字節為單位獨立存在。若明文長度為16字節,當改變明文的前16字節時,只會影響密文的前16字節,密文后16字節不變。因此,在應用AES算法對線路傳輸數據加密過程中,若想保證密文的整體變化,要保證每塊明文數據都是變化的。
希望本文能讓大家對AES的算法特點有個更直觀的認識,更安全有效的利用AES算法設計數據加解密的方案,將LKT中自帶的AES算法接口高效利用起來。