无关于凯撒密码的实现原理班级:姓名:学号:指导老师:一、设计要求说明1、设计一个凯撒密码的加密和解密的程序,要求输入一段字符和密码,输出相应的密文,完成加密过程;若输入被加密的密文及解密密钥,能还原出原文,完成解密
2、语言不限,工具不限,独立完成,参加答辩
3、严格按照格式的要求完成文档,在第六部分的运行结果分析中,要求抓图说明
二、基础知识介绍凯撒密码的历史凯撒密码(caeser)是罗马扩张时期朱利斯•凯撒(JuliusCaesar)创造的,用于加密通过信使传递的作战命令
它将字母表中的字母移动一定位置而实现加密
古罗马随笔作家修托尼厄斯在他的作品中披露,凯撒常用一种“密表”给他的朋友写信
这里所说的密表,在密码学上称为“凯撒密表”
用现代的眼光看,凯撒密表是一种相当简单的加密变换,就是把明文中的每一个字母用它在字母表上位置后面的第三个字母代替
古罗马文字就是现在所称的拉丁文,其字母就是我们从英语中熟知的那26个拉丁字母
因此,凯撒密表就是用d代a,用e代b,……,用z代w
这些代替规则也可用一张表格来表示,所以叫“密表”
基本原理在密码学中存在着各种各样的置换方式,但所有不同的置换方式都包含2个相同的元素
密钥和协议(算法)
凯撒密码的密钥是3,算法是将普通字母表中的字母用密钥对应的字母替换
置换加密的优点就在于它易于实施却难于破解
发送方和接收方很容易事先商量好一个密钥,然后通过密钥从明文中生成密文,即是敌人若获取密文,通过密文直接猜测其代表的意义,在实践中是不可能的
凯撒密码的加密算法极其简单
其加密过程如下:在这里,我们做此约定:明文记为m,密文记为c,加密变换记为E(k1,m)(其中k1为密钥),解密变换记为D(k2,m)(k2为解密密钥)(在这里k1=k2,不妨记为k)
凯撒密码的加密过程可记为如下一个变换:c≡m+kmodn(其中n为基本字符个数)同样,解