rsa加密:rsa密碼體制是一種公鑰密碼體制,加密演算法公開,以分配的金鑰作為加密解密的關鍵。一般來說,在一對公私鑰中,公鑰和私鑰都可以用來加密和解密,即公鑰加密能且只能被對應的私鑰進行解密,私鑰加密能且只能被對應的公鑰進行解密。但我們一般都用公鑰加密,私鑰解密,而且生成的私鑰往往會比公鑰蘊含了更多的資訊量。(這裡說的加密肯定是可逆的,不然直接銷毀就可以了沒必要再去加密,加密是為了保障資料的安全和驗證身份。)
rsa簽名:簽名就是在這份資料後面增加一段強而有力的證明,以此證明這段資訊的發布者和這段資訊的有效性完整性。rsa簽名常用的就是將這份資訊進行hash,得到乙個hash值,再將hash值加密作為簽名,字尾在資訊的末尾。接收方接到傳輸的資料後,使用私鑰解密這段加密過的hash,得到hash值,然後對資訊原文進行hash,對比兩次hash是否一致(驗籤)。簽名的過程是不可逆的,因為hash是不可逆的,畢竟那麼大的檔案被hash成一段字串還能還原的話那就碉堡了。
在使用rsa進行通訊的時候,一般是兩者結合,即:加密》簽名》解密》驗籤
加密和可逆的,而簽名是不可逆的我們可以對乙份資料用公鑰加密,再用私鑰解密,但我們對這份資料進行簽名則是不可逆的,因為雜湊本身是不可逆的。
加密和簽名都涉及到了使用公鑰加密,前者加密了資訊,後者加密了資訊的hash前者使用加密保障內容不被洩露,後者使用加密用來身份驗證。
為什麼簽名是對資訊hash之後加密,而不是加密一些特定的字元?這是因為防止中間人嘗試向私鑰擁有者反**送一些特定的字元,得到加密後的資訊,達到破解或者偽造之類的目的。所以用私鑰隨便加密資訊是不安全的。
rsa的簽名與加密一般用在需要非常安全的環境下,例如支付由於rsa簽名與加密需要比平時的通訊產生更多的工作量,所以一般只會用在需要保證資料安全的地方(但隨著裝置效能的提公升它會擴充套件到很多方面,畢竟保證隱私也是很重要的,雖然有些人並不在乎這些)
**:
加密與數字簽名
加密與數字簽名 加密與數字簽名 一 加密 資料加密技術從技術上的實現分為在軟體和硬體兩方面。按作用不同,資料加密技術主要分為資料傳輸 資料儲存 資料完整性的鑑別以及金鑰管理技術這四種。在網路應用中一般採取兩種加密形式 對稱金鑰和公開金鑰,採用何種加密演算法則要結合具體應用環境和系統,而不能簡單地根據...
加密與簽名的區別
本文 就拿a給b傳送經過簽名加密資訊來說 1 a對資訊簽名的作用是確認這個資訊是a發出的,不是別人發出的 2 加密是對內容進行機密性保護,主要是保證資訊內容不會被其他人獲取,只有b可以獲取。也就是保證整個過程的端到端的唯一確定性,這個資訊是a發出的 不是別人 且是發給b的,只有b才被獲得具體內容 別...
數字簽名與加密解密
有關數字簽名與加密解密的文章我看了許多次,基於這樣的事實 我總是說服不了自己,所以每次看都看不明白,說服不了自己。最近在看oauth的相關東西,數字簽名與加密解密是繞不開了,乾脆靜下心來,看看資料,嘗試著將自己說服.1,加密解密基礎 簡單地講,計算機加密無非是,用金鑰k,對明文p加密,得到密文m k...