
認證技術中的常用認證算法主要包括SHA-1、RSA、HmacSHA1等。
1.SHA1算法
SHA1算法是建立在SHA-1函數之上的安全認證協議算法。SHA-1函數是顺利获得美國國家標準技術局和安全局設計的與數字簽名標準一起用的安全散列SHA,它有以下幾個特徵:
1)可以作用於一個最大長度不超過264位的數據塊。
2)產生一個固定長度的輸出(160位)。
3)對隨意給定的x,H(x)計算相較容易,使軟件或硬件的實現可行。
4)對隨意給定碼h找到x符合H(x)=h在計算上不可行。
5)對任意給定的數據塊x,找到滿足H(y)=B(x),但y≠x的y是非常困難的。
6)找到隨意數據對(x,y),符合H(x)=H(y)在計算上是不可行的。
前3個特點是在消息認證的實際應用中所需要的。第4個特點是“單向”特性,即數據易正向生成驗證碼,但驗證碼反向恢復原數據卻非常難。第5個特點保證對給定數據用替換數據生成相同的散列值非常難。第6個特點可防止如“生日攻擊”等複雜類型的外來攻擊,進一步加強SHA1算法抗強碰撞的能力。
2.RSA算法
RSA作為公鑰加密體制中最重要的加解密協議之一。RSA利用大整數因數分解的數學困難問題來設計,现在,除暴力破解方式外,還未找到其他有效的破解方法。因此,RSA算法仍然可抵抗大多數針對密碼的攻擊,其藉助私鑰加密、公鑰解密的方式完成對私鑰持有者身份的認證過程。
3.HmacSHA1
HmacSHA1能有效防止數據在傳輸中被截獲與篡改,確保了數據完整、可靠和安全。
