密码学基础实验报告模板

密码学基础实验报告模板

ID:33922433

大小:184.00 KB

页数:13页

时间:2019-02-27

密码学基础实验报告模板_第1页
密码学基础实验报告模板_第2页
密码学基础实验报告模板_第3页
密码学基础实验报告模板_第4页
密码学基础实验报告模板_第5页
资源描述:

《密码学基础实验报告模板》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验总成绩:——————————————————————————装订线—————————————————————————————————报告份数:西安邮电大学通信与信息工程学院密码学报告专业班级:学生姓名:学号(班内序号):2015年12月25日-12-实验一棋盘密码一.实验目的编写实现棋盘密码体制的程序并进行验证二.实验要求1.能对明文中出现的26个英文字母(包括大小写)及标点符号等加密。2.从键盘输入密钥并输出棋盘进行验证。3.能对给定的明文或密文进行正确的加密和解密。三.实验原理古代最早的棋盘密码体制是这样的:将26个字母排列在一个5*5的方格里,其中i和j填在同一个里

2、,每个字母对应一数,其中分别是该字母所在的行、列标号。这样就可以将明文的字母集合转换成密文的数字集合。四.实验步骤1.编写实现棋盘密码体制的程序,包括加密和解密。2.运行程序,输入棋盘密钥。3.选择加密,并输入明文,根据棋盘验证加密结果是否正确。4.选择解密,并输入密文,根据棋盘验证解密结果是否正确。5.流程图:五.实验结果-12--12-实验二仿射密码一.实验目的编写实现仿射密码体制的程序并进行验证。二、实验要求1给出仿射密码的的加密程序。2要求密钥从键盘输入。3掌握仿射密码的密码译制,弄清其加密过程。三、实验原理令P=C=Z26,K={(a,b)∈Z26*Z26},对任意

3、的(a,b)∈K,定义:加密:y=ek(x)=(a*x+b)mod26,解密:dk(y)=a-1(y-b)mod26.a,b为密钥,密钥空间为26×26。在加密的过程中,要使所加密有唯一的解,必须满足a与26互素。这是由下面的定理得出。定理:设a∈Zm,a为任意的,b∈Zm,同余方程:a*x≡bmodm有唯一解的充要条件是:a与m互素。四、实验流程-12-五.实验结果-12-实验三可逆性检验一、实验目的:1熟练掌握欧几里德算法,并学会利用其求逆。2根据改进的欧几里德算法用VC++语言编写程序实现计算的值。二、实验要求:编写出来的程序,要求可以判定a和n是否互素,a在n上是否可

4、逆,逆元是否唯一,相关的参数需要从键盘输入。三、实验原理:对于任一个正整数n,Zn是一个整环,a属于Zn,存在属于Zn使得a*b≡1modn的充要条件是gcd{n,a}=1(gcd{n,a}表示n和a的最大公约数);若gcd{n,a}=1,由最大公约数定理,存在x和y,使得gcd{n,a}=x*n+y*a=1即存在y使得b*y≡1modn;所以。四.实验流程五.实验结果-12--12-实验四扩展的欧几里德算法一.实验目的编写利用改进的欧几里得算法计算逆元的程序。二.实验要求1.相关参数从键盘输入。2.判断逆元是否存在,若存在,计算逆元。三.实验原理对任一正整数n,Zn做成环,

5、假设a∈Zn则a存在乘法逆的充要条件是(a,n)=1.通过辗转相除法可求出两个正整数a和n的最大公因子r。若r=1,则a,n互素,将原来的ojilide算法进行如下改进后,可以在a,n互素的条件下求的a的乘法逆。构造两个序列:{t0,t1,…,tm}和{s0,s1,…,sm},初始化为:t0=0,t1=1,tj=tj-2–qj-1*tj-1,j≥2s0=1,s1=0,sj=sj-2–qj-1*sj-1,j≥2且:对于0≤j≤m,rj=sj*r0+tj*r1改进的ojilide算法描述如下:初始化:a0=a;n0=n;s0=1;t0=0;s=0;t=1;q=n0/a0;r=n0

6、-q*a0;算法流程:do{temp=t0-q*t;t0=t;t=temp;temp=s0-q*s;s0=s;s=temp;n0=a0;a0=r;q=n0/a0;-12-r=n0-q*a0;}while(r>0);若r=1,则a-1modn=tmodn验证如下:∵(a,n)=1∴sm*n+tm*a=1两边同取模n,得:tm*amodn=1因此a-1modn=tmmodn。tm即程序中最后一步的t。四.实验步骤1.编写程序。2.运行程序,输入不同范围内的a和n,求a的逆元。3.对实验结果进行验证。4.流程图为:五.实验结果-12--12-实验五RSA加密算法一、实验目的:1.用

7、VC++实现RSA加密算法,并且该算法应该具备素性检测的功能。2.熟悉RSA加密算法的原理以及欧拉定理在其中的应用,加深对RSA密码体制的理解,并能运用该算法中所使用的基本定理。二、实验要求:1、复习RSA密码体制、欧几里德算法以及欧拉定理;2、在VC++中编写该密码体制,并运行出其结果,将结果保存在实验报告中。三、实验原理:1RSA加密体制:设n=pq,其中p和q是两个素数,P=C=Z,定义:K={(n,p,q,a,b)

8、ab%Q(n)=1},对于k属于K,其中:x,y属于Z(n)公钥:(n,b);私

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。