单字母密码密码分析(上)

过了个年回来有点时间,就将上个学期的密码学分析的期末实验写上来给大家提供点思路吧~,当时让小白B半天摸不着头绪的一道破译简单加密的题目. 放上参考代码链接 https://github.com/toufuChew/monoalphabeticCipher

问题如下:

分析破解一个基于简单代替密码(simple substitution cipher)加密的密文,不考虑标点符号。

这个问题理解起来很简单,它说的简单替代密码,顾名思义,加密过程就是将明文的一个字符用相应的一个密文字符代替。而单字母密码分两种不同的加密形式,一个单表代换密码,一个多表代换。

 

这里要破译的密文就是单表的替换加密的密文,加密时密钥空间K是26英文字母之间的排列组合,每个明文字母与另一密文字母唯一对应,K集合元素就有26!。例如

                        明文:  my lazy dog is living comfortably in SZU

                        密文:  ow npbw gdm ar nasafm qdoudkcpgnw af rbv

明文加密成密文都是在一张简单的映射表的基础上一一替换进行的。这种映射表可以由多种方式生成,下面简单介绍其中一种,我们的重点是在破译部分。

加密方式:

代替法-

采用另一个乱序字母表来替代明文字母,明文字母和密文字母保持一一对应关系。要得到一个乱序字母表,可以采取随机排列的方式,也可以由一张混淆字母表生成,过程如下:

步骤

a) 随机选择一个密钥字或密钥短语,例如:cybersecurity

b) 去掉重复字母:cybersuit

c) 这些字母构成矩阵的第一行,矩阵的后续各行由标准字母表中去掉密钥字的字母后剩下的字母构成(下图)

   

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值