赞
踩
通过该实验,详细了解DES加密算法的原理以及实现过程。
客户机:windows_7 X64 IP地址:随机分配
源码与CAP4工具请在实验机内下载使用:http://tools.hetianlab.com/tools/T058.zip
我们的任务分为4个部分:
1.了解DES加密算法整体流程。
2.了解DES加密算法细节。
3.使用python简单实现DES算法加密主要过程
DES
DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。需要注意的是,在某些文献中,作为算法的DES称为数据加密算法(DataEncryption Algorithm,DEA),已与作为标准的DES区分开来。
DES算法就是一个把64位的明文输入块变为64位密文输出块的算法,它所使用的密钥也是64位(其实只使用到了56位,其余8位位奇偶校验位)
DES算法的入口参数有三个:Key、Data、Mode。
Key(密钥):为7个字节共56位,是DES算法的工作密钥(若说密钥为64位,其指的也是56位的秘钥加上8位奇偶校验位,奇偶校验位为第8,16,24,32,40,48,56,64位)
Data(数据):为8个字节64位,是要被加密或被解密的数据
Mode(模式): 为DES的工作方式,有两种:加密或解密。
算法特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。
Unicode码
Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分 Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符, 比如汉字"经"的编码是0x7ECF,注意字符码一般用十六进制来 表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制 就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制, 2的16次方等于65536,所以UCS-2最多能编码65536个字符。 编码从0到127的字符与ASCII编码的字符一样,比如字母"a"的Unicode 编码是0x0061,十进制是97,而"a"的ASCII编码是0x61,十进制也是97, 对于汉字的编码,事实上Unicode对汉字支持不怎么好,这也是没办法的, 简体和繁体总共有六七万个汉字,而UCS-2最多能表示65536个,才六万 多个,所以Unicode只能排除一些几乎不用的汉字,好在常用的简体汉字也不过七千多个,为了能表示所有汉字,Unicode也有UCS-4规范,就是用 4个字节来编码字符。
参考实验原理与相关介绍,完成实验任务,并对实验结果进行分析,完成思考题目,总结实验的心得体会,并提出实验的改进意见
解压文件后,将进行测试
使用环境中的CAP4进行加密,比较生成的二进制
本实验主要考察对DES的理解程度,我们了解了DES算法的实践过程和工作原理。经过这次实验,我们对DES加密过程已经十分熟悉。实验过程中应注意输入字母的正确性,比如testtest不能输为testest。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。