解密仿射密碼給定加密密鑰
我有一個使用等式形成的密文 C=TLNJG
c=(7p+11) mod 27
,c 相當於密文的數字等價字元,p 是明文我如何取回明文?
用於加密:
c=(7p+11) mod 27
解密:
p=5(c-11) mod 27
假設我加密了我會得到的字母 B(1)
c = (7 + 11) 模 27
c=18 mod 27=18(字母 S)
但是如果我使用字母 SI 的解密方程進行解密,將得到字母 I 而不是 B。為什麼?
p = 5 (18-11) 模 27
p=35 mod 27=8(字母 i)
你的公式是錯誤的。如果
$$ c \equiv 7p + 11 \mod{27} $$然後通過應用模算術函式 $$ c - 11 \equiv 7 p \mod{27} $$接著$$ (c - 11) \times 7^{-1} \equiv p \mod{27} $$. 因此,解密函式為:
$$ p \equiv (c - 11) \times 7^{-1} \mod{27} $$ 為此,我們需要計算7 模 27 的乘法逆。因為它們是互質數,所以存在這個逆。我們可以使用Euler totient方法計算它,如下所示:
$$ 7 ^{-1} \equiv 7 ^{\phi(27) -1} \mod{27} $$ $$ \phi(27) = 27 \times (1 - \frac{1}{3}) = 18 $$ 然後 $$ 7^{-1} \equiv 7^{17} \equiv 4 \mod{27} $$ 最後解碼功能是:
$$ p \equiv (c - 11) \times 4 $$ 對於您的範例:
$$ (18 - 11) \times 4 \equiv 7 \times 4 \equiv 28 \equiv 1 \mod{27} $$
我認為對於您的問題,最簡單的(紙質)解決方案是最好的。
您需要從查找替換查找表開始。首先我們需要把字母變成數字。通常對於這樣的密碼 $ A=0, B=1, C=2 \dots $ 現在我們計算表格。獲取可以在明文中出現的每個字元併計算其密文的值。
$$ p=B \implies (7 \cdot 1 + 11) \mod 27 = 18 \mod 27 = 18 \implies c = S $$ 現在你要做的就是把表倒過來,逐個字母地遍歷你的密文,找到對應的明文。
關於問題的第二部分,我認為您計算錯誤:
$$ 7^{-1} \mod 27 = 4 $$ 因為: $$ 7 \cdot 4 \mod 27 = 28 \mod 27 = 1 $$