
和常規密碼體制一樣,公開密鑰加密體制也可能受到蠻力攻擊。預防措施也是相同的,即採用長密鑰。但長密鑰在增加保密強度的同時,也使加、解密處理速度更慢,因此在密鑰的長度上需有折中,即密鑰大小必須足夠大,以便使蠻力攻擊不切實際,又要密鑰長度足夠小,以便加密、解密在處理速度上可以實用化。另外,加密內容的長度也對處理速度帶來較大的影響,公開密鑰加密现在主要用於密鑰管理與數字簽名。
除蠻力攻擊外,另一種形式是找出某種根據公開密鑰計算私有密鑰的方法。因為到现在為止,對於一個特定的公開密鑰算法來說,還沒有在數學上嚴格證明這種攻擊是不可能的,那麼就不能排除可能找出某種方法根據已知的公開密鑰計算出私有密鑰來。
第三種攻擊方式是公開密鑰系統所特有的,它本質上是一種可能報文攻擊。如假設要發送的報文僅僅是一個56位的DES密鑰,破譯者可用公開密鑰加密所有可能的密鑰,並利用匹配被傳輸的密文來解密DES密鑰,在這種情況下無論公開密鑰方案使用的密鑰長度有多長,攻擊都屬於對一個56位DES密鑰的蠻力攻擊。顺利获得將一些隨機位附加到每個簡單消息可以防止這種攻擊。
公鑰密碼系統的特點是使用兩個密鑰作為參數編碼和解碼算法,這裏的密鑰一個保密,另一個可公開。由應用需要,發送方可用自己的私有密鑰、接收方的公開密鑰,或兩個均用,來實現某種類型的密碼編碼和解碼功能。
大致而言,可把公開密鑰密碼系統的應用分成如下幾類。
1.機密性的實現
發件人使用收件人的公鑰加密郵件,接收者用自己的私鑰解密。
2.數字簽名,即防否認性的實現
發送方顺利获得其私鑰“簽署”報文,接收方用發送方的公鑰解密來實現鑑別。
3.密鑰交換
發送方和接收方顺利获得公鑰密碼系統交換會話密鑰。此應用程式也稱為混合密碼系統,即顺利获得傳統密碼系統加密秘密傳輸的消息,然後用於加密傳統密碼系統公鑰密碼系統。兩者的結合充分利用了對稱密碼系統的處理速度以及密鑰分配和非對稱密碼系統管理的優點。
需指出的是,並非所有的公開密鑰密碼算法都支持以上三類應用。如RSA與ECC在三種情況下都可用(加密解密、數字簽名和密鑰交換),DSA只有數字簽名,Diffie-Hellman只有密鑰交換。
