院 系: 计算机科学学院
专 业: 网络工程产业班2013
课程名称: 信息安全
学 号: 201321093022
姓 名: 刘浏
指导教师: 孟博
2016年 6 月 6 日
年级?2013级?产业班?学号?201321093022专业网络工程?姓名?刘浏?Enigma密码算法实验
类型设计型综合型创新型实
验
目
的
或
要
求?通过使用Enigma密码模拟器,加深对古典密码体制的了解,为深入学习现代密码学奠定基础。
实
验
原
理
(
算
法
流
程
)
?(1)消息的发送着利用Enigma模拟器进行下列操作:
明文:INFORMATION SECURITY
模拟器参数设置:UKW: B
Walzen: I II V
Ringstellung: F-06 V-22 N-14
Stecker: BG CD ER FV HN IU JK LM OP TY
生成:在转子的起始位置:XWB,生成INFORMATION SECURITY的密文;同时给出模拟器在此结果时的屏幕截图。
写不完时,可另加附页。)
然后把转子的起始位置设为ABC,求出XWB的密文;同时给出模拟器在此结果时的屏幕截图。
最后把模拟器参数设置,转子的起始位置ABC,XWB的密文,INFORMATION SECURITY的密文发送给接收者。
发送内容:
PPX CTIZJ OCYNE EEADH HAVE
(2)接收者收到信息后:
对XWB 的密文,INFORMATION SECURITY的密文进行解密,给出明文,并且分别给出相应的屏幕截图。
明文为:INFORMATION SECURITY实
验
结
果
分
析
及
心
得
体
会在这次实验过程中,我们需要选定好实验所需的Ringstellung,再按照要求设置好Stecker,虽然都是对软件的一个操作,但这些条件都影响着后面消息的加密方式和产生结果,所以它们都是实验成功的必要条件。
通过这次实验,我了解了成
绩
评
定
教师签名:
年 月 日备注:源代码附后,源代码要求有注释说明
年级?2013级?产业班?学号?201321093022专业网络工程??刘浏?基实验
类型设计型综合型创新型实
验
目
的
或
要
求?掌握RSA算法的基本原理,通过用RSA算法对实际数据进行加密和解密来深刻了解RSA的运行原理。对数字签名有所了解,理解和掌握SHA–512算法,以及如何利用RSA和SHA–512算法来实现数字签名。
实
验
原
理
(
算
法
流
程
)1、RSA
独立地选取两个大素数??≈??(保密)。
计算??=????(公开),其中? n 为欧拉函数值? ?? = ???1 ???1 (保密)。
随机选取一整数e,满足1≤??≤? ?? ,?????? ??,? ?? =1,e是公开的密钥即公钥。
用Euclid算法计算d,??=???1mod? ?? ,d是保密的密钥即私钥。
加密变换:对明文??∈????,密文为??=???? ?? =????mod ??。
解密变换:对密文??∈????,明文为??=???? ?? =????mod ??。
其中,加密变换、解密变换两步也可以改为用d加密,e解密,就变成签名和验证过程。
2、SHA-512算法过程:
对于HA-512,在完成填充等预处理后,每个消息分组依次执行以下计算:
步骤A、B、C、D、E、F、G和H。初始值定义由 H7给出。
步骤各部分的设计实现
1)?对随机数作素性检测,若通过则为素数;否则增加一个步长后再做素性检测,直到找出素数。素性检测采用Fermat测试。这个算法的理论依据是费尔马小定理:如果m是一个素数,且a不是m的倍数,那么根据费尔马小定理有:a m-1=1 ( mod m)。 实际应用时:a m-1 = 1 ( mod m)( a m = a ( mod m) (a= a m ( mod m), 因此对于整数m,只需计算a m ( mod m),再将结果与a比较,如果两者相同,则m为素数。选取a=2,则a一定不会是任何素数的倍数。根据所选的素数的不同产生不同的密钥。
密钥的理论产生模块流程图
2)产生消息摘要的设计实现
计算消息摘要的理论实现流程图
在以上流程图中其中循环处理块是最重要的一步,也是MD5的核心算法