博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
古典密码分析(冗余度,唯一解距离,语言统计,重合指数)
阅读量:3948 次
发布时间:2019-05-24

本文共 1326 字,大约阅读时间需要 4 分钟。

冗余度

在有意义的英文字母文本中,每个字符所携带的平均信息(每个字符的熵)的估计值等于1.5比特。

在语言学上在实际的英文中,平均每个英文字母携带的信息熵是4.7(log26,具体怎么求得在此不详细说明)。
那么在英文密码中,每个字符的冗余度就是3.2.
经验证据显示,对于有意义消息上的任意简单替代 ,一位熟练的密码分析者只需25个密文字符就能恢复明文。

唯一解距离

唯一解距离是不受计算限制的敌手恢复唯一的加密密钥所需的最小密文量(字符数)。

在随机密码模型下,一个密码的唯一解距离的期望 值为 N=H(K)/D ,其中 H(K)是密钥空间的熵(如64 比特有 226 个等概率的密钥), D 是明文冗余度(比特/ 字符)。
在随机密码模型下,可估 计周期为 t的简单换位密码的唯一解距离,假设明文 的冗余度 D=3.2 比特/字符
在此情形下,H(K)/D =lg(t!)/3.2 比特/字符,当 t=12 时 , 唯一解距离的估计值为9个字符。若是凯撒密码,则y=26,最终H(K)为28,与上述经验值相差不大。
经验证据显示,对于有意义消息上的任意简单替代 ,一位熟练的密码分析者只需25个密文字符就能恢复明文。

语言统计

在这里插入图片描述

很好理解,如果经过简单加密之后密码表中的字符的频率不改变的话,非常容易被破解。
单字母表替代密码中有一段这样的密文:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETS XAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUH SXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
可利用前图进行分析,继续进行类似的分析、测试 ,就能的出完整的明文,加上空格后如下:
it was disclosed yesterday that several informal but direct contact have been made with political representative of the viet cong in moscow
可以通过程序来实现。

重合指数

重合指数(IC)是对密文样本中字母表相对频率的 一种度量,通过确定周期 t ,使得多字母表密码分析 变得容易。

(用IC估计多字母表周期)列出周期 t=1,2,3… 时IC的期 望值,然后将它与从一个特定密文中获得的表相比 较,从而得到对该密码周期 的粗略估计。

IC期望值的计算公式:

对于一个周期为t的多字母表替代密码,一个长度为 L的密文串重合指数的期望值为E(IC) ,其中n是字母表字符数。kr=1/n,kp 在下表中给出:
在这里插入图片描述
kp 中的 p是指一个明文的频率分布,而 kr 中的 是随 机字符的一个分布。对于罗马字母表,n=26 意味着 kr =0.03846 ;对于俄罗斯西里尔字母表, n=30 。
在这里插入图片描述
关于 kp:设密文字母表(a0, a1,a2…an-1 ) , pi是在随机密文中随机选 取的一个字符 ai的未知概率。
粗糙度是密文字符与均匀频率分布的偏差,:
在这里插入图片描述
定义最大值为 MRmax ,其中,当 pi为明文频率时, 对应于 Σpi2

转载地址:http://tlgwi.baihongyu.com/

你可能感兴趣的文章
项目中常说的提供一个接口供某某调用,与java代码中接口的区别
查看>>
idea快捷键使用
查看>>
File 类的 getPath()、getAbsolutePath()、getCanonicalPath() 的区别
查看>>
Linux中zip压缩和unzip解压缩命令详解
查看>>
ldap适合入门学习
查看>>
ldap学习参考博客
查看>>
linux学习之source命令与alias(别名)使用
查看>>
MYSQL常用查询
查看>>
安装Linux虚拟机绑定IP操作
查看>>
centos7离线安装 mysql
查看>>
mysql学习使用一(查询)
查看>>
Linux 学习之sed命令详解
查看>>
JAVA基础——常用IO使用
查看>>
spring框架pom.xml文件解析
查看>>
代码比较工具DiffMerge的下载和使用
查看>>
linux学习之vim全选,全部复制,全部删除
查看>>
linux 学习之awk命令
查看>>
linux学习之查找文件find,locate,whereis使用
查看>>
JS中$含义及用法
查看>>
web学习之ajax记录
查看>>