密碼學(xué)與用于實現(xiàn)它的算法一樣強(qiáng)大。在現(xiàn)代密碼學(xué)中,我們擁有基本的XOR函數(shù),以及當(dāng)今許多應(yīng)用程序中使用的更復(fù)雜的算法。在這篇博文中,我將概述一些關(guān)鍵算法,包括安全哈希算法和 AES 算法。
讓我們從定義 XOR(獨占或)開始討論,這是一種重要的邏輯操作,在許多(如果不是全部)加密算法中以各種身份使用。圖 1 顯示了此函數(shù)的工作原理。在深入研究算法之前,您需要了解此函數(shù)。
圖1.此圖顯示了 XOR 函數(shù)的工作原理。
由于 XOR 的屬性,其中一個輸入可以用作進(jìn)入另一個輸入的數(shù)據(jù)的鍵。例如,如果 A 是加密密鑰的單個位,則具有來自 B 的數(shù)據(jù)位的 XOR 在 A 為 1 時翻轉(zhuǎn)該位。這可以通過再次使用密鑰對加密結(jié)果進(jìn)行按位 XOR 來逆轉(zhuǎn)。
現(xiàn)在,讓我們更詳細(xì)地介紹安全哈希算法或 SHA。安全哈希函數(shù)獲取可變大小的數(shù)據(jù),并將其壓縮為固定大小的位字符串輸出,這一概念稱為哈希。SHA 函數(shù)是一系列哈希算法,通過 NIST(美國國家標(biāo)準(zhǔn)與技術(shù)研究院)的監(jiān)督隨著時間的推移而開發(fā)。SHA-3功能是最新的。
在接下來的部分中,我們將探討 SHA 函數(shù)的工作原理,重點是 SHA-2 和 SHA-3。(SHA-1正在逐步淘汰,不建議用于任何新設(shè)計。
SHA-2 函數(shù)根據(jù)輸出位長度有四種主要類型:
SHA-224 – 哈希長度為 224 位。
SHA-256 – 哈希長度為 256 位。
SHA-384 – 哈希長度為 384 位。
SHA-512 – 哈希長度為 512 位。
SHA-3 函數(shù)沒有預(yù)定義的輸出長度。輸入和輸出長度也沒有最大值。但為了與 SHA-2 進(jìn)行比較,讓我們根據(jù)輸出位長度定義四種主要類型。這些是:
SHA3-224 – 哈希長度為 224 位。
SHA3-256 – 哈希長度為 256 位。
SHA3-384 – 哈希長度為 384 位。
SHA3-512 – 哈希長度為 512 位。
讓我們以 SHA3-256 為例。SHA-3使用Keccak海綿功能。就像海綿一樣,第一步吸收或吸收輸入信息。在下一階段,輸出哈希被擠出。圖 2 是 SHA3-256 函數(shù)的框圖。
圖2.此圖顯示了用于安全哈希生成的 SHA3-256 函數(shù)的框圖。
圖 2 中的迭代函數(shù)接收 1600 位數(shù)據(jù),然后使用特定算法對其進(jìn)行 24 輪排列,然后將其作為 1600 位塊傳遞到下一階段。這種情況一直持續(xù)到吸收階段完成。
吸收階段完成后,最后一個 1600 位塊將傳遞到壓縮階段。在這種情況下,由于 SHA3-256 輸出哈希長度小于 1088 位,因此壓縮階段不需要任何迭代函數(shù)。我們從最后階段獲取前 256 位,這就是輸出哈希。
例如,如果所需的哈希長度為 2500 位,我們將需要迭代函數(shù)的三個實例才能獲得所需的長度哈希。
還有基于加密標(biāo)準(zhǔn)的算法,例如高級加密標(biāo)準(zhǔn)算法。AES 算法以可逆的方式根據(jù)輸入密鑰的值對輸入數(shù)據(jù)進(jìn)行加擾和替換,從而產(chǎn)生所謂的密文。由于 AES 算法是一種固定寬度的加密算法,因此首先填充輸入消息以確保它完全適合“n”個 128 位塊。
每個 128 位塊與加密密鑰一起輸入加密算法。根據(jù)加密密鑰中的位數(shù),AES 算法執(zhí)行一定數(shù)量的回合來掩蓋輸入塊位。這種模糊是通過打亂數(shù)據(jù)位、獲取部分?jǐn)?shù)據(jù)并用查找表(如解碼器輪)中的值替換它們來實現(xiàn)的,然后執(zhí)行 XOR 操作以根據(jù)從輸入加密密鑰生成的一組“圓形密鑰”中的位值將位從 0 翻轉(zhuǎn)為 1。輪次密鑰用于其中一個模糊輪次,并通過復(fù)制位并將副本插入其他位來“擴(kuò)展”加密密鑰的一部分來創(chuàng)建。
AES解密功能只是使用相同的加密密鑰執(zhí)行與加密功能中的操作相反的操作,以便對原始輸入塊數(shù)據(jù)進(jìn)行解密。
這些只是為提供設(shè)計安全性而出現(xiàn)的一些加密算法。
審核編輯:郭婷
-
密鑰
+關(guān)注
關(guān)注
1文章
139瀏覽量
19792 -
AES
+關(guān)注
關(guān)注
0文章
104瀏覽量
33242
發(fā)布評論請先 登錄
相關(guān)推薦
評論