淺析公鑰加密方法
公鑰加密使用一個必須對未經(jīng)授權(quán)的用戶保密的私鑰和一個可以對任何人公開的公鑰。公鑰和私鑰都在數(shù)學(xué)上相關(guān)聯(lián);用公鑰加密的數(shù)據(jù)只能用私鑰解密,而用私鑰簽名的數(shù)據(jù)只能用公鑰驗證。公鑰可以提供給任何人;公鑰用于對要發(fā)送到私鑰持有者的數(shù)據(jù)進行加密。兩個密鑰對于通信會話都是唯一的。公鑰加密算法也稱為不對稱算法,原因是需要用一個密鑰加密數(shù)據(jù)而需要用另一個密鑰來解密數(shù)據(jù)。
公鑰加密算法使用固定的緩沖區(qū)大小,而私鑰加密算法使用長度可變的緩沖區(qū)。公鑰算法無法像私鑰算法那樣將數(shù)據(jù)鏈接起來成為流,原因是它只可以加密少量數(shù)據(jù)。因此,不對稱操作不使用與對稱操作相同的流模型。
公鑰加密方法由6個部分組成:明文、加密算法、公鑰、私鑰、密文和解密算法。密鑰對中的公鑰是公開供其他人使用的,而只有自己知道私鑰。通常的公鑰加密算法根據(jù)一個密鑰進行加密,根據(jù)另一個不同但相關(guān)的密鑰進行解密。
基本步驟如下:
(1)每個用戶都生成一對密鑰用來對消息進行加密和解密。
(2)每個用戶把兩個密鑰中的一個放在公共寄存器或其他可訪問的文件里,這個密鑰便是公鑰,另一個密鑰自己保存。每個用戶都收藏別人的公鑰。
(3)如果Bob希望給Alice發(fā)送私人消息,則他用Alice的公鑰加密消息。
(4)當(dāng)Alice收到這條消息,她用私鑰進行解密。因為只有Alice知道她自己的私鑰,其他收到消息的人無法解密消息。RSA和Diffie-Hellman是使用量最大的兩種公鑰算法,另外已被法,商業(yè)接受的兩種其他公鑰算法是DSS和橢圓曲線密碼。










