Vigenere
這是 Vigenere 密碼的數學方程嗎
這是 Vigenere Cipher 的數學方程式還是其他什麼,如果有其他什麼是什麼?
其中 t 是純文字的字母,n 是 t 在文本中的位置,c 是加密字元。
對於“t”和“c”,a 為 1,z 為 26。
((t + n) > 25 -> c = (t + n) - 25) ^ ((t + n) <= 25 -> c = (t + n))
不,該問題不包含 Vigenere Cipher 的數學方程,其中包含明文
t
和密c
文 $ {1\dots 26} $ (字母a為 1,字母z為 26)和位移(或鍵)n
,有兩個原因:
- 我可以對給出的表達式做出的最佳解釋
->
是 $ \implies $ 數學符號,並^
表示邏輯 XOR(或者可能是邏輯 OR),即左側或右側之一成立(單詞one的可能含義在上下文中是等效的);但即使有這些假設,forn
of 1(表示下一個字元,循環)給定的表達式將明文y(由t
25 編碼)映射到密文a(由c
1 編碼)而不是所需的z(編碼 26);- 給出的表達式不會(對我)解析為數學方程。
採用原始形式,明文
t
和密文c
的Vigenere Cipher $ {1\dots 26} $n
, 和集合中的位移 $ {0\dots 26} $ ,正確的表達方式是:
((t + n) > 26 -> c = (t + n) - 26) ^ ((t + n) <= 26 -> c = (t + n))
一個可以通過的數學方程式是:
$$ t\mapsto c=((t+n+25)\bmod 26)+1 $$ 如果我們使用集合 $ {0\dots 25} $ 對於明文和密文,我們得到更好的
$$ t\mapsto c=(t+n)\bmod 26 $$ 或在原始形式中的表達
((t + n) > 25 -> c = (t + n) - 26) ^ ((t + n) <= 25 -> c = (t + n))