Encryption
學習 RSA:模運算後解密產生不一致的結果
我仍在為我的加密 101 學習,我在一項練習中遇到問題,我找不到我錯在哪裡……
我們有
p=11
andq=19
(son=p*q=209
) ande=17
。我需要m=5
用 RSA 系統加密。所以:Crypt_Msg = m e mod n = 5 17 mod 209 = 80
好的……現在我想解密那個值(
Crypt_Msg=80
)……首先
d = inverse(e, n) = inverse(17, 209) = 123
Decrypt_Msg = 80 123 mod 209 = 49!!
我究竟做錯了什麼?
謝謝!!
d = inverse(e, n) = inverse(17, 209) = 123
那是錯誤的;它應該是:
$$ d = \text{inverse}(e, (p-1)(q-1)) = \text{inverse}(17, 180) = 53 $$
或者
$$ d = \text{inverse}(e, \text{lcm}(p-1,q-1)) = \text{inverse}(17, 90) = 53 $$
(在這種情況下,兩種方法都給出相同的私有指數;有時會發生這種情況……)
此外,您還有:
$ 6^{17} \bmod 209 = 80 $
當我計算 $ 6^{17} \bmod 209 $ ,我得到 206…
好吧……我的錯。計算
d
等於inv(e, ϕ(n))