Hash

是否有一種簡單的方法可以使教科書 RSA 足夠安全,以便可以在現實生活中使用?

  • December 14, 2021

我編寫了一個原始(教科書)RSA 實現(只是為了好玩),我想知道是否有一種簡單的方法可以使它足夠安全,以便可以在現實生活中使用(無需實現 OAEP+ 和 RSASSA-PSS)?是否有任何用於填充和生成安全數字簽名的簡單算法?

實際上,RSASSA-PKCS1-v1_5 簽名填充非常簡單,並且沒有已知的弱點(類似名稱的 RSAES-PKCS1-v1_5 填充被破壞以進行加密,除非以非常小心的方式實現;不要使用它)。

填充格式為:

00 01 FF FF FF ... FF FF 00 <DER of Hash Type> <Hash>

其中DER of Hash Type是一個字節字元串,取決於您使用的散列類型,Hash是散列函式的輸出。對於 SHA-256,DER 是字節串:

30 31 30 0d 06 09 60 86 48 01 65 03 04 02 01 05 00 04 20

所以,你把你的雜湊,在它前面加上一個固定的字元串,你就完成了。

如果你想讓事情變得更簡單,你可以省略DER of Hash Type(這意味著你不是 PKCS #1.5,但是它不會引入任何已知的弱點。

引用自:https://crypto.stackexchange.com/questions/95915