1、 1 目录 论文摘要.2 设计任务及要求.3 1、设计任务 3 2、设计要求 3 第一章 凯撒密码.4 一、凯撒密码的原理 .4 二、凯撒密码的改进及评价 .4 三、凯撒密码的流程图及程序 .6 第二章 仿射密码.8 一、仿射密码的原理 .8 二、仿射密码的流程图及程序 .9 第三章 栅栏置换密码技术14 一、栅栏置换密码技术的原理 14 二、栅栏置换密码技术的流程图及程序 15 心得体会20 参考文献21 2 论文摘要 密码技术已被广泛应用到了信息技术的许多领域,是实现信 息系统的关键技术之一,在保障网络信息安全的应用中具有重要 地位。密码技术的研究内容除传统的信息机密性保护技术外,还 包括
2、数字签名、报文和身份鉴别、密钥管理、安全协议等与信息 安全密切相关的重要内容。密码学是信息安全、通信工程、计算 机科学、信息管理、电子商务等学科的专业基础课程及重要的教 学内容。 保护数据的方法属于密码学范畴。密码学是结合数学、计算 机科学、电子与通信等诸多科学于一身的交叉学科。它以研究数 学保密为目的,对存储或者传输的信息采取秘密的交换以防止第 三者对信息的窃取。密码学包括两个领域:密码编码学和密码分 析学。 密码系统按将明文转换为密文的操作类型分为:替代密码和 置换密码。替代是古典密码中用到的最基本的处理技巧之一,它 在现代密码学中也得到广泛的应用。所谓替代就是将明文中的一 个字母由其他字
3、母、数字或符号替代的一种方法。置换密码又称 为换位密码,这种密码通过改变明文消息个元素的相对位置,但 明文消息元素本身的取值或内容形式不变,而替代密码中,可以 认为是保持明文的符号顺序,但是将它们用其他符号代替。 本论文将介绍了两种替代密码:凯撒密码和仿射密码,一种 置换密码:栅栏置换密码技术。 3 设计任务及要求 1 1、设计任务 设计能够利用古典密码算法进行加/解密的 C 语言程序 2 2、设计要求 (1)复习密码学中有关古典密码体制的相关知识 (2)利用 C 语言设计可执行程序 (3)在设计过程中,要求设计至少两种的古典密码算法,并且 必须包括仿射密码的 C 语言实现 (4) 设计报告中
4、应包括设计原理、 程序设计详细说明书以及调 试结果 4 第一章 凯撒密码 一、凯撒密码的原理 最早最经典的替换法就是凯撒加密法,消息中每个字母换成 它后面 3 个字母的字母,即密钥=3,并进行循环替换,即最后 的 3 个字母反过来用最前面的字母,基本替换对照表见表 1-1 例如,明文 ATTACK AT FIVE 变成密文 DWWDFN DW DILYH 表 1-1 凯撒加密对照表 明 文 A B C D E F G H I J K L M 密 文 D E F G H I J K L M N O P 明 文 N O P Q R S T U V W X Y Z 密 文 Q R S T U V W X Y Z A B C 对加密后的密文进行解密时则用的逆置换 1 进行替代。 凯撒密码的算法评价:很容易破解,数字 3 就是密钥。 二、凯撒密码的改进及评价 算法改进 1:在凯撒加密法中, 密文字母与明文字母不一定相 隔 3 个字母,而是可以相隔多个字母,会更复杂一些,也就更难 破译。英语有 26 个字母,字母 A 可以换成字母表中的 其他字母 (B-Z) 。因此替换相