应用密码学实验 古典密码

实验一 古典密码

单表代替、多表代替

  • 实验目的

通过实验熟悉掌握凯撒密码原理和多表代替密码的实现方法,编译实现加密算法,提高程序设计能力,掌握穷举破译的方法。

  • 实验要求
  1. 输入任意的一段明文,对其进行加密并输出密文。
  2. 输入一段密文,利用穷举法进行唯密文攻击,输出密钥。
  3. 要求有对应的程序测试记录和验证记录。
  4. 从键盘中读取明文并加密,将密文输出。

  • 实验内容
  • 凯撒密码的加解密
  1. 知识点

凯撒密码是一种典型的单表代替密码技术,其加密方法如下:

                   密文=明文+密钥 mod 26

解密方法如下:

                   明文=密文-密钥 mod 26

  1. 程序代码

加密:

 

  • 凯撒密码的穷举破译
  1. 知识点

凯撒密码可能的密钥有26个。所谓穷举破译,是指用所有可能的密钥尝试解密,直到找出正确的密钥和明文。穷举破译是一种唯密文攻击,任意给定一段密文,利用穷举法找出所用的密钥,最多尝试26次。

  1. 程序代码

 

  • 维吉尼亚密码
  1. 密钥的处理

可预设密钥为“cipher”,长度为6;也可直接输入密钥(以字母形式或数字形式),再计算密钥长度,放在整形变量period中。

  1. 读取明文并预处理

从键盘中读取明文,取出所有字母,放入数组中;统计明文中的字母个数,放入整形变量中。

  1. 加密

维吉尼亚密码的加密与凯撒密码几乎完全相同,只是加密每个字符时所用的密钥在变化,用语句

  1. 程序代码

 

 

 

  • 实验结果
  • 凯撒密码加密

 

  • 凯撒密码穷举破译

 

  • 维吉尼亚密码

 

  • 实验总结

凯撒密码是比较简单的,只是进行单表代换,实现起来也比较容易,破解起来也不难,是很不安全的密码。

凯撒密码是没有密匙的,即使没有密匙也能将它破解出来,因为凯撒移位密码只有25种密匙,最多就是将这25种可能性挨个检测一下可以了,这就是我们所说的暴力破解法。

当然,还可以使用频度分析法分析每个字母出现的频率,从而知道凯撒密码的移位数。

 

 

 

 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>