采用替代密码算法中的维吉尼亚密码方法,密文C=“HEADVIGENERE”,密钥K=KEY,求明文P
将密文HEADVIGENERE用密钥替换后为KEYKEYKEYKEY
替换前:HEADVIGENERE
替换后:KEYKEYKEYKEY
解密求明文:
按替换后的内容找到第一行的K所在位置向下寻找,找到H的位置,当前行最左侧第一列对应的就为明文X
加密求密文:
按明文找到第一列对应的H,在从第一行中找到对应的密钥K,两个位置相交的值就为密文.
答案:
HEA DVI GEN ERE
KEY KEY KEY KEY
XAC TRK WAP UNG
-.是“n”不是9,你写的数字不是标准电报码,可以试试手机键盘
(当初)移民到美国的人们多是为了躲避宗教迫害 也有想在此实现自己宗教梦想 寻求自由或喜好冒险 寻求发财的。
这些定居者中有英格兰人 荷兰人 瑞典人 德国人 一些法国人 还有少数散居的西班牙人 意大利人和葡萄牙人
美国的首批黑奴于1619年船抵弗吉尼亚
中部殖民地社会更为多元现代化。
到这的德国人成了这里的农业好手。
个体工商业主要以编织 制鞋 造柜 也有其他手工业。
这些南方定居地多为乡下。
苏格兰人和爱尔兰人主要定居在现在美国的北部,以狩猎务农为生
当时的英国政府为维持其日益壮大的帝国的财政需要,推出了一项政策
殖民地人民对英国政府强加的税收条款和相关法规奋起反抗,诸如《食糖法案》 《邮票法案》 《汤森德法案》 《强制法案》
此时的13块殖民地还未组成联邦国家。
1776年约翰 迪金森起草的《论联邦及永久联盟的文章》在1777年的大陆会议上得以采纳并被应用于全国范围。该法案于1781年正式生效。
奴隶制在南方渐已根深蒂固
种棉业 制糖业 烟草业 劳动密集性农业为主的产业都助长了奴隶制的扩张。
1860年 亚伯拉罕 林肯当选为美国总统
11个州随即脱离联邦独立并宣称成立美利坚联盟国
这11个州分别是南卡 密西西比州 佛罗里达州 亚拉巴马州 佐治亚州 路易斯安那州 德克萨斯州 佛吉尼亚州 阿肯色州 田纳西州 和北卡。
1803年 美国第三任总统 托马斯杰佛逊与法国人谈判购买来路易斯安那州。
从 1816 到 1821年 6月期间 又有几个州相继成立 分别是印第安纳州 伊利诺伊州 缅因州 密西西比州 阿拉巴马州 和密苏里州。
欧洲殖民者的扩张最终导致了西新英格兰的印第安人与作为制造业 商业 金融主要集散地的大西洋中部州的殖民者之间的矛盾激化。
大西洋中部州主要产品为纺织品 木材 服装 机械 皮革 和木制品
南部经济以农业为主要来源
1849年 加利福尼亚州发现金矿。
美国西部繁荣的一个刺激性原因在于运输条件的极大改善。
1840 年到1860年期间, 美国迎来首批的450W移民。
到1865年为止 每五个联邦士兵里就有一个是美国南北战争时移民而来的
饥荒 人口激增 政局动荡都是移民的原因。
到1900年为止 美国的铁路总长已经超过了欧洲各国。石油 钢铁 纺织业蓬勃发展
由于一系列的发明创新:电话 白炽灯泡和电报在美国的广泛应用,电力工业一跃兴起。
学号:16030140019
姓名: 莫益彰
【嵌牛导读】:凯撒密码是一种简单的加密方法,即将文本中的每一个字符都位移相同的位置。如选定位移3位:
原文:a b c
密文:d e f
由于出现了字母频度分析,凯撒密码变得很容易破解,因此人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。
【嵌牛鼻子】密码学,计算机安全。
【嵌牛提问】维吉尼亚怎么破解,8位维吉尼亚是否可破?维吉尼亚算法的时间复杂度?
【嵌牛正文】
维吉尼亚密码的加密
维吉尼亚密码由凯撒密码扩展而来,引入了密钥的概念。即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:
密钥:RE LA TI ONS RE LA TION SR ELA TIONSREL
明文:TO BE OR NOT TO BE THAT IS THE QUESTION
密文:KS ME HZ BBL KS ME MPOG AJ XSE JCSFLZSY
图解加密过程:
在维吉尼亚(Vigenère)的密码中,发件人和收件人必须使用同一个关键词(或者同一文字章节),这个关键词或文字章节中的字母告诉他们怎么样才能前后改变字母的位置来获得该段信息中的每个字母的正确对应位置。
维吉尼亚密码的破解
维吉尼亚密码分解后实则就是多个凯撒密码,只要知道密钥的长度,我们就可以将其分解。
如密文为:ABCDEFGHIJKLMN
如果我们知道密钥长度为3,就可将其分解为三组:
组1:A D G J N
组2:B E H K
组3:C F I M
分解后每组就是一个凯撒密码,即组内的位移量是一致的,对每一组即可用频度分析法来解密。
所以破解维吉尼亚密码的关键就是确定密钥的长度。
确定密钥长度
确定密钥长度主要有两种方法,Kasiski 测试法相对简单很多,但Friedman 测试法的效果明显优于Kasiski 测试法。
Kasiski 测试法
在英文中,一些常见的单词如the有几率被密钥的相同部分加密,即原文中的the可能在密文中呈现为相同的三个字母。
在这种情况下,相同片段的间距就是密文长度的倍数。
所以我们可以通过在密文中找到相同的片段,计算出这些相同片段之间的间距,而密钥长度理论上就是这些间距的公约数。
然后我们需要知道重合指数(IC, index of coincidence)的概念。
重合指数表示两个随机选出的字母是相同的的概率,即随机选出两个A的概率+随机选出两个B的概率+随机选出两个C的概率+……+随机选出两个Z的概率。
对英语而言,根据上述的频率表,我们可以计算出英语文本的重合指数为
P(A)^2 + P(B)^2+……+P(Z)^2 = 0.65
利用重合指数推测密钥长度的原理在于,对于一个由凯撒密码加密的序列,由于所有字母的位移程度相同,所以密文的重合指数应等于原文语言的重合指数。
据此,我们可以逐一计算不同密钥长度下的重合指数,当重合指数接近期望的0.65时,我们就可以推测这是我们所要找的密钥长度。
举例来说,对密文ABCDEABCDEABCDEABC
首先测试密钥长度=1,对密文ABCDEABCDEABCDEABC统计每个字符出现的次数:
A: 4 B: 4 C: 4 D:3 E:3
那么对于该序列的重合指数就为:(4/18)^2 + (4/18)^2 + (4/18)^2 +(3/18)^2 +(3/18)^2 != 0.65
然后测试密钥长度=2,将密文ABCDEABCDEABCDEABC分解为两组:
组1:A C E B D A C E B
组2:B D A C E B D A C
我们知道如果密钥长度真的是2,那么组1,组2都是一个凯撒密码。对组1组2分别计算重合指数。
如果组1的重合指数接近0.65,组2的重合指数也接近0.65,那么基本可以断定密钥长度为2。
在知道了密钥长度n以后,就可将密文分解为n组,每一组都是一个凯撒密码,然后对每一组用字母频度分析进行解密,和在一起就能成功解密凯撒密码。
上文已经说到,自然语言的字母频度是一定的。字母频度分析就是将密文的字母频度和自然语言的自然频度排序对比,从而找出可能的原文。
维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:
密钥:RE LA TI ONS RE LA TION SR ELA TIONSREL
明文:TO BE OR NOT TO BE THAT IS THE QUESTION
密文:KS ME HZ BBL KS ME MPOG AJ XSE JCSFLZSY
与凯撒密码类似,进行一下运算两次即可