没有合适的资源?快使用搜索试试~ 我知道了~
首页凯撒密码加密解密的Java实现设计报告
在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。本课程设计是用java语言实现的凯撒密码加密与解密程序。 可直接提交!高分模板!
资源详情
资源评论
资源推荐

XX 大学
《信息论与编码》
课程设计报告
学院
级
专业
题目 凯撒密码加密解密的
Java
实现
姓名
学号
授课教师
2020 年 5 月 4 日

凯撒密码加密解密的 Java 实现
摘 要:在密码学中,恺撒密码(英语:),或称恺撒加密、恺撒变换、
变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文
中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密
文。例如,当偏移量是的时候,所有的字母将被替换成,变成,以此类推。这
个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进
行联系。本课程设计是用语言实现的凯撒密码加密与解密程序。
关键字:编码,解密,矩阵,偏移量
一 引言
密码学是一门古老而深奥的学科,从古代的加密军书到如今的手机解锁,密码研
究已有数千年的历史。密码学也经历了从古典密码学到现代密码学的演变,虽然密码
学的科技在不断地进步,古典密码的难度已经不足一提,但是古老的密码学思想奠定
了密码学发展的基础,至今仍然被广泛使用。
密码学是信息安全的一门科学,密码技术是信息安全的核心,现代密码学所涉及
的学科很广,包括信息论、概率论、数论、计算复杂性理论、近世代数、离散数学、
代数几何学和数字逻辑等。密码学主要包括两大分支,一是密码编码学,二是密码分
析学。密码学是对这两门分支学进行综合分析、系统研究的科学,是保护信息安全最
主要的手段之一。编码学与分析学是相互对立、相互依存,正是因为这种对立统一的
关系,才推动了密码学自身的发展,下面将对这两门学科分别进行介绍。
密码编码学
密码编码学是研究密码体制的设计的一门学问,主要内容是对信息进行编码密码 ,
以实现对信息的加密。密码编码技术的主要任务是寻求产生安全性高的有效密码算法
和协议,以满足对消息进行加密或认证的要求。
密码分析学
密码分析学是研究如何破解被加密信息的一门学问,即通过破译密码,来获取到
所加密的信息。经历了多个发展阶段。密码分析技术的主要任务是破译密码或伪造认
证信息,实现窃取机密信息或进行诈骗破坏活动。
密码学的基本思想是通过改变原有信息的顺序或者用不同的字母、数字、汉字等
字符去替换原有字符,使原始信息变成混乱无章的乱码,保证了即使被非法获得信息
1

后,也无法了解传送双方在信息中想表达的含义。由于传送双方在事先进行了约定,
接收方会根据某种规则,通过乱码来恢复出原始的信息含义。伴随着信息科技不断地
发展,现如今的密码学应用领域也不仅仅局限于信息的加密,也扩展到了对身份的识
别和电子的认证等方面,比如日常所使用的手机指纹识别、解锁图案等,都属于密码
学的范畴。
综上所述,密码学思想主要分为加密和解密两大部分,常用的方法有顺序法则和
替代法则。顺序法则就是打乱顺序实现加密的方法,而替代法是用不同的字符代替原
字符,直至今天,这两种思想依然被密码学所使用,只是在算法和密钥配合上加入了
数学方法,让加密解密过程变得更为完善。所以,古典密码对于现代密码学的贡献功
不可没,奠定了密码学的基础。
在进行通信的过程中,待加密的信息称为明文,已被加密的信息称为密文,仅有
收、发双方知道的信息称为密钥。在密钥控制下,由明文变到密文的过程叫加密,其
逆过程叫脱密或解密。在密码系统中,除合法用户外,还有非法的截收者,他们试图
通过各种办法窃取机密或窜改消息。简述加密解密原理即,对于给定的明文 和密钥
,加密变换 将明文变为密文 ,,在接收端,利用脱密密钥 完
成脱密操作,将密文 恢复成原来的明文 。一个安全的密码体制应该满足以
下几个条件:
非法截收者很难从密文 中推断出明文 ;
加密和脱密算法应该相当简便,而且适用于所有密钥空间;
密码的保密强度只依赖于密钥;
合法接收者能够检验和证实消息的完整性和真实性;
消息的发送者无法否认其所发出的消息,同时也不能伪造别人的合法消息;
必要时可由仲裁机构进行公断。
按时间发展而言,加密方法主要分为传统加密方法与现代加密过程。
在传统加密算法中,最为著名的是凯撒密码。凯撒密码是应用最早的一套密码,
但是由于相对简单,比较容易破解,安全性不够强,但具有重要的历史意义。凯撒密
码通过每个英文字母向后移动若干个顺序的方法,让词汇无法具备正确的含义,替代
思想中的短语法则,把全部拼音或者字母抄写入表中,用一个短语写入最初的位置,
然后再输入其余字母,这种方法相对增大了破译难度,但掌握了思想后也不难破译,
关键在于找出短语。
现代加密过程基本上沿用传统的加密思想,但在技术上,开始利用不同的数学方
法提升了密码的安全性能。例如目前常见的 !"、三次迭代、#$ 技术等。!" 是
第一个既能用于数据加密也能用于数字签名的算法,它易于理解和操作,也很流行,
!" 的安全性一直未能得到理论上的证明。它经历了各种攻击,至今未被完全攻破 。
#$ 将任意长度的“字节串”变换成一个 %&' 的大整数,并且它是一个不可逆的字符
串变换算法。
2

此次软件的设计包括对凯撒密码的加密与解密。
二 设计平台和设计思想
2.1 设计平台
( 语言是一门面向对象编程语言,不仅吸收了 ))语言的各种优点,还摒弃
了 ))里难以理解的多继承、指针等概念,因此 ( 语言具有功能强大和简单易用
两个特征。( 语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,
允许程序员以优雅的思维方式进行复杂的编程 *+,,。
( 具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、
多线程、动态性等特点 *+,,。( 可以编写桌面应用程序、-& 应用程序、分布式
系统和嵌入式系统应用程序等 *+,,。
.是一个开放源代码的、基于 ( 的可扩展开发平台。就其本身而言,它
只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是, .附
带了一个标准的插件集,包括 ( 开发工具((./0'1',(1)。
. 最初是由 2# 公司开发的替代商业软件 34.5/( 的下一代
2 开发环境,66 年 月贡献给开源社区,现在它由非营利软件供应商联盟
. 基金会(.7/408'/0)管理。66 年,.6 选择 9": 服
务平台规范为运行时架构。66; 年 < 月,稳定版 发布;66% 年 < 月发布代号为
:0=8 的 > 版;66? 年 < 月发布代号为 :../ 的 $ 版;66 年 < 月发
布代号为 @./ 的 < 版;6 年 < 月发布代号为 2085/ 的 ; 版;6 年 < 月
发布代号为 (40/ 的 > 版;6 年 < 月发布代号为 1. 的 > 版;6> 年 < 月
发布代号为 A40 的 >> 版;6$ 年 < 月项目发布代号为 # 的 >$ 版。
2.2 设计思想
实现凯撒密码的加密、解密算法,能够根据用户选择秘钥移位数和明文进行加解
密,用户密钥在整数范围内;对于恺撒加密实现图形界面,用户可以输入明文和密钥,
在文本框中显示对应密文;用户可以通过指定路径文件和密钥,加密结果存储在指定
3
剩余16页未读,继续阅读



















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0