欢迎光临 我们一直在努力

希尔密码例题,求一个用JAVA实现希尔密码加密算法的程序,高分,急求

日期:来源:希尔密码例题收集编辑:土味情话

求一个用JAVA实现希尔密码加密算法的程序,高分,急求,谢谢

你看看,如果不对你再找我,我把财富值退给你

利用数学矩阵与希尔密码等知识完成对I like you这句话的加密与解密

比如用矩阵

1 1 0

2 1 1

2 2 1

进行加密

I like you

按列优先排成3行

利用矩阵的乘法

可得加密结果I__U%pyicukk

解密只需求刚才加密矩阵的逆矩阵再相乘即可

什么是希尔密码?

希尔密码(Hill Password)是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果模26。注意用作加密的矩阵(即密匙)在\mathbb_^n必须是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。

希尔密码是基于矩阵的线性变换,希尔密码相对于前面介绍的移位密码以及放射密码而言,其最大的好处就是隐藏了字符的频率信息,使得传统的通过字频来破译密文的方法失效.希尔密码不是足够安全的,如今已被证实。

密码的分类

1、摩斯密码

最早的摩尔斯电码是一些表示数字的点和划。数字对应单词,需要查找一本代码表才能知道每个词对应的数。用一个电键可以敲击出点、划以及中间的停顿。

虽然摩尔斯发明了电报,但他缺乏相关的专门技术。他与艾尔菲德·维尔签定了一个协议,让他帮自己制造更加实用的设备。艾尔菲德·维尔构思了一个方案,通过点、划和中间的停顿,可以让每个字元和标点符号彼此独立地发送出去。他们达成一致,同意把这种标识不同符号的方案放到摩尔斯的专利中。这就是现在我们所熟知的美式摩尔斯电码,它被用来传送了世界上第一条电报。

2、四方密码:是一种对称式加密法,由法国人Felix Delastelle(1840年–1902年)发明。 这种方法将字母两个一组,然后采用多字母替换密码。

四方密码用4个5×5的矩阵来加密。每个矩阵都有25个字母(通常会取消Q或将I,J视作同一样,或改进为6×6的矩阵,加入10个数字)。

首先选择两个英文字作密匙,例如example和keyword。对于每一个密匙,将重复出现的字母去除,即example要转成exampl,然后将每个字母顺序放入矩阵,再将余下的字母顺序放入矩阵,便得出加密矩阵。

3、希尔密码:是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。

每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果模26。

注意用作加密的矩阵(即密匙)在<math>\mathbb_^n</math>必须是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。

4、波雷费密码是一种对称式密码,是首种双字母取代的加密法。

关于波雷费密码最早的纪录出现在一份1854年3月26日由查尔斯·惠斯登签署的文件。惠斯登的朋友波雷费勋爵普及了这个加密法。最初英国外交部拒绝使用这种密码,认为它太复杂。当惠斯登证明邻近学校的四个男孩中,有三个可以在15分钟内学会这种方法,外交部副秘书长的回应是:「这是有可能的,可惜你不能教晓那些高层人员。」

在第二次布尔战争和第一次世界大战,英军用了它;在二战,澳大利亚人也用了。波雷费密码所用的工具很少,而且很快便能加密讯息。它主要用来加密重要而又不关键的讯息。当时,敌军的密码分析员很快解出密码,可惜得的讯息都不重要。现时,波雷费密码被视为十分不安全的。

1914年,Joseph O. Mauborgne刊出了19页解密法。

1选取一个英文字作密匙。除去重复出现的字母。将密匙的字母逐个逐个加入5×5的矩阵内,剩下的空间将未加入的英文字母依a-z的顺序加入。(将Q去除,或将I和J视作同一字。)

2将要加密的讯息分成两个一组。若组内的字母相同,将X(或Q)加到该组的第一个字母后,重新分组。若剩下一个字,也加入X字。

3在每组中,找出两个字母在矩阵中的地方。

若两个字母不同行也不同列,在矩阵中找出另外两个字母,使这四个字母成为一个长方形的四个角。

若两个字母同行,取这两个字母右方的字母(若字母在最右方则取最左方的字母)。

若两个字母同列,取这两个字母下方的字母(若字母在最下方则取最上方的字母)。

新找到的两个字母就是原本的两个字母加密的结果。

5、仿射密码

仿射密码是一种替换密码。它是一个字母对一个字母的。

6、三分密码

三分密码由Felix Delastelle发明(他也发明了四方密码和二分密码)。二分密码是二维的,用5×5(或6×6)的矩阵加密,但三分密码则用3×3×3的。它是第一个应用的三字母替换密码。

首先随意制造一个3个3×3的Polybius方格替代密码,包括26个英文字母和一个符号。然后写出要加密的讯息的三维坐标。讯息和坐标四个一列排起,再顺序取横行的数字,三个一组分开,将这三个数字当成坐标,找出对应的字母,便得到密文。

二分密码的做法相近,和后来出现的ADFGVX密码差不多。

世界上著名的密码

1·最著名的摩斯密码:(又译为摩尔斯电码)是一种时通时断的信号代码,这种信号代码通过不同的排列顺序来表达不同的英文字母、数字和标点符号等。它由美国人艾尔菲德·维尔发明,当时他正在协助Samuel Morse进行摩尔斯电报机的发明(1835年)。

摩尔斯电码的历史:最早的摩尔斯电码是一些表示数字的点和划。数字对应单词,需要查找一本代码表才能知道每个词对应的数。用一个电键可以敲击出点、划以及中间的停顿。   虽然摩尔斯发明了电报,但他缺乏相关的专门技术。他与艾尔菲德·维尔签定了一个协议,让他帮自己制 摩尔斯电码

造更加实用的设备。艾尔菲德·维尔构思了一个方案,通过点、划和中间的停顿,可以让每个字元和标点符号彼此独立地发送出去。他们达成一致,同意把这种标识不同符号的方案放到摩尔斯的专利中。这就是现在我们所熟知的美式摩尔斯电码,它被用来传送了世界上第一条电报。   这种代码可以用一种音调平稳时断时续的无线电信号来传送,通常被称做连续波(Continuous Wave),缩写为CW。它可以是电报电线里的电子脉冲,也可以是一种机械的或视觉的信号(比如闪光)。   一般来说,任何一种能把书面字元用可变长度的信号表示的编码方式都可以称为摩尔斯电码。但现在这一术语只用来特指两种表示英语字母和符号的摩尔斯电码:美式摩尔斯电码被使用了在有线电报通信系统;今天还在使用的国际摩尔斯电码则只使用点和划(去掉了停顿)。   电报公司根据要发的信的长度收费。商业代码精心设计了五个字元组成一组的代码,做为一个单词发送。比如:BYOXO (“Are you trying to crawl out of it?”);LIOUY (“Why do not you answer my question?”);AYYLU (“Not clearly coded, repeat more clearly.”)。这些五个字元的简语可以用摩尔斯电码单独发送。在网络用词中,我们也会说一些最常用的摩尔斯商用代码。现在仍然在业余无线电中使用的有Q简语和Z简语:他们最初是为报务员之间交流通信质量、频率变更、电报编号等信息服务的。   1838年1月8日,艾菲尔德·维尔展示了一种使用点和划的电报码,这是摩尔斯电码前身。   作为一种信息编码标准,摩尔斯电码拥有其他编码方案无法超越的长久的生命。摩尔斯电码在海事通讯中被作为国际标准一直使用到1999年。1997年,当法国海军停止使用摩尔斯电码时,发送的最后一条消息是:“所有人注意,这是我们在永远沉寂之前最后的一声呐喊!”

2·希尔密码:加密   

例如:密钥矩阵   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”

3·维热纳尔方阵:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z   

B C D E F G H I J K L M N O P Q R S T U V W X Y Z A   

C D E F G H I J K L M N O P Q R S T U V W X Y Z A B   

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C   

E F G H I J K L M N O P Q R S T U V W X Y Z A B C D   

F G H I J K L M N O P Q R S T U V W X Y Z A B C D E   

G H I J K L M N O P Q R S T U V W X Y Z A B C D E F   

H I J K L M N O P Q R S T U V W X Y Z A B C D E F G   

I J K L M N O P Q R S T U V W X Y Z A B C D E F G H   

J K L M N O P Q R S T U V W X Y Z A B C D E F G H I   

K L M N O P Q R S T U V W X Y Z A B C D E F G H I J   

L M N O P Q R S T U V W X Y Z A B C D E F G H I J K   

M N O P Q R S T U V W X Y Z A B C D E F G H I J K L   

N O P Q R S T U V W X Y Z A B C D E F G H I J K L M   

O P Q R S T U V W X Y Z A B C D E F G H I J K L M N   

P Q R S T U V W X Y Z A B C D E F G H I J K L M N O   

Q R S T U V W X Y Z A B C D E F G H I J K L M N O P   

R S T U V W X Y Z A B C D E F G H I J K L M N O P Q   

S T U V W X Y Z A B C D E F G H I J K L M N O P Q R   

T U V W X Y Z A B C D E F G H I J K L M N O P Q R S   

U V W X Y Z A B C D E F G H I J K L M N O P Q R S T   

V W X Y Z A B C D E F G H I J K L M N O P Q R S T U   

W X Y Z A B C D E F G H I J K L M N O P Q R S T U V   

X Y Z A B C D E F G H I J K L M N O P Q R S T U V W   

Y Z A B C D E F G H I J K L M N O P Q R S T U V W X   

Z A B C D E F G H I J K L M N O P Q R S T U V W X Y   

著名的维热纳尔方阵由密码学家维热纳尔编制,大体与凯撒加密法类似。即二人相约好一个密钥(单词   ),然后把加密后内容给对方,之后对方即可按密码表译出明文。   密钥一般为一个单词,加密时依次按照密钥的每个字母对照明码行加密。   例如:我的密钥是who,要加密的内容是I love you,则加密后就是E SCRL MKB.即加密I,就从密钥第一个字母打头的w那行找明码行的I对应的字母,即E。加密l,就从密钥第2个字母打头的h那行找明码l对应的字母,S。加密o,从密钥第三个字母O打头的那行找到明码行中o对应的字母,C。加密v,就又从密钥第一个字母w打头的那行找到明码行中v对应的字母,R。 依此类推。   所以由维热纳尔方阵加密的密码,在没有密钥的情况下给破译带来了不小的困难。   维热纳尔方阵很完美的避开了概率算法(按每个语种中每个字母出现的概率推算。例如英语中最多的是e),使当时的密码破译师必须重新找到新方法破译

参考资料: 好几个百度百科里提出来整理的,楼主以后有问题可以去百度百科搜搜看哦

希尔密码,C语言实现

在百度文库里面搜索下,有不少说明的

这就是其中一个,里面有自带程序,看看是不是你想要的

http://wenku.baidu.com/view/f9ebdc6727d3240c8447efa4.html

相关阅读

热门文章

  • 绝望,绝望的繁体字怎么写

  • 绝望的繁体字怎么写 “绝望”的繁体字为“绝望”。 绝望的绝的解释是什么 绝望,拼音:[jué wàng] 表示:没希望。一般指对某种事物完全失去了信心。 往往经历了多次的失败,失去
  • 作者简介范例,作者简介怎么写,范文

  • 作者简介怎么写,范文 姓名(出生年-),性别,民族(汉族可不写),某省某市(县)人(籍贯),现职称/职务,何年何月毕业于何校何专业,最高学历,现主要从事的工作或研究的方

最新文章

  • 阳光房屋顶用什么材料,阳光房顶用什么材料好

  • 阳光房顶用什么材料好 阳光房主框架主要分两种材质,一个碳钢钢管一个铝合金管。立面的门窗一般都用隔热断桥铝门窗。阳光房的主体结构承受着最大的力量支撑,所以,主体结构材
  • 好运头像图片,什么图片放在微信头像最吉利

  • 什么图片放在微信头像最吉利 什从图放在微信最吉利 能带来好运和招财的微信头像 属鸡的女人用什么做头彖招财健康 什么微信头像能带来好运? 这方面不要那么迷信,选自己喜欢的
  • 森系清新唯美的句子,森系唯美句子

  • 森系唯美句子 森系句子 1、曾记否,乱石穿空,惊涛拍岸,飞浪如雪,你,似一位豪情满怀的壮士,带着长长的锋利的宝剑,持铜板铁琶,临风而立,慷慨高歌,激昂了多少志士的情怀
  • home电商平台,目前有哪些主要跨境电商平台

  • 目前有哪些主要跨境电商平台 亚马逊、eBay、速卖通、wish、lazada等等,但是最主要的就是这几个吧 什么是电商运营 电子商务运营-Electronic Commerce Operation(ECO)最初定义为电子商务平台