RSA加密與簽名的區(qū)別

RSA加密:RSA密碼體制是一種公鑰密碼體制,加密算法公開,以分配的密鑰作為加密解密的關(guān)鍵。一般來說,在一對公私鑰中,公鑰和私鑰都可以用來加密和解密,即公鑰加密能且只能被對應(yīng)的私鑰進(jìn)行解密,私鑰加密能且只能被對應(yīng)的公鑰進(jìn)行解密。但我們一般都用公鑰加密,私鑰解密,而且生成的私鑰往往會(huì)比公鑰蘊(yùn)含了更多的信息量。(這里說的加密肯定是可逆的,不然直接銷毀就可以了沒必要再去加密,加密是為了保障數(shù)據(jù)的安全和驗(yàn)證身份。)

RSA簽名:簽名就是在這份資料后面增加一段強(qiáng)而有力的證明,以此證明這段信息的發(fā)布者和這段信息的有效性完整性。RSA簽名常用的就是將這份信息進(jìn)行hash,得到一個(gè)hash值,再將hash值加密作為簽名,后綴在信息的末尾。接收方接到傳輸?shù)馁Y料后,使用私鑰解密這段加密過的hash,得到hash值,然后對信息原文進(jìn)行hash,對比兩次hash是否一致(驗(yàn)簽)。簽名的過程是不可逆的,因?yàn)閔ash是不可逆的,畢竟那么大的文件被hash成一段字符串還能還原的話那就碉堡了。

在使用RSA進(jìn)行通訊的時(shí)候,一般是兩者結(jié)合,即:加密>簽名>解密>驗(yàn)簽

加密和可逆的,而簽名是不可逆的

我們可以對一份資料用公鑰加密,再用私鑰解密,但我們對這份資料進(jìn)行簽名則是不可逆的,因?yàn)楣1旧硎遣豢赡娴摹?/p>

加密和簽名都涉及到了使用公鑰加密,前者加密了信息,后者加密了信息的hash

前者使用加密保障內(nèi)容不被泄露,后者使用加密用來身份驗(yàn)證。

為什么簽名是對信息hash之后加密,而不是加密一些特定的字符?

這是因?yàn)榉乐怪虚g人嘗試向私鑰擁有者反復(fù)發(fā)送一些特定的字符,得到加密后的信息,達(dá)到破解或者偽造之類的目的。所以用私鑰隨便加密信息是不安全的。

RSA的簽名與加密一般用在需要非常安全的環(huán)境下,例如支付

由于RSA簽名與加密需要比平時(shí)的通訊產(chǎn)生更多的工作量,所以一般只會(huì)用在需要保證數(shù)據(jù)安全的地方(但隨著設(shè)備性能的提升它會(huì)擴(kuò)展到很多方面,畢竟保證隱私也是很重要的,雖然有些人并不在乎這些)。HTTPS的加密解密可以參考http://www.itdecent.cn/p/1b48c37b94b9

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容