Affine-Cipher

解密仿射密碼給定加密密鑰

  • May 10, 2017

我有一個使用等式形成的密文 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 $$

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