Classical-Cipher

仿射密碼是如何排列的?

  • August 24, 2017

不同符號映射到的內容似乎會發生一些衝突,從而導致資訊失去。

例如,假設我們使用英文字母,乘以 2 並取同餘模 26。在這種情況下,A 和 N 都將映射到同一個密文字母,而不管移位值是多少。與B和O等相同。實際上,如果公式是 $ (ax + b) \mod n $ 在哪裡 $ n $ 是明文字母表的大小,那麼密文字母表將只有 $ 1 \over a $ 與明文字母一樣多的符號。

我是不是誤會了什麼?

乘以 2 模 26 確實不是置換。例如,

$$ 2 \times 13 = 26 \equiv 0 = 2 \times 0 \pmod{26}. $$ 仿射圖的充要條件 $ x \mapsto ax + b $ 是整數模的排列 $ m $ 是乘法常數 $ a $ 和模數 $ m $ 必須互質;也就是說,它們的最大公約數必須是 1。

如果是這種情況,那麼我們可以找到模乘逆 $ a^{-1} $ 的 $ a $ 模組 $ m $ 並用它來定義逆映射 $ x \mapsto a^{-1}(x-b) $ . 很容易驗證,基於以下事實 $ a^{-1} a \equiv 1 \pmod m $ ,這兩個映射的組合(以任意順序)產生恆等映射 $ x \mapsto x $ ,這足以表明這些映射必須是雙射的。

相反,如果 $ a $ 和 $ m $ 共享一個公約數 $ g > 1 $ ,那麼地圖 $ x \mapsto ax + b $ 不能是雙射。特別是,兩者 $ 0 $ 和 $ m/g $ 將被映射到同一個元素 $ b $ 通過這張地圖。

如果有 $ x_1 \neq x_2 $ 在整數環中取模 $ n $ 這樣

$$ ax_1+b \equiv a x_2+b \pmod n $$減去兩側將給出 $ a(x_1-x_2) \mid n $ 並且因為 $ \gcd(a,n)=1, $ 這表示 $ x_1 \equiv x_2 \pmod n $ 暗示地圖是在這個假設下的一個排列。

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