古典密码课程设计

上传人:cn****1 文档编号:552595890 上传时间:2022-12-12 格式:DOC 页数:21 大小:360.02KB
返回 下载 相关 举报
古典密码课程设计_第1页
第1页 / 共21页
古典密码课程设计_第2页
第2页 / 共21页
古典密码课程设计_第3页
第3页 / 共21页
古典密码课程设计_第4页
第4页 / 共21页
古典密码课程设计_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《古典密码课程设计》由会员分享,可在线阅读,更多相关《古典密码课程设计(21页珍藏版)》请在金锄头文库上搜索。

1、华北科技学院课程设计目录论文摘要2设计任务及要求31、设计任务32、设计要求3第一章 凯撒密码4一、凯撒密码的原理4二、凯撒密码的改进及评价4三、凯撒密码的流程图及程序6第二章 仿射密码8一、仿射密码的原理8二、仿射密码的流程图及程序9第三章 栅栏置换密码技术14一、栅栏置换密码技术的原理14二、栅栏置换密码技术的流程图及程序15心得体会20参考文献21论文摘要密码技术已被广泛应用到了信息技术的许多领域,是实现信息系统的关键技术之一,在保障网络信息安全的应用中具有重要地位。密码技术的研究内容除传统的信息机密性保护技术外,还包括数字签名、报文和身份鉴别、密钥管理、安全协议等与信息安全密切相关的重

2、要内容。密码学是信息安全、通信工程、计算机科学、信息管理、电子商务等学科的专业基础课程及重要的教学内容。保护数据的方法属于密码学范畴。密码学是结合数学、计算机科学、电子与通信等诸多科学于一身的交叉学科。它以研究数学保密为目的,对存储或者传输的信息采取秘密的交换以防止第三者对信息的窃取。密码学包括两个领域:密码编码学和密码分析学。密码系统按将明文转换为密文的操作类型分为:替代密码和置换密码。替代是古典密码中用到的最基本的处理技巧之一,它在现代密码学中也得到广泛的应用。所谓替代就是将明文中的一个字母由其他字母、数字或符号替代的一种方法。置换密码又称为换位密码,这种密码通过改变明文消息个元素的相对位

3、置,但明文消息元素本身的取值或内容形式不变,而替代密码中,可以认为是保持明文的符号顺序,但是将它们用其他符号代替。本论文将介绍了两种替代密码:凯撒密码和仿射密码,一种置换密码:栅栏置换密码技术。设计任务及要求1、设计任务 设计能够利用古典密码算法进行加/解密的C语言程序2、设计要求 (1)复习密码学中有关古典密码体制的相关知识 (2)利用C语言设计可执行程序 (3)在设计过程中,要求设计至少两种的古典密码算法,并且必须包括仿射密码的C语言实现 (4)设计报告中应包括设计原理、程序设计详细说明书以及调试结果第一章 凯撒密码一、凯撒密码的原理最早最经典的替换法就是凯撒加密法,消息中每个字母换成它后

4、面3个字母的字母,即密钥=3,并进行循环替换,即最后的3个字母反过来用最前面的字母,基本替换对照表见表1-1例如,明文ATTACK AT FIVE变成密文 DWWDFN DW DILYH表1-1 凯撒加密对照表明文ABCDEFGHIJKLM密文DEFGHIJKLMNOP明文NOPQRSTUVWXYZ密文QRSTUVWXYZABC对加密后的密文进行解密时则用的逆置换进行替代。凯撒密码的算法评价:很容易破解,数字3就是密钥。二、凯撒密码的改进及评价算法改进1:在凯撒加密法中,密文字母与明文字母不一定相隔3个字母,而是可以相隔多个字母,会更复杂一些,也就更难破译。英语有26个字母,字母A可以换成字母

5、表中的 其他字母(B-Z)。因此替换相隔在1-25之间,共有25中替换的可能性。算法改进1的评价:该算法的密钥虽然不是固定的数字3,而是1-25之间变换的数字,但在各种变换是有限的,一种针对有限可能性加密的攻击方法是强力攻击法,它实际上是采用的穷举法,即通过所有置换与组合攻击密文消息。用强力攻击方法可以破解上述改进的凯撒加密法,密码分析者只要知道下面3点就可以采用强力攻击的方法破解改进的凯撒加密法。(1)密文是用替换技术从明文得到的。(2)只有25中可能性。(3)明文的语言是英语。算法改进2:在凯撒加密法中,假设某个明文消息的所有字母不是采用相同间隔的替换模式,而是采用随机替换,每个A可以换成

6、B-Z的任意字母,B也可以换成A或C-Z得任意字母注意:不要重复替换,例如:A既对应C有对应H,因为这样解密无法进行。改进算法2的评价:数学上,现在可以使用26个字母的任何置换与组合,从而得到252423222=25!种可能的替换方法,这么多的组合,即使利用最先进的计算机也需要许多年才能破解,这样就解决了强力攻击。但这种一对一的替换方法有一个很大的弊端,从前面的把明文ATTACK AT FIVE加密成密文DWWDFN DW DILYH的例子可以看出,明文中得字母频率统计规律与密文中的统计规律一致,如在明文中A和T个出现3次,在明文中对应得D和W也个出现3次,这种规律给密码分析者破解密码带来了可

7、乘之机,这种攻击方法叫做字母频率统计法,密码分析者可以根据以往文章中字词出现的频率来进行破解,因此这种改进的加密方法可以用英文字母的频率来破解,此方法对拥有大量密文更有效,因为这样统计的数据更容易得出真实结果,事先大量统计的规律可以事先完成,目前对英文字母频率出现的规律统计为:e出现的概率最大,其次是T、R等,J、K出现的概率最小。除了单字母的频率统计外,密码分析员还寻找多字母th、to、the等常见的重复模式进行破译。例如,密码分析员可以密文中寻找3个字母出现最多的模式,试着将其换成the。三、凯撒密码的流程图及程序凯撒密码的加密流程图如图1-1图1-1 凯撒加密流程图凯撒密码的加解密C语言

8、程序:#include void main() char s100; int i; printf(请输入明文: ); gets(s); for(i=0;si!=0;i+) if(si=a)&(si=A)&(si=d)&(si=D)&(si=Z) si=si-3; else si=si+23; printf(请输出明文: ); puts(s); 运行结果如下:图1-2第二章 仿射密码一、仿射密码的原理仿射密码是一种单表替代密码,是一种线性变换,仿射密码的明文空间和密文空间与凯撒密码相同,但密钥空间为K=|,,gcd(,26)=1,对任意的m,cC,k=(,)K,定义加密变换为c=m+相应解密变换

9、为:m=其中,=1mod26。例:设明文消息为china,密钥k=,试用仿射密码对其进行加密,然后在进行解密。解:利用扩展的欧几里得算法可计算出=3。加密变换为:=m+=9m+解密变换为:=3明文消息对应的数字依次为2,7,8,13,0,用仿射密码对明文进行加密如下:=9+mod26=c密文消息为:unwpc。解密过程如下:=3-mod26=m即恢复明文消息为china。仿射密码要求gcd(,26)=1,即与26互素,否则就会有多个明文字母对应一个密文字母的情况。由于与26互素的整数有12个:1,3,5,7,9,11,15,17,19,21,23,25,因此仿射密码的密钥空间大小为|K|=12

10、26=312。二、仿射密码的流程图及程序对仿射密码的加密流程图如图2-1:其中p、q为密钥。图2-1 仿射密码流程图仿射密码的加解密C语言程序:#include#includevoid c(char str1);void m(char str2);int gcd(int a, int b);int Ni(int a, int b);void main() int choice; char str1100,str2100; while(true) printf(请选择:加密(1),解密(2),退出(0)n); scanf(%d,&choice); if(choice=1) printf(请输入要

11、加密的数据:n); scanf(%s,str1); c(str1); else if(choice=2) printf(请输入要解密的数据:n); scanf(%s,str2); m(str2); else break; void c(char str1) /加密 int p,q,i=0; printf(请输入加密密钥p(与26互素),q:); scanf(%d%d,&p,&q); while(str1i!=0) str1i=(p*(str1i-97)+q)%26+97; i+; printf(加密后的数据为:); puts(str1);void m(char str2) /解密 int p,

12、q,i=0,r; printf(请输入解密密钥p(与26互素),q:); scanf(%d%d,&p,&q);r=Ni(p,26); while(str2i!=0) str2i=r*(str2i-97-q)%26+97; i+; printf(解密后的数据为:); puts(str2);int gcd(int a, int b) /*辗转相除法求a,b最大公因数*/ int k = 0; do k = a%b; a = b; b = k; while(k!=0); return a; int Ni(int a, int b) /*求a相对于b的逆*/ int i = 0; while(a*(+i)%b!=1); return i; 运行结果:图2-2第三章 栅栏置换密码技术一、栅栏置换密码技术的原理栅栏置换加密技术属于置换密码。栅栏加密过程是把要加密的消息按照锯齿状一上一下地写出来。因为加密过程的几何形状类似于栅栏的上半部分,因此称为栅栏加密。明文消息ATTACK AT FIVE 的加密过程要把被加密的消息按照锯齿状一上一下地写出来:A T C A F V T A K T I E然后一行一行地产生密文,得到ATCAFVTAKTIE解密过程

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

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