天天看點

RSA數字簽名和加解密

RSA數字簽名和加解密

1.概述

RSA算法是第一個能同時用于加密和數字簽名的算法,它的安全性依賴于大數的因子分解,但并沒有從理論上證明破譯RSA的難度與大數分解難度等價。即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學界多數人士傾向于因子分解不是NPC問題。它包含公鑰和私鑰對。

RSA生成的公鑰和私鑰對,其中公鑰釋出給所有人,私鑰自己保留。

2.用于加解密

       目的:發送的資訊不能透露給第三方

A要給B發資訊,使用B釋出的公鑰加密,将密文發給A,A用自己的私鑰解密得到明文。及時其它人截獲的密文,因為沒有私鑰,是以無法解密。

3.用于數字簽名

       目的:證明發送資訊的本人,身份驗證

       A給B發資訊,為了證明資訊是A發出的,需要電子簽名,其中内容是可以公開的,用明文傳輸。同時,将明文使用MD5或雜湊演算法,得到明文的數字摘要,對數字摘要用A的密鑰加密,和明文一起發給B,B首先對收到的明文使用同樣的哈希或MD5算法,得到數字摘要,然後用A的公鑰解密得到一份數字摘要,兩份數字摘要一緻就可以證明資訊确實是A發過來的,進而達到了驗證A身份的目的。因為隻有使用A的密鑰加密,再用A的公鑰解密才能還原原文。如果第三方想假冒A,它沒有A的密鑰,無法加密。

繼續閱讀