古詩詞大全網 - 個性簽名 - 密碼學問題 為什麽RSA數字簽名壹定要先簽名、後加密?我是初學者,謝謝!!!

密碼學問題 為什麽RSA數字簽名壹定要先簽名、後加密?我是初學者,謝謝!!!

我是這麽覺得:

簽名的壹個目的是:防止簽名雙方抵賴。

如果先加密的話,到時候他有可能不認賬。

而且,特別是針對RSA簽名算法,有壹種專門針對先加密後簽名的攻擊。為了防止這種攻擊,推薦采用先簽名後加密。

這種攻擊方法為:

假設簽名者A用先加密後簽名的方法把消息x發給B,他是先用B的公鑰eb對x加密,然後用自己的私鑰da簽名,設A的模數為na,B的為nb,那麽,A發給B的密文為: (x^eb mod nb)^da mod na

如果B不誠實,那麽B可能偽造A的簽名。謊稱收到的是x1.因為nb是B的模數,所以B知道nb的分解,於是可以計算模nb的離散對數。 (x1)^k=x mod nb

之後,B再公布他的新公鑰。然後宣布收到的是x1不是x。