欢迎来到天天文库
浏览记录
ID:26367097
大小:394.50 KB
页数:10页
时间:2018-11-26
《加解密程序java实现-信息安全工具使用教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、该实现设计报告对应的代码文件下载地址(0分):http://wenku.baidu.com/view/2d2aee86e53a580216fcfe3a.html?st=1院系:计算机科学学院专业:计算机科学与技术年级:09课程名称:信息安全工具使用教程学号:09061010姓名:多啦小鹏指导教师:2011年12月12日中南民族大学计算机科学学院计算机科学与技术专业学号:姓名:多啦小鹏年级09学号09061010姓名多啦小鹏专业计算机科学与技术实验名称古典密码加解密算法实验类型设计型综合型创新型√实验目的实验目的:了解古典加密解密算法的加解密过
2、程和实现。实验记录实验题目:古典密码加解密算法的实现,要求如下:①具有置换密码、单表替代密码中的加法密码、乘法密码和仿射密码、Vigenere密码以及代数密码的加密和解密功能;②具有加解密速度统计功能;③具有良好的人机界面。实验实现:(本实验实现了古典加密中最基本算法)本程序实现功能:实现了古典加密算法中最基本的两种算法:置换算法和替代移位法;实现了不可逆加密算法中的MD5加密;实现了数据加密标准DES(引用库函数,未自行实现)。1、古典算法加密解密的实现1.1、置换算法1.1.1、算法描述置换密码:把明文中的字母重新排列,字母本身不变,但其
3、位置改变,这样编成的密码称为置换密码。简单置换密码:把明文中的各个字符倒序排列,从而达到对明文简单的加密,显然这中加密方法很容易被破解。但是初学密码,这是一种思想,简单的将明文处理,达到和明文不符,隐藏信息,并且解密也非常容易实现。较复杂置换密码:把明文排入一个矩阵,其中不足的部分通过其他字符填充(例如:本程序中用‘#’),然后按照另一个顺序将矩阵中的字符输出,从而达到加密。而解密也相对简单,加密的逆过程即能达到解密。1.1.2、举例说明简单置换密码:明文:zhangpengisagoodman(可用本程序测试)密文:namdoogasign
4、epgnaha中南民族大学计算机科学学院计算机科学与技术专业学号:姓名:多啦小鹏实验记录较复杂置换密码:明文:zhangpengisagoodman明文放入到4*5的矩阵中:明文01230zhan1gpen2gisa3good4man#将矩阵中的明文按照另一种顺序输出,即能达到加密的效果,我们设定按照矩阵的列数,从最左边向右边一列一列输出。得到密文:zgggmhpioaaesonnnad#解密时将密文输入规定列数矩阵,输入时则按照一列一列的输入,输出时则按照正常的一行一行地输出。即加密的逆向过程,容易实现。1.1.1、算法实现和流程图简单置换
5、密码:综上描述得出流程图:(文字不再赘述算法,以上已描述)计算明文str的长度str.length()i=length()i--i>0结束开始输出str第i个字符N说明:左边流程图为简单置换加密过程流程图,被加密明文存放到str中,求出其长度,作为循环条件,倒序输出str中的字符,完成加密过程。解密过程也为字符串加密过程的逆过程,即将被解密的密文存放到str中,倒序输出,完成解密过程。Y中南民族大学计算机科学学院计算机科学与技术专业学号:姓名:多啦小鹏较复杂置换密码:综上描述得出流程图:(文字不再赘述算法,以上已描述)计算明文str的长度st
6、r.length()i=length(),列数x结束开始设定矩阵的行数y设定矩阵的行数y双层for()循环外层y、内层x控制将str输入到list中说明:左边流程图为较复杂置换加密过程流程图,被加密明文存放到str中,求出其长度,求出列数x和行数y,双层for()循环将str输入到矩阵list中,按列输出list中字符,即加密。解密过程也为字符串加密过程的逆过程,即将被解密的密文存放到str中,求出长度,列数为加密时列数,逆过程,完成解密过程。按列输出list中字符用户给定加密解密的矩阵列数x:已知矩阵列数x,str长度length(),求出
7、矩阵的行数:1、len%x==0y=len/x2、len%x==xy=13、len%x>0y=len/x+11.1、替代移位法1.2.1、算法描述替代移位密码:首先构造一个或多个密文字母表,然后用密文字母表中的字母或字母组来替代明文字母或字母组,各字母或字母组的相对位置不变,但其本身改变。加法密码:加法密码的映射函数:f(ai)=bi=aj,j=i+kmodn,k是08、应的字符,即得到加密的密文。乘法密码:乘法密码的映射函数:f(ai)=bi=aj,j=ikmodn其中,要求k和n互素。同上。中南民族大学计算机科学学院计算机科学与
8、应的字符,即得到加密的密文。乘法密码:乘法密码的映射函数:f(ai)=bi=aj,j=ikmodn其中,要求k和n互素。同上。中南民族大学计算机科学学院计算机科学与
此文档下载收益归作者所有