RSA數字簽名與加密 解密間的關係

2021-04-15 17:23:48 字數 918 閱讀 8931

提及rsa,大家會想到公鑰、私鑰、加密、解密、數字簽名、數字信封。。。

1、公鑰和私鑰間的關係;

2、數字簽名和私鑰加密間的關係;

3、數字簽名的驗證具體是怎樣的過程;一般,我們可以用rsa演算法生成一對金鑰,公鑰發放給外部客戶,私鑰自己保管;有以下一些應用場景:

【公鑰加密、私鑰解密】或者【私鑰加密、公鑰驗證】

對於第一種場景,似乎沒有什麼疑問;但是對於第二種場景,公鑰驗證時到底是如何驗證法個人有個人的說法,我以前一直以為是和數字證書一樣(當然這個理解有誤,關於數字證書後續也會詳述),只能驗證不能被解密!但經過我的測試證明:私鑰加密是可以用公鑰解密的;所以說對於rsa演算法,用任何一方金鑰加密都可以用另外乙個金鑰解密;這也從另外乙個角度說明,其實公鑰和私鑰是相對而言的,發放其中乙個金鑰出去,另外乙個自然也就成為私鑰了;對於該觀點,很多同學都已經提到過,但我以前一直認為這是乙個誤解,汗自己一把;

另外,當我們使用證書的時候,比如pfx、cer、jks、rsa等,從中我們可以看出私鑰比公鑰暴露出了更多的資訊,大家可以自行匯出xml檢視,當然其中很多引數是用來加速的,根本的資訊還是金鑰;

比如公鑰匯出格式為:

......

私鑰匯出格式為:

......

......

......

...我們在驗證數字簽名的時候,一般會將簽名資料、原始資料、公鑰一起作為引數輸入,返回驗證true或false;這樣便造成了一種假象,如上面所說的:公鑰是不能解密的!但是實際驗證過程卻不是這樣的;

同樣的,他完全是數字簽名的逆向過程,來看看rfc的官方描述,驗證過程包括四個步驟:位串到位元組串的轉換,rsa公鑰解密,der資料解碼,得到解密後的雜湊值,最後與原始資料雜湊值進行比較,若每一位都相同則返回true,否則返回false;

數字簽名與加密解密

有關數字簽名與加密解密的文章我看了許多次,基於這樣的事實 我總是說服不了自己,所以每次看都看不明白,說服不了自己。最近在看oauth的相關東西,數字簽名與加密解密是繞不開了,乾脆靜下心來,看看資料,嘗試著將自己說服.1,加密解密基礎 簡單地講,計算機加密無非是,用金鑰k,對明文p加密,得到密文m k...

加密 數字 RSA加密及數字簽名詳解

rsa是目前應用最廣泛地一種非對稱秘碼體制。它的安全性基於大整數的因式分解問題。對稱秘鑰指通訊雙方都使用同乙個秘鑰去加密解密 非對稱秘鑰指通訊雙方使用乙個秘鑰對。其中公開的秘鑰叫公鑰 rsa是由羅納德 李維斯特 ron rivest 阿迪 薩莫爾 adi shamir 和倫納德 阿德曼 leonar...

加密解密,數字簽名及證書

三重des desede 112和168兩種金鑰長度,抗窮舉能力顯著增強,但由於進行了多重des迭代,造成處理速度慢,效率不高 高階資料加密標準aes 128和192及256三種金鑰長度,搞窮舉能力強,速度比des系列加密快,為替代des系列加密演算法而生 訊息傳送方使用金鑰對明文加密,並將密文傳送...