0


应用密码学实验 古典密码

实验一 古典密码

单表代替、多表代替

  • 实验目的

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

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

  • 凯撒密码的加解密

  1. 知识点

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

               密文=明文+密钥 mod 26

解密方法如下:

               明文=密文-密钥 mod 26
  1. 程序代码

加密:

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

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

  1. 程序代码

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

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

  1. 读取明文并预处理

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

  1. 加密

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

  1. 程序代码

  • 实验结果

  • 凯撒密码加密

  • 凯撒密码穷举破译

  • 维吉尼亚密码

  • 实验总结

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

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

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

标签: 安全

本文转载自: https://blog.csdn.net/m0_56948411/article/details/128079035
版权归原作者 爱吃咖喱的小熊 所有, 如有侵权,请联系我们删除。

“应用密码学实验 古典密码”的评论:

还没有评论