收藏 分享(赏)

K_实验一 古典密码实验.doc

上传人:tkhy51908 文档编号:6336632 上传时间:2019-04-07 格式:DOC 页数:6 大小:70KB
下载 相关 举报
K_实验一 古典密码实验.doc_第1页
第1页 / 共6页
K_实验一 古典密码实验.doc_第2页
第2页 / 共6页
K_实验一 古典密码实验.doc_第3页
第3页 / 共6页
K_实验一 古典密码实验.doc_第4页
第4页 / 共6页
K_实验一 古典密码实验.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、1实验一 古典密码学若干算法实验名称:古典密码学若干算法 实验类型: 验证性实验学 时:4适用对象: 信息安全专业、计算机网络一、实验目的 学习常见的古典密码学算法,通过编程实现替代密码算法和置换密码算法,加深对古典密码体制的了解,为深入学习密码学奠定基础,并学习到经典密码学算法中常见的一些方法和策略。二、实验要求 (1) 实现移位密码;(2) 实现替换密码;(3) 实现 Vigenere 密码(选做);(4) 实现置换密码(换位密码);(5) 对每一种密码,编写加密字符串和加密文件的两种算法并进行实验。(5) 撰写规范的实验报告。三、实验原理古典密码算法曾被广泛应用,大都比较简单,可使用手工

2、和机械操作来实现加密和解密。它的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密。下面以两种常见的具有代表性的古典密码算法,以帮助读者对密码算法建立一个初步的印象。(1) 替代密码替代密码的原理是使用替代法进行加密,就是将明文由其它的字母、数字或符合所代替后形成密文。这里每个明文字母对应的密文字母可能是一个,也可能是多个。接收者对密文进行逆向替换即可得到明文。替代密码典型的表现形式有: 1)单表代替即简单替代密码或者称为单字母代替,明文字母表中的一个字符对应密文字母表中的一个字符。这是所有加密中最简单的方法。 关键词加密法就是一种典型的单表代换方法。它通过下述两步来构造(生成对应关

3、系) 。这里以ASCII 码 -256 个字母表为例:(1) 选择一个关键词,如果该关键词有重复的字母,去除第一次出现之外的所有相同的字母。例如:2关键词为:“This is the Key.” 则使用:“This teKy.”。(2)将该关键词写在字母表的下方,并用字母表的其他字母按标准的顺序写余下的空间。例如:字母 0 1 2 3 4 5 6 7 8 9 10 1112 255KEY T h i s t e K Y . 0 1 2 以下两个算法为根据关键词 theKey,来生成上面的加密密钥 KEY,然后对相应的数据进行加密。/ KeyEncrypt.cpp : 定义控制台应用程序的入口点

4、。/#include “malloc.h“#include “stdio.h“void GenKey(unsigned char Keyword/*关键词*/,int n,unsigned char KEY256)unsigned char *tmpKey=new unsigned charn;/*纯C语言,则为:unsigned char* tmpKey=malloc(n);*/int nKey=0;for(int i=0; i4 列、第 2 列-第 3 列, ,第列-第 1 列的顺序排列,则有下面的形式: viatfenbgsctk从而得到密文:kttaacsgebineftaiv解密密钥

5、是上面给出的 Key 的逆转换,对上面的密文再次实施换位处理即可。四、实验所需设备运行 Windows 操作系统的 PC 机,具有 Microsoft Visual C+、Borland C+ Builder 等 C+编译环境。五、实验方法及步骤 6(1) 在 256 个 ASCII 编码上面,实现移位密码(密钥为一个 1-255 之间的一个整数);(2) 实现替换密码;注意:若对全部 ASCII 字符串信息进行加解密,其每一个密钥 Key 为 0255 的一个全排列,程序应负责为加密算法生成一个加密密钥,试编写这个算法。(3) 实现 Vigenere 密码,对用户输入的任何一个以字符串表示的

6、密钥,用 Vigenere 密码算法对信息进行加解密;(4) 实现置换密码(换位密码),对给定的分组长度(如 n 个字符一组,就应产生 1n 的一个全排列)进行加解密;这里在对文件进行加密的时候,需要考虑文件的长度不是 n 的倍数时的处理问题。六、思考题 (1) 对于移位密码,采用穷举法能否破解,若采用仿射变换 呢?baxymod(2) 对于单表代替密码体系,历史上曾用频率分析法进行破解。我们所编写的程序往是对256个ASCII编码进行变换,其处理的信息不一定都是可读的文本信息。在这种情况下,采用频率密码分析法是否还适用?(3) 对于分组长度为n的换位密码,采用多次置换加密,你认为是否能够提高加密的强度?(4) 阅读一些其它参考文献,了解历史上常见的古典加密算法。这些加密方法对现代密码算法有何启示?

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报