Matrix hill密码加密中的26模

Matrix hill密码加密中的26模,matrix,encryption,Matrix,Encryption,我正在读维基百科上的加密算法。我知道我有一个键作为矩阵,它必须乘以值矩阵。但有两件事我不明白 我不知道(mod 26)的平均值。我知道它是模26,但我不知道它适用于什么 至于第二个问题,我不明白矩阵[15 14 7]是从哪里来的 任何好的解释都将不胜感激。因此,将两个矩阵相乘,然后得到加密矩阵。然后,将结果矩阵的每个值模化26 mod 26通常表示“这个值是模26”。26是字典的长度,恰好是英文字母表(A到Z)的长度。使用模运算符,可以将矩阵乘法(加密)的每个可能输出映射到字母表中的一个字母(8

我正在读维基百科上的加密算法。我知道我有一个键作为矩阵,它必须乘以值矩阵。但有两件事我不明白

我不知道(mod 26)的平均值。我知道它是模26,但我不知道它适用于什么

至于第二个问题,我不明白矩阵[15 14 7]是从哪里来的


任何好的解释都将不胜感激。

因此,将两个矩阵相乘,然后得到加密矩阵。然后,将结果矩阵的每个值模化26


mod 26通常表示“这个值是模26”。

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个字母0是A 1是B。。。25是Z,那么27是什么字母不清楚,这就是为什么每次你得到一个大于25或小于0的数字时,你用模运算符%或mod环绕数字,在这方面,27是B,因为27 mod 26=1,矩阵[15 14 7]来自[67 222 319]因为67 mod 26=15 222 mod 26=14和319 mod 26=7:)

如何按语法计算它,java中的fir示例是否使用了“%”?是的,这是模运算符。如果您不想使用矩阵代数库,则需要手动将加密矩阵和消息向量相乘。是的,我已经这样做了,但“矩阵代数库”中的含义是什么?加密矩阵的大小是
nxn
,其中
n
是字符串的长度。如果有消息
Imalongmessage
,则矩阵将变成
14x14
矩阵,并且乘法有些复杂。这完全可以从头开始,但我建议你要么找到一个矩阵代数库,要么创建一个基本的
矩阵
类,可以与另一个
矩阵
类相乘。这并不难。字母表是如何表示的?我的意思是,它们是从A-1、B-2、C-3等开始表示的,还是从A-0、B-1、C-2等开始表示的?