1

我想实现希尔密码,但我认为我在理解算法本身时遇到了问题。

我将使用的密钥是一个 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 => fP

我犯的错误在哪里?

4

1 回答 1

2

如果这是:http ://slidefinder.net/c/chapter_classical_encryption_techniques_jen/11206531/p2是你的书,矩阵 [[5, 8] [17, 3]] 不是你的加密密钥......它是输入矩阵。5 = F, 17 = R, 8 = I, 3 = D. K 是加密密钥,幻灯片中没有给出。您必须求解线性代数方程才能得到 K。

如果您对书中的示例仍有疑问,请尝试http://www.cs.uri.edu/cryptography/classicalhill.htm获取一个简单的 2x2 密钥示例,其中包含加密和解密。

于 2010-10-22T14:59:56.067 回答