RSA公鑰加密體制包含以下3個算法:KeyGen(密鑰生成算法),Encrypt(加密算法)以及Decrypt(解密算法)。算法
因此,從算法描述中咱們也能夠看出:公鑰用於對數據進行加密,私鑰用於對數據進行解密。固然了,這個也能夠很直觀的理解:公鑰就是公開的密鑰,其公開了你們才能用它來加密數據。私鑰是私有的密鑰,誰有這個密鑰纔可以解密密文。不然你們都能看到私鑰,就都能解密,那不就亂套了。安全
簽名算法一樣包含3個算法:KeyGen(密鑰生成算法),Sign(簽名算法),Verify(驗證算法)。函數
因此,在簽名算法中,私鑰用於對數據進行簽名,公鑰用於對簽名進行驗證。這也能夠直觀地進行理解:對一個文件簽名,固然要用私鑰,由於咱們但願只有本身才能完成簽字。驗證過程固然但願全部人都可以執行,你們看到簽名都能經過驗證證實確實是我本身籤的。加密