古典密码维吉尼亚密码 您所在的位置:网站首页 维吉尼亚密码crimaster 古典密码维吉尼亚密码

古典密码维吉尼亚密码

#古典密码维吉尼亚密码| 来源: 网络整理| 查看: 265

原标题:古典密码维吉尼亚密码

维吉尼亚密码是古典密码中非常具有代表的例子。本实验要求用高级语言编写和调试一个简单的维吉尼亚密码实现及解密程序,通过本实验可以加深理解维吉尼亚密码原理。

人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。它是由16世纪法国亨利三世王朝的布莱瑟·维吉尼亚发明的。维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。维吉尼亚密码的密钥空间大小为26m,所以即使m的值很小,使用穷尽密钥搜索方法也需要很长的时间。例如,当m=5时,密钥空间大小超过1.1*107,这样的密钥量已经超出了使用手算进行穷尽搜索的能力范围。

维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:

TO BE OR NOT TO BE THAT IS THE QUESTION

当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:

密钥:RELAT IONSR ELATI ONSRE LATIO NSREL

明文:TOBEO RNOTT OBETH ATIST HEQUE STION

密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY

历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。

加密流程:

第一步:编号。将A-Z以编号0-25编号;

第二步:选取密钥。举例:wangyuhang;

第三步:明文处理。去掉所有空格;举例:明文为we are discovered save yourself;处理后:wearediscoveredsaveyourself;

第四步:密钥处理 将密钥重复排列;处理后:wangyuhangwangyuhangwangyuh;

第五步:加密 举例:明文第一个字母W编码为22,密钥第一个字母为W编码为22;22+22=44,因为44>26,所以44-26=18;18对应字母为Q,故将W加密为Q;明文第二个字母E编码为4,密钥第二个字母为A编码为0;4+0=4,4对应字母为E,故将E加密为E;以此类推;

第六步:输出密文 举例:senxadvyyoikneqywvrekueyals

解密流程:

第一步:编号。将A-Z以编号0-25编号;

第二步:获取密钥。举例:wangyuhang;

第三步:密文处理。去掉所有空格;处理后:senxadvyyoikneqywvrekueyals;

第四步:密钥处理。将密钥重复排列;处理后:wangyuhangwangyuhangwangyuh;

第五步:解密。举例:密文第一个字母Q编码为18,密钥第一个字母为W编码为22;18-22=-4,因为-4

责任编辑:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有