我正在阅读来自维基百科的Hill Cipher加密算法。我看到我有一个作为矩阵的键,它必须乘以值的矩阵。但是有两件事我不明白。
我不知道(mod 26)的意思。我知道它是模 26,但我不知道它的用途是什么?
至于第二个问题,我不明白矩阵 [15 14 7] 是从哪里来的?
任何好的解释将不胜感激。
我正在阅读来自维基百科的Hill Cipher加密算法。我看到我有一个作为矩阵的键,它必须乘以值的矩阵。但是有两件事我不明白。
我不知道(mod 26)的意思。我知道它是模 26,但我不知道它的用途是什么?
至于第二个问题,我不明白矩阵 [15 14 7] 是从哪里来的?
任何好的解释将不胜感激。
26
是字典的长度,恰好是英文字母表的长度(A 到 Z)。使用模运算符允许您将矩阵乘法(加密)的每个可能输出映射到字母表中的一个字母(834 = 2 (mod 26)
即C),这样您就可以将加密消息以字母串的形式存储。
来自[15 4 7]
矩阵[67 222 319] (mod 26)
:
三等号表示矩阵[67 222 319]
与[15 4 7]
模 26 一致。左侧矩阵中的每个元素也应与右侧矩阵中的相应元素模 26 一致,因此您将模运算符应用于中的每个元素左侧矩阵以获取右侧矩阵中的每个元素。
因此,将两个矩阵相乘,然后得到加密矩阵。然后,您将结果矩阵的每个值取模 26。
mod 26 只是一般的意思,“这个值是模 26”。
嗨,这就是所谓的模运算,因为字母表中有 26 个字母 0 是 A 1 是 B ... 25 是 Z 所以什么字母是 27 不清楚这就是为什么你用模运算符 % 或 mod every 环绕数字当你得到一个大于 25 或小于 0 的数字时,你用 mod 26 环绕在这方面 27 是 B 因为 27 mod 26 = 1 矩阵 [15 14 7] 来自 [67 222 319] 因为 67 mod 26 = 15 222 mod 26 = 14 和 319 mod 26 = 7 :)