硬件安全技術-芯片安全設計技術一

在這裏插入圖片描述
本篇主要介紹一些常用的對稱加密算法
在這裏插入圖片描述

常用的對稱算法

對稱加密算法是應用較早的加密算法,技術成熟。在對稱加密算法中,數據發信方將明文(原始數據)和加密密鑰(mi yao)一起經過特殊加密算法處理後,使其變成複雜的加密密文發送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。

在這裏插入圖片描述

在這裏插入圖片描述
高級加密標準(Advanced Encryption Standard,AES),又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標準。這個標準用來替代原先的DES(Data Encryption Standard),已經被多方分析且廣爲全世界所使用。經過五年的甄選流程,高級加密標準由美國國家標準與技術研究院 (NIST)於2001年11月26日發佈於FIPS PUB 197,並在2002年5月26日成爲有效的標準。2006年,高級加密標準已然成爲對稱密鑰加密中最流行的算法之一。Rijndael是由Daemen和Rijmen早期所設計的Square改良而來;而Square則是由SHARK發展而來。
不同於它的前任標準DES,Rijndael使用的是置換-組合架構,而非Feistel架構。AES在軟件及硬件上都能快速地加解密,相對來說較易於實現,且只需要很少的存儲器。作爲一個新的加密標準,目前正被部署應用到更廣大的範圍。

TDES/3DES是英文Triple DES的縮語(即三重數據加密標準),DES則是英文Data Encryption Standard(數據加密標準)的縮語。DES是一種對稱密鑰加密算法,即數據加密密鑰與解密密鑰相同的加密算法。DES由IBM公司在20世紀70年代開發並公開,隨後爲美國政府採用,並被美國國家標準局和美國國家標準協會 (ANSI)承認,其對數據的加密速率高達1.1Gb/sec。DES是一種高精度的算法,在加密解密的過程中,文件大小不會增加。TDES/3DES是DES加密算法的一種模式,它使用3條64位的密鑰對數據進行三次加密。DES現已經不視爲一種安全的加密算法,它使用的56位密鑰過短,以現代計算能力,24小時內即可能被破解。TDES/3DES是DES向AES(先進加密算法)過渡的加密算法(1999年,NIST將TDES/3-DES指定爲過渡的加密標準),是DES的一個更安全的變形。TDES/3DES的使用領域將越來越少,無論是硬件實現還是軟件實現,其性能、效率都遠遜於AES算法。因此最終會被AES算法取代。

SM4.0(原名SMS4.0)是中華人民共和國政府採用的一種分組密碼標準,由國家密碼管理局於2012年3月21日發佈。相關標準爲“GM/T 0002-2012《SM4分組密碼算法》(原SMS4分組密碼算法)”。在商用密碼體系中,SM4主要用於數據加密,其算法公開,分組長度與密鑰長度均爲128bit,加密算法與密鑰擴展算法都採用32輪非線性迭代結構,S盒爲固定的8比特輸入8比特輸出。
SM4.0中的指令長度被提升到大於64K(即64×1024)的水平,這是SM 3.0規格(渲染指令長度允許大於512)的128倍。

ZUC和Chacha20爲流密碼
祖沖之序列密碼算法是中國自主研究的流密碼算法,是運用於移動通信4G網絡中的國際標準密碼算法,該算法包括祖沖之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三個部分。目前已有對ZUC算法的優化實現,有專門針對128-EEA3和128-EIA3的硬件實現與優化。

ChaCha20-Poly1305是Google所採用的一種新式加密算法,性能強大,在CPU爲精簡指令集的ARM平臺上尤爲顯著(ARM v8前效果較明顯),在同等配置的手機中表現是AES的4倍(ARM v8之後加入了AES指令,所以在這些平臺上的設備,AES方式反而比chacha20-Poly1305方式更快,性能更好),可減少加密解密所產生的數據量進而可以改善用戶體驗,減少等待時間,節省電池壽命等。谷歌選擇了ChaCha20和伯恩斯坦的Poly1305消息認證碼取代過去一直在互聯網安全領域使用的基於OpenSSL的RC4密碼,谷歌最初是爲了保證能夠在Android手機上的Chrome瀏覽器和谷歌網站間的HTTPS(TLS/SSL)通訊。在谷歌採用TLS(安全傳輸層協議)不久後,ChaCha20和Poly1305均用在OpenSSH中的ChaCha20-Poly1305新算法中,這使得OpenSSH可能避免因編譯時間對OpenSSL產生依賴。ChaCha20還用於OpenBSD(一種多平臺類UNIX操作系統)中的RC4隨機數生成器,在DragonFlyBSD中作爲內核的僞隨機數產生器(Cryptographically Secure Pseudo-Random Number Generator,簡稱CSPRNG)的子程序。ChaCha20-Poly1305是由ChaCha20流密碼和Poly1305消息認證碼(MAC)結合的一種應用在互聯網安全協議中的認證加密算法,由Google公司率先在Andriod移動平臺中的Chrome中代替RC4使用。由於其算法精簡、安全性強、兼容性強等特點,目前Google致力於全面將其在移動端推廣。

在這裏插入圖片描述

常用的使用模式及場景

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

常見的抗攻擊設計

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

對稱密碼算法實現

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章