L001001012-古典密码-维吉尼亚密码实验 - 图文 联系客服

发布时间 : 星期二 文章L001001012-古典密码-维吉尼亚密码实验 - 图文更新完毕开始阅读6134ce35793e0912a21614791711cc7931b7783f

课程编写 名称 要求 虚拟PC) 连接要求 描述 环境描述 识 内容 L001001012-古典密码-维吉尼亚密码实验 维吉尼亚密码是古典密码中非常具有代表的例子。本实验要求用高级语言编写和调试一个简单的维吉密程序,通过本实验可以加深理解维吉尼亚密码原理。 Windows XP PC网络接口,本地连接与实验网络直连。 VC6.0 1、学生机与实验室网络直连; 2、VPC1与实验室网络直连; 3、学生机与VPC1物理链路连通; 人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。它是由16世纪法国亨瑟·维吉尼亚发明的。维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进抗字频统计。维吉尼亚密码的密钥空间大小为26m,所以即使m的值很小,使用穷尽密钥搜索方法也例如,当m=5时,密钥空间大小超过1.1*107,这样的密钥量已经超出了使用手算进行穷尽搜索的能 维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密: TO BE OR NOT TO BE THAT IS THE QUESTION 当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为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 youwearediscoveredsaveyourself; 第四步:密钥处理 将密钥重复排列;处理后:wangyuhangwangyuhangwangyuh; 第五步:加密 举例:明文第一个字母W编码为22,密钥第一个字母为W编码为22;22+22=44,44-26=18;18对应字母为Q,故将W加密为Q;明文第二个字母E编码为4,密钥第二个字母为A编对应字母为E,故将E加密为E;以此类推; 第六步:输出密文 举例:senxadvyyoikneqywvrekueyals 解密流程: 第一步:编号。将A-Z以编号0-25编号; 第二步:获取密钥。举例:wangyuhang; 第三步:密文处理。去掉所有空格;处理后:senxadvyyoikneqywvrekueyals; 第四步:密钥处理。将密钥重复排列;处理后:wangyuhangwangyuhangwangyuh; 第五步:解密。举例:密文第一个字母Q编码为18,密钥第一个字母为W编码为22;18-22=--4+26=22;22对应字母为W,故将Q解密为W;密文第二个字母E编码为4,密钥第二个字母为A编对应字母为E,故将E解密为E;以此类推; 第六步:明文处理 根据相关语言释读,按照正确的语言格式整理明文; 举例:we are discover容 维吉尼亚密码的编程实现 1、学生单击 “网络拓扑”进入实验场景,单击bupt-winxp_1中的“打开控制台”按钮,进入目标主骤 2、使用默认用户名:administrator,密码:123456登录到windows xp系统 3.运行VC++6.0 4.打开d:\\tools\\BUPT1004B中的BUPT1004B.cpp工程文件 5.查看代码并调试运行