如何计算Hill Cipher算法中的反密钥矩阵?

栏目: 编程工具 · 发布时间: 6年前

内容简介:我发现很难理解在Hill Cipher算法中计算矩阵的逆矩阵的方式.我知道这一切都是在模运算中完成的,但不知怎的,事情并没有加起来.我真的很感激一个简单的解释!考虑以下Hill Cipher密钥矩阵:请使用上面的矩阵进行说明.

我发现很难理解在Hill Cipher算法中计算矩阵的逆矩阵的方式.我知道这一切都是在模运算中完成的,但不知怎的,事情并没有加起来.我真的很感激一个简单的解释!

考虑以下Hill Cipher密钥矩阵:

请使用上面的矩阵进行说明.

您必须学习属于 Number TheoryLinear congruence theoremextended GCD algorithm ,以便了解 modulo arithmetic

背后的数学.

例如,矩阵K的逆是(1 / det(K))*伴随(K),其中det(K)<> 0.

我假设您不理解如何以模运算计算 1/det(K) ,这里是线性同余和GCD发挥作用的地方.

你的K有det(K)= – 121.让我们说模m是26.我们想要x *( – 121)= 1(mod 26).[a = b(mod m)意味着a-b = N * m]

我们可以很容易地发现,对于x = 3,上述同余是正确的,因为26精确地除(3 *( – 121)-1).当然,正确的方法是反向使用GCD来计算x,但我没有时间解释它是如何做的.检查扩展的GCD算法:)

现在,inv(K)= 3 *([3 -8],[ – 17 5])(mod 26)=([9-24],[ – 51 15])(mod 26)=([9 2] ,[1 15]).

更新:查看 Basics of Computational Number Theory 以了解如何使用Extended Euclidean算法计算模块化逆.注意-121 mod 26 = 9,因此对于gcd(9,26)= 1,我们得到(-1,3).

翻译自:https://stackoverflow.com/questions/960190/how-to-calculate-the-inverse-key-matrix-in-hill-cipher-algorithm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

修改代码的艺术

修改代码的艺术

Michael Feathers / 刘未鹏 / 人民邮电出版社 / 2007-09-25 / 59.00元

我们都知道,即使是最训练有素的开发团队,也不能保证始终编写出清晰高效的代码。如果不积极地修改、挽救,随着时间流逝,所有软件都会不可避免地渐渐变得复杂、难以理解,最终腐化、变质。因此,理解并修改已经编写好的代码,是每一位程序员每天都要面对的工作,也是开发程序新特性的基础。然而,与开发新代码相比,修改代码更加令人生畏,而且长期以来缺乏文献和资料可供参考。 本书是继《重构》和《重构与模式》之后探讨......一起来看看 《修改代码的艺术》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具