Encryption
如何在 RSA 中加密字元串(練習)
我正試圖以一種干淨的方式解決我上次考試中的加密 RSA 問題,但我被困在最後一步……
首先,我們使用一個有 27 個字元的字母表(即西班牙字母表:AZ + Ñ)。我們將每個字元編碼為 A=0, B=1, …, N=13, Ñ=14, O=15, …, Y=25, Z=26。
我們有
d=7
,n=33
,e=3
.由於 27 1 < 33 < 27 2我們可以將我們的消息分成每個 1 個字元的塊。
我們要加密字元串NIÑO,所以:
- N → 13 7 mod 33 = 7 → H
- I → 8 7 mod 33 = 2 → C
- Ñ → 14 7 mod 33 = 20 → T
- O → 15 7 mod 33 = 27 → ¿
您是對的,問題陳述不允許將整個密文編碼為字母。選項包括將密文寫為 HCT27 或 7 2 20 27 或 07022027,並解釋原因。
注意:在 RSA 的標准說明中,加密使用 exponent
e
,而不是d
在建議的解決方案中。但n
事實證明,這對結果沒有任何影響。在我看來,從教學的角度來看,在 RSA 練習中使用這麼小n
的內容是不明智的,尤其是沒有提醒 RSA 要安全,一個必要條件是n
具有數百個十進制數字。