欢迎来到天天文库
浏览记录
ID:30118107
大小:17.73 KB
页数:7页
时间:2018-12-27
《古典密码算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划古典密码算法实验报告 陕西师范大学数学与信息科学学院 信息安全实验报告 学号姓名程晓红班级09信科时间XX-5-5成绩_______ 云南大学软件学院实验报告姓名:张儒雅学号:XX11200(来自:写论文网:古典密码算法实验报告)75专业:信息安全教师:金鑫 一、实验目的 通过编程实现替代密码算法和置换密码算法,加深对古典密码体系的了解,为以后深入学习密码学奠定基础。 二、实验原理 古典密码算法曾被广泛应用,大都比
2、较简单。它的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密。其中替代密码和置换密码是具有代表性的两种古典密码算法。 1、替代密码 替代密码算法的原理是使用替代法进行加密,就是将明文中的字符用其他字符替代后形成密文。例如,明文字母a、b、c、d,用D、E、F、G做对应替换后形成密文。 最早的替代密码是由JuliusCaesar发明的Caesar密码,又叫循环移位密码。它的加密过程可以表示为下面的函数:目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感
3、。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 E(m)=(m+k)modn 其中,m为明文字母在字母表中的位置数;n为字母表中的字母个数;k为密钥;E(m)为密文字母在字母表中对应的位置数。 例如,对于明文字母H,其在字母表中的位置数为8,设k=4,则按照上式计算出来的密文为L,计算过程如下: E(8)=(m+k)modn=(8+4)mod26=12=L解密算法是:m=D(L)=mod26 2、置换密码 置换密码算法的原理是不改变明文字符,只将字符在明文中的排
4、列顺序改变,从而实现明文信息的加密。置换密码又称为换位密码。 矩阵换位法是实现置换密码的一种常用方法。它将明文中的字母按照给定的顺序安排在一个矩阵中,然后又根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。例如,明文为attackbeginsatfive,密钥为cipher,将明文按照每行6个字母的形式排在矩阵中,形成如下形式: attack begins atfive 根据密钥cipher中各字母在字母表中出现的先后顺序,得到给定的一个置换:f=目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可
5、提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 因此有: 密钥: 明文:attack begins atfive 根据上面的置换,将原有矩阵中的字母按照第1列、第4列、第5列、第3列、第2列、第6列的顺序排列、则有下面的形式: aacttk binges aivfte 从而得到密文:abatgftetcnvaiikse 其解密过程是根据密钥的字母数作为列数,将密文按照列、行的顺序写出,再根据由密钥给出的矩阵置
6、换产生新的矩阵,从而恢复明文。 三.实验结果: 1.替代密码中使用特定的公式将结果加密并得到结果,以此并加以加密和解密:实验中的结果如下: 流程图 :目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 在学习使用替换算法的时候,我首先对加密的公式即:E(m)=(m+k)modn进行学习,对其的工作方式进行了解并掌握,从而对其进行加密和解密算法的学
7、习并编写程序,最后将其中所使用各种函数进行整合,以此编写替换算法,这种算法比较简单,过程较为简单。 2.置换密码中使用二维数组对信息进行加密和解密,这中工作使信息安全性更好一些;记过如下: 流程图: 在写置换算法的时候,对置换算法没什么了解, 因此在写置换算法的时候对其工作进程以及 其过程做了较长时间的了解,最后因为这个算法较难,所以花费了较长的时间进行调试工作。 代码: 替代算法:#include"" #include"" #include"" voidjiami() { charstr1[1000],str2[1
8、000]; inti,m,k,n,l; printf("请输入你要加密的明文:"); scanf("%s",&str1); printf("请输入要加密时的密钥:
此文档下载收益归作者所有