Rsa
為什麼在數字簽名中使用私鑰加密雜湊
在常見的 RSA 加密中,公鑰用於加密消息,私鑰用於解密。然而,在數字簽名中,情況正好相反:Bob 對他的消息進行散列,然後用他自己的私鑰加密散列,Alice 使用 Bob 的公鑰來解密加密的散列。
這種反對的目的是什麼?或者加密/解密哪個密鑰都沒有關係?
在非對稱密碼學中,我們使用哪個密鑰來加密以及我們使用哪個密鑰來解密確實很重要。從高層次來看,我們希望每個人都能夠加密,因此使用公鑰進行加密。但我們只希望某一方(通常是創建密鑰對的一方)解密,因此使用私鑰進行解密。換句話說,在加密/解密的情況下,解密是關鍵操作,因為它暴露了我們試圖隱藏的內容——明文。
簽名則相反。我們想限制誰可以簽名,因此使用私鑰進行簽名。請記住,簽署就像聲稱對契約負責或批准。所以只有相關方才能簽字。否則,我們允許偽造。驗證簽名並不重要。換句話說,每個人都應該能夠驗證簽名,因此我們使用公鑰進行簽名驗證。在公鑰系統中,私鑰只能屬於一方這一事實為我們提供了不可否認性的額外好處。也就是說,簽名的一方以後都不能否認這一點,因為他們是唯一擁有私鑰的一方