首页 理论教育 使用凯撒密码对文件进行加密解密

使用凯撒密码对文件进行加密解密

时间:2023-05-30 理论教育 版权反馈
【摘要】:使用暴力破解法可以破解凯撒密码,因为凯撒密码只有25种密匙,暴力破解法就是将25种可能性逐个进行检测从而求出密文。

使用凯撒密码对文件进行加密解密

思政元素7

【任务描述】

密码技术最早被应用在军事上,在两军交战时,情报的传递必须经过加密,用特定的规则来打乱文字的排序,敌军在截取信息之后,除非掌握密钥,也就是解密的规则,否则只能看到杂乱无序,或毫无意义的文字。

如果设定移位长度为3,那么字母A将会被D替换,B将会被E替换,依此类推。已知明文“meetme after the toga party”,请使用凯撒密码求出密文。

【任务分析】

凯撒密码属于移位密码,其数学描述如下:

对于明文字符x,其加密密钥为k,加密方法为y=x+k,k=1,2,…,25,解密方法为x=y-k,k=1,2,…,25。

使用暴力破解法可以破解凯撒密码,因为凯撒密码只有25种密匙,暴力破解法就是将25种可能性逐个进行检测从而求出密文。

【知识准备】

1.密码学基础

1)密码学的发展历史

根据发展阶段,密码学可分为古典密码学阶段(古代—1949年)、近代密码学阶段(1949—1975年)和现代密码学阶段(1976年至今)。

密码学(Cryptology)一词源自希腊文“kryptós”,直译即为“隐藏的”之意。电子商务活动中的身份认证和数字签名是应用密码学最广泛的领域

密码学的演进过程:单表替代密码→多表替代密码→机械密码→现代密码(对称与非对称密码体制)。

2)密码学的基本概念

(1)明文(Plaintext):在密码学中,要传送的以通用语言明确表达的文字内容称为明文。

(2)密文(Cipher):由明文经变换而形成的用于密码通信的一串符号称为密文。

(3)加密(Encrypt):把明文按约定的变换规则变换为密文的过程称为加密。

(4)解密(Decrypt):收信者用约定的变换规则把密文恢复为明文的过程称为解密。

(5)密钥(Keyword):密钥是一种参数,它是在明文转换为密文或密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。

3)密码加解密的机制

密码就是将正常的、可识别的信息转变为无法识别的信息的号码。加密过程的公式表示为C=Eke(M),解密过程的公式表示为M=Dkd(C)。

其中,C表示密文,M表示明文,E表示加密,D表示解密,ke表示加密密钥,kd表示解密密钥。密码加解密的机制如图3-2所示。

图3-2 密码加解密的机制

2.密码的分类

1)移位密码

图3-3 破解移位密码的流程

移位密码的原理非常简单,密钥空间小,通过穷举法攻击容易破解。移位密码没有隐藏明文的字频信息,破解者可轻易实现破解。破解移位密码的流程如图3-3所示。

例如,通过统计发现,一篇密文中最多的字母是e,使用移位加密方式对该文进行加密,破解过程如下:首先统计密文中出现最多的字母,发现是h。然后用h-e=3,得到偏移量为3。只需要将密文全部减3,就可得到明文。

2)置换密码(www.xing528.com)

把明文中的字母或数字重新排列,字母或数字本身不变,但其位置发生了改变,这样所编成的密码称为置换密码。置换密码通过重新编排消息字母隐藏信息。置换密码又称为换位密码。

实现置换密码的一种常用方法是矩阵换位法,该方法将明文中的字母按照给定的顺序安排在一个矩阵中,然后根据密钥提供的顺序,重新组合矩阵中的字母,从而形成密文。

具体的思路:通过改变矩阵的大小和选出顺序可以得到不同形式的密码,其中有一种巧妙的方法,即先选出一个词语作为密钥,去掉重复字母然后按字典顺序给密钥字母一个编号,于是得到一组与密钥对应的数字序列,最后根据此序列按列选出密文。

3.古典密码

1)古典密码的起源

古代加密方法大约起源于公元前400年,长期的战争使斯巴达人发展出了自己的一套加密方式。公元前5世纪,斯巴达人使用一种名为“scytail”的器械,把一个带状长条纸呈螺旋形紧紧地绑在一根木棍上,之后再沿着木棍的纵轴沿水平方向从左到右书写文字,在带状长条纸解开后,纸条上的文字消息杂乱无章,无法理解,这就是密文。收信人需要使用一根同样直径的木棍重复这个过程,就能看到原始的消息,得到明文。这是人类历史上使用的最早加密器械。

2)凯撒密码的起源和算法机制

凯撒密码是已知最早的移位密码,凯撒密码诞生于公元前1世纪的高卢战争,根据《高卢战记》的描述,凯撒密码是古罗马凯撒大帝在营救西塞罗战役时用来保护重要军情的加密系统。

凯撒密码算法的数学语言描述,简单地说就是一组含有参数k的变换E。

设已知信息M(称作明文)通过变换Ek得到密文C,数学公式即C=Ek(M)。这个过程称为加密,参数k称为密钥。加密算法E确定之后,由于密钥k不同,密文C也不同。

从密文C恢复明文M的过程称为解密。解密算法D是加密算法E的逆运算,解密算法也是含有参数k的变换。

【任务实施】

1.使用手工计算破解凯撒密码

凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候就已经很流行,其基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B被替换成E,依此类推,X变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥,从而得到凯撒密码表,如表3-1所示。

表3-1 凯撒密码表

对于明文“meetme after the toga party”,查凯撒密码表,得到密文为“phhwphdiwhuwkhwrjdsduwb”。

2.使用CAP4软件进行凯撒密码加解密

加密分析软件CAP4是国外流行的密码学教学软件,该软件内置了维吉尼亚加解密算法。

有一次古罗马军事统帅凯撒写的明文是“meetme after the toga party”,密钥为3,现使用加密分析软件CAP4形成密文。

加密分析软件CAP4是由Dr.Richard Spillman为教学而研制的密码制作和分析工具,该软件内置了古典和现代密码学中的相关算法。

打开该软件后,首先在“Plaintext”文本框中输入明文“meetme after the toga party”,如图3-4所示。

单击“Ciphers”菜单,执行“Simple Shift”命令,如图3-5所示。

在打开的对话框中,输入移动的位数,即加密的密钥,在此输入“3”,如图3-6所示。

图3-4 在“Plaintext”框中输入明文

图3-5 执行“Simple Shift”命令

图3-6 输入密钥

单击对话框上的“Encipher”按钮,完成加密操作,生成的密文显示在“Ciphertext”文本框中,如图3-7所示,得到密文为“phhwphdiwhuwkhwrjdsduwb”。

图3-7 完成加密操作

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈