古典密码学之希尔密码.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
古典密码学之希尔密码

信息与计算科学0902班 任龙杰 090701031 古典密码学之希尔密码 希尔密码(Hill Password)是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果模26。注意用作加密的矩阵(即密匙) 在math\mathbb_^n/math必须是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。 安全性: 希尔密码不是足够安全的, 如今已被证实, 关于希尔密码的破解不在本文范围内, 有兴趣的朋友可以研读相关书籍以了解相关破译方法。 希尔密码所需要掌握的前置知识: 1. 线性代数基础知识; 2. 初等数论基础知识; 约定: 1. 希尔密码常使用Z26字母表, 在此贴中, 我们也以Z26最为字母表进行讲解.在附带源码中有两种字母表选择。 2. 大家都知道最小的质数是2, 1 既不是质数也不是合数. 在此我们定义1对任何质数的模逆为其本身。 3. 因为对于任意质数n, 有: 1*1 % n = 1 的. 也应该是很好理解的。 相关概念: 线性代数中的逆矩阵: 在线性代数中, 大家都知道,对于一个n阶矩阵 M , 如果存在一个n阶矩阵 N ,使得 M * N = E (其中:   E为n阶单位矩阵), 则称矩阵 N 为矩阵 M 的逆矩阵, 并记为 M^-1.   比如 2阶矩阵 M = [3,6] , 则很容易得知其逆矩阵 :   [2,7]   M^-1 = [7/9, -2/3]   [-2/9, 1/3] 。   关于这个逆矩阵是如何计算出的, 通常的有两种方法:   一是使用伴随矩阵, 通过计算行列式得到. 所用公式为: M^-1 = M^* / D . (其中M^*为M的伴随矩阵, D为M的行列式的值) 二是通过增广矩阵, 在M右侧附加一个n阶单位矩阵, 再通过初等变换将增广矩阵的左侧变换为一个n阶单位矩阵, 这时右侧便是所求的逆矩阵。 示例: 密文:l 11 242 44 121 22 154 132 44 209 154 154 220 187 22 121 220 11   解答:根据第一项,全部除以11, 因为l是第12个字母,即l=12-k,得k=1 按a=0 …… z=25,列出字母 WELCOME TO OUR CLUB   希尔密码   加密   例如:密钥(密码学中好象没有密匙一词)矩阵   1 3   0 2   明文:HI THERE   去空格,2个字母一组,根据字母表顺序换成矩阵数值如下,末尾的E为填充字元:   HI TH ER EE   8 20 5 5   9 8 18 5   HI 经过矩阵运算转换为 IS,具体算法参考下面的说明:   |1 3| 8 e1*8+3*9=35 MOD26=9 =I   |0 2| 9 e0*8+2*9=18 MOD26=18=S   用同样的方法把“HI THERE”转换为密文“IS RPGJTJ”,注意明文中的两个E分别变为密文中的G和T。   解密   解密时,必须先算出密钥的逆矩阵,然后再根据加密的过程做逆运算。   逆矩阵算法公式:   |A B| = 1/(AD-BC) * | D -B|   |C D| |-C A|   例如密钥矩阵=   |1 7|   |0 3|   AD-BC=1*3-0*7=3 3*X=1 mod26 所以 X=9   因此   |1 7| 的逆矩阵为: 9 * |3 -7|   |0 3| |0 1|   假设密文为“FOAOESWO”   FO AO ES WO   6 1 5 23   15 15 19 15   9* |3 -7| | 6| = 9*(3*6-7*15)=-783 mod26 = 23=W   |0 1| |15| = 9*(0*6+1*15)= 135 mod26 = 5 =E   所以密文“FOAOESWO”的明文为“WEREDONE”

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档