- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息安全实验报告一
山东大学 软件 学院
信息安全导论 课程实验报告
?
学号:201300301385 姓名: 周强 班级: 2013级八班 实验题目:RC4流加密算法实验 实验学时: 日期: 实验目的:
(1)了解对称算法的基本工作流程。
(2)掌握对称算法的使用方法。
硬件环境:?
软件环境:
DEEPIN操作系统
Windows7操作系统
Python shell
VS2008
Openssl库
实验步骤与内容
一、了解openssl和各种加密算法
(1)什么是openssl工具包
SSL/TLS协议位于TCP协议和应用层协议之间,为传输双方提供认证、加密和完整性保护等安全服务。 SSL作为一个协议框架,通信双方可以选用合适的对称算法、公钥算法、MAC算法等密码算法实现安全服务。
OpenSSL是使用非常广泛的SSL的开源实现。由于其中实现了为SSL所用的各种加密算法,因此OpenSSL也是被广泛使用的加密函数库。
(2)对对称加密算法的基本认识
对称加密使用的加密和解密密钥是相同的,加密过程是解密过程的逆过程。
其基本过程是:
F(K,IN,ENC/DEC)= OUT
其中IN是固定长度的输入分组(DES算法是8字节,AES是16字节),OUT是同样长度的输出分组,密钥K是随机比特串(DES是56比特,AES是128比特)。
对称加密算法又分为流加密和分组加密。
(2)RC4流加密算法
RC4密码算法是流算法,也叫序列算法。流算法是从密钥作为种子产生密钥流,明文比特流和密钥流异或即加密。RC4算法由于算法简洁,速度极快,密钥长度可变,而且也没有填充的麻烦,因此在很多场合值得大力推荐。
RC4由伪随机数生成器和异或运算组成。RC4的密钥长度可变,范围是[1,255]。RC4一个字节一个字节地加解密。给定一个密钥,伪随机数生成器接受密钥并产生一个S盒。S盒用来加密数据,而且在加密过程中S盒会变化。
由于异或运算的对合性,RC4加密解密使用同一套算法。
RC4加密的伪代码
初始化长度为256的S盒。第一个for循环将0到255的互不重复的元素装入S盒。第二个for循环根据密钥打乱S盒。
下面i,j是两个指针。每收到一个字节,就进行while循环。通过一定的算法((a),(b))定位S盒中的一个元素,并与输入字节异或,得到k。循环中还改变了S盒((c))。如果输入的是明文,输出的就是密文;如果输入的是密文,输出的就是明文。
此算法保证每256次循环中S盒的每个元素至少被交换过一次在linux下配置openssl
在Linux中可以使用tar解压缩,在Windows中可以使用winzip或winrar。
$tar zxf openssl-0.9.8c.tar.gz
在Linux中的编译和安装步骤较简单:
$./config
$make
$make test
$make install
在Linux下,头文件、库文件、工具都已被安装放到了合适的位置。库文件是.a或.so格式。一般Linux发行版中默认已经安装了OpenSSL的运行和开发环境,因此可以不必另外安装。
使用OpenSSL.exe(Linux中可执行文件名是openssl)可以做很多工作,是一个很好的测试或调试工具。
显示版本和编译参数: openssl version -a
查看支持的子命令: openssl ?
SSL密码组合列表: openssl ciphers
测试所有算法速度: openssl speed
测试RSA速度: openssl speed rsa
测试DES速度: openssl speed des
产生RSA密钥对: openssl genrsa -out 1.key 1024
取出RSA公钥: openssl rsa -in 1.key -pubout -out 1.pubkey
RC4加密文件: openssl enc -e -rc4 -in 1.key -out 1.key.enc
RC4解密文件: openssl enc -d -rc4 -in 1.key.enc -out 1.key.2
计算文件的MD5值: openssl md5 1.key
计算文件的SHA1值: openssl sha1 1.key
使用openssl进行AES 256位密钥 cbc模式对称加密使用OpenSSL对文件进行加密,其实就跟对消息进行加密一样简单。我们使用-in选项,后面跟以我们想进行加密的实际文件,并使用-out选项,这会指令OpenSSL将经过加密的文件存储到某个名称的文件中:
$ openssl enc -aes-256-cb
文档评论(0)