簡體   English   中英

RSA可以用作加密和簽名嗎?

[英]Can RSA be both used as encryption and signature?

對不起,我的思緒突然變得空白了......

編輯(場景)

如果我想要信息繞過像f-ck這樣的簡單過濾器,用公鑰加密信息,用私鑰簽名是否可以?

公鑰可能已經由雙方交換,甚至很難獲得公鑰。

編輯2

信息本身可能沒有那么多憑證。

加密和簽名的要點是繞過和完整性。

RSA是兩種算法:一種用於非對稱加密,一種用於簽名。 碰巧兩種算法都可以使用相同的私鑰結構(這是一個混亂的來源:許多文檔,包括RSA標准 ,試圖將簽名解釋為“使用私鑰加密”,這至多是,不准確)。

對兩種用法使用相同的密鑰是可能的,但不是真的建議,因為兩種用法之間的交互尚未得到充分的探索; 此外,加密密鑰和簽名密鑰通常具有不同的生命周期和不同的保護機制(例如,您通常希望保留私鑰的備份以進行加密,以防止數據丟失:丟失私鑰意味着丟失所有數據已使用該密鑰加密;而您希望備份簽名密鑰)。

您的方案有點不清楚。 非對稱加密使用公鑰,而生成簽名使用私鑰。 如果A想要通過加密(用於機密性)和簽名(用於完整性)向B發送消息,則A將使用B知道私鑰的公鑰加密數據; A將使用私鑰對數據進行簽名,B知道公鑰。 這需要對密鑰:一對用於加密和解密(A加密,B解密,B知道私鑰),另一對用於簽名(A符號,B驗證,A知道私鑰) )。 如果A和B都知道私鑰,則它們具有共享密鑰,並且使用對稱加密( AES )和完整性檢查( HMAC )要簡單得多(並且更快)。

標准免責聲明:您看起來像是在設計自己的加密協議。 不要這樣做。 這條道路導致了無數其他聰明人偶然發現的安全故障。 使用經過驗證的協議,例如SSL / TLSOpenPGP

是:

  • 加密:用公鑰加密,用私有解密(顯然)
  • 簽名:您使用私鑰加密內容摘要(哈希),與公共驗證

http://en.wikipedia.org/wiki/RSA#Signing_messages

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM