我想实现希尔密码,但我认为我在理解算法本身时遇到了问题。
我将使用的密钥是一个 2X2 矩阵,我每次将编码 2 个字符。我将键矩阵与 2 个字符的矩阵相乘,然后将 26 上的结果取模为这个等式。
C = E(K, P) = KP mod 26
where: K:key
P:plain text
我是这样做的,但是有问题。我使用书中的示例来测试我的算法。由于纯文本是friday
并且键是: int key[][] = {{5, 8}, {17, 3}}
; 结果应该是PQCFKU
。
对于第一个字母f
, r
, f= 5
,r=17
字母加密的顺序f
应该(5*5 + 17*8)%26 =5 => f
是P
我犯的错误在哪里?