信息安全实验报告一

上传人:人*** 文档编号:559693047 上传时间:2023-10-03 格式:DOCX 页数:11 大小:156.77KB
返回 下载 相关 举报
信息安全实验报告一_第1页
第1页 / 共11页
信息安全实验报告一_第2页
第2页 / 共11页
信息安全实验报告一_第3页
第3页 / 共11页
信息安全实验报告一_第4页
第4页 / 共11页
信息安全实验报告一_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《信息安全实验报告一》由会员分享,可在线阅读,更多相关《信息安全实验报告一(11页珍藏版)》请在金锄头文库上搜索。

1、山东大学软件学院硬件环境:連器:宝装内存RAM:靳聽:信息安全导论课程实验报告学号:201300301385姓名:周强班级:2013级八班实验题目:RC4流加密算法实验实验学时:日期:实验目的:(1) 了解对称算法的基本工作流程。(2) 掌握对称算法的使用方法。Intel(R) CorefTM i5-4200U CPU l.&OGHz 2.30 GHz 4.00 GB C3.S9 GB 可用)64僅援柞蔡统没有可用于此显示器的笔或触控抜入软件环境:DEEPIN操作系统Windows7操作系统Python shellVS2008Openssl 库 实验步骤与内容:一、了解openssl和各种加密

2、算法(1) 什么是openssl工具包SSL/TLS协议位于TCP协议和应用层协议之间,为传输双方提供认证、加 密和完整性保护等安全服务。SSL作为一个协议框架,通信双方可以选用合适 的对称算法、公钥算法、MAC算法等密码算法实现安全服务。OpenSSL是使用非常广泛的SSL的开源实现。由于其中实现了为SSL所用 的各种加密算法,因此OpenSSL也是被广泛使用的加密函数库。(2) 对对称加密算法的基本认识对称加密使用的加密和解密密钥是相同的,加密过程是解密过程的逆过程。 其基本过程是:F (K, IN, ENC/DEC) = OUT其中IN是固定长度的输入分组(DES算法是8字节,AES是1

3、6字节),OUT 是同样长度的输出分组,密钥K是随机比特串(DES是56比特,AES是128比 特)。对称加密算法又分为流加密和分组加密。(2) RC4流加密算法RC4密码算法是流算法,也叫序列算法。流算法是从密钥作为种子产生密钥 流,明文比特流和密钥流异或即加密。RC4算法由于算法简洁,速度极快,密钥 长度可变,而且也没有填充的麻烦,因此在很多场合值得大力推荐。RC4由伪随机数生成器和异或运算组成。RC4的密钥长度可变,范围是 1,255。RC4 一个字节一个字节地加解密。给定一个密钥,伪随机数生成器接 受密钥并产生一个S盒。S盒用来加密数据,而且在加密过程中S盒会变化。由于异或运算的对合性

4、,RC4加密解密使用同一套算法。(3) RC4加密的伪代码1、初始化长度为256的S盒。第一个for循环将0到255的互不重复的元 素装入S盒。第二个for循环根据密钥打乱S盒。for i from 0 to 255Si:二 iendforJ := 0for( i=0 ; iopenssl version -aopenssl ?openssl ciphersopenssl speedopenssl speed rsaopenssl speed desopenssl genrsa -out l.key 1024openssl rsa -in 1. key -pubout -out 1 pubke

5、y openssl enc -e -rc4 -in 1. key -out 1. keyenc openssl enc -d -rc4 -in 1key enc -out 1. key.2 openssl md5 openssl sha1 *$ openssl enc -aes-256-匚be -d -in encrypt.txtdencrypt.txtzsh: command not found: $t openssl enc -aes-256-cbc -d -in encrypt.txtdencrypt.txt enter aes-256-匚be decryption password:5

6、、解密后文件H公共的Tencent Files图片n文档下载观频a音乐桌面二二二dencrypt.txtencrypt.txtzhouqiang.txtdencrypt.txt 卜)-g&dit文件(F)编辑(E查看(V)搜索朽)工具仃)文档心帮肋(H)打开匕*保存 &撤消亘 dencrypt.txt x|l am ZhouQiangp using AES !四、Python实现RC4加密import sys,os,hashlib,time,base64class rc4:def _init_(self,public_key = None,ckey_lenth = 16): self.ckey

7、_lenth = ckey_lenth self.public_key = public_key or none_public_key key = hashlib.md5(self.public_key).hexdigest() self.keya = hashlibmd5(key0:16)hexdigest() self.keyb = hashlib.md5(key16:32).hexdigest() self.keyc =def encode(self,string):self.keyc = hashlib.md5(str(timetime()hexdigest()32 - self.ck

8、ey_lenth:32 string = 0000000000 + hashlib.md5(string + selfkeyb)hexdigest()0:16 + string self.result =self.docrypt(string)return self.keyc + base64.b64encode(self.result)def decode(self,string): self.keyc = string0:self.ckey_lenth string = base64b64decode(stringselfckey_lenth:) self.result =self.doc

9、rypt(string) result = self.resultif (result0:10 = 0000000000 or int(result0:10) - int(timetime() 0) and result10:26 = hashlib.md5(result26: + selfkeyb)hexdigest()0:16:return result26:else:return Nonedef docrypt(self,string):string_lenth = len(string)result =box = list(range(256)randkey =cryptkey = self.keya + hashlib.md5(self.keya + self.keyc).hexdigest() key_lenth = len(cryptkey)for i in xrange(255):randkey.append(ord(cryptkeyi % key_lenth)for i in xrange(255):j = 0j = (j + boxi + randkeyi) % 256tmp = boxi boxi = box

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号