1. 程式人生 > >RSA加密解密和簽名驗證機制以及其區別和聯絡

RSA加密解密和簽名驗證機制以及其區別和聯絡

https://blog.csdn.net/wangjianno2/article/details/68965299

 

1.RSA的加密解密機制原理
RSA公鑰加密體制包含如下3個演算法:KeyGen(金鑰生成演算法),Encrypt(加密演算法)以及Decrypt(解密演算法)。詳細如下:

 


所以,從演算法描述中我們也可以看出:公鑰用於對資料進行加密,私鑰用於對資料進行解密。當然了,這個也可以很直觀的理解:公鑰就是公開的金鑰,其公開了大家才能用它來加密資料。私鑰是私有的金鑰,誰有這個金鑰才能夠解密密文。否則大家都能看到私鑰,就都能解密,那不就亂套了。

2.RSA的簽名認證機制原理
簽名體制同樣包含3個演算法:KeyGen(金鑰生成演算法),Sign(簽名演算法),Verify(驗證演算法)。其中祕鑰生成演算法和RSA加密解密中的祕鑰生成演算法是一樣的。

對於簽名和認證的M,可以是原始的資訊的報文摘要。在https中,CA對也是對證書的某些資訊的報文摘要進行簽名的。
所以,在簽名演算法中,私鑰用於對資料進行簽名,公鑰用於對簽名進行驗證。這也可以直觀地進行理解:對一個檔案簽名,當然要用私鑰,因為我們希望只有自己才能完成簽字。驗證過程當然希望所有人都能夠執行,大家看到簽名都能通過驗證證明確實是我自己籤的。

3.RSA加密解密機制和簽名認證機制的區別和聯絡
        假設RSA加密解密系統中,將加密函式稱為E,將解碼函式稱為D。在加密過程中,我們使用公鑰PK和E函式,將報文加密,然後在對端使用私鑰SK和D函式將密文解密,得到原始的報文。
        而在簽名認證的過程中,我們使用私鑰SK和D函式進行報文的簽名,然後在對端使用公鑰PK和E函式進行認證。注意的是,這裡的D和E和上面的D和E函式是一樣的。
        因為,在RSA加密系統中,以任意順序 應用D和E函式時,兩者都會相互抵消。因此E(D(stuff))=stuff,就像D(E(stuff))=stuff一樣。只是習慣上,E和D在加密過程中,稱為加密函式和解碼函式;而在簽名認證過程中,稱為簽名函式和認證函式,其實是一樣的。
---------------------
作者:_佚名-2017_
來源:CSDN
原文:https://blog.csdn.net/wangjianno2/article/details/68965299
版權宣告:本文為博主原創文章,轉載請附上博文連結!