冗余度

在有意义的英文字母文本中,每个字符所携带的平均信息(每个字符的熵)的估计值等于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

古典密码分析(冗余度,唯一解距离,语言统计,重合指数)相关推荐

  1. 多维标度法MDS古典解的证明与R语言实现

    文章目录 写在前面 MDS概念与基本思想 一些基本概念与定义 距离阵 欧式型距离阵 欧式型距离阵判定定理 证明★\bigstar★ 必要性 充分性 MDS古典解计算步骤 R语言实现 方法一:使用内置的 ...

  2. 信源剩余度的计算java_冗余度计算公式

    传播信道中新闻语言的冗余度分析_职业规划_求职/职场_实用文档.传播信道中新闻语言的冗余度分析 "冗余"是外来词"redundancy"的翻译,也有人译为&qu ...

  3. 计算图像的熵、编码效率、冗余度

    给定一个256级灰度图像,每个像素码长为8位,计算图像的熵.编码效率.冗余度. 计算 图像的熵 I=imread('C:\Documents and Settings\Administrator\桌面 ...

  4. 字母使用频率统计c 语言编程,C语言统计字母使用频率

    与<C语言统计字母使用频率>相关的范文 实验一 一.实验名称:替代密码和置换密码的实现 二.实验目的:通过编程实现替代密码算法和置换密码算法,加深对古典密码体系的了解,为以后深入学习密码学 ...

  5. c语言圈复杂度switch,C语言switch/case圈复杂度优化重构

    软件重构是改善代码可读性.可扩展性.可维护性等目的的常见技术手段.圈复杂度作为一项软件质量度量指标,能从一定程度上反映这些内部质量需求(当然并不是全部),所以圈复杂度往往被很多项目采用作为软件质量的度 ...

  6. R语言统计代码运行耗时实战:计算代码运行时间、使用proc.time函数计算代码运行时间

    R语言统计代码运行耗时实战:计算代码运行时间.使用proc.time函数计算代码运行时间 目录

  7. ogre绘制3d图形_R语言统计与绘图:绘制饼图

    饼图也是最常见的图形之一,饼图在商业世界中无所不在,然而多数统计学家,包括相应R文档的编写者却都对它持否定态度. 相对于饼图,更推荐使用条形图或点图,因为相对于面积,人们对长度的判断更精确. 今天来学 ...

  8. 统计一段英文中单词的个数c语言,C语言统计一篇英文短文中单词的个数实例代码...

    具体代码如下所述: #include #define N 1000 void main(){ char en[N][81]; int i,j,num=0,n,state; //num 用来统计单词的个 ...

  9. 检验int值在list中是否存在_R语言统计与绘图:卡方检验

    卡方检验在计数资料中的应用,包括推断两个总体率或构成比之间有无差别.多个总体率或构成比之间有无差别.多个样本率间的多重比较.两个分类变量之间有无关联性.多维列联表的分析和频数分布拟合优度的卡方检验. ...

  10. c语言 统计数量用count_c语言中统计重复数字次数 c语言问题 统计不同数字的个数...

    请问c语言当中,如何统计数字各自出现的次数 请教一个问题: 在c语言当中,用数组的方法,统计输入的一串数字,统计实现代码: #include int main() { int num = 0, i = ...

最新文章

  1. 看到这些代码,我自叹不如!!!
  2. 对比电机和舵机中的PWM信号的作用
  3. 手机版的python-手机版python
  4. 任意半径局部直方图类算法在PC中快速实现的框架。
  5. djandgo model id
  6. 如何处理错误信息 Pricing procedure could not be determined
  7. P2231 [HNOI2002]跳蚤(裴蜀定理/莫比乌斯反演)
  8. mysql count count id_mysql 为什么count(*)快于count(id)
  9. 动态规划(五)——0/1背包
  10. maven只是经手,不是触发:org.apache.maven.lifecycle.LifecycleExecutionException
  11. @JVM垃圾收集器种类
  12. JDK中提供的类(常用API)
  13. 计算机房英语谐音,机房英语
  14. qemu安装WindowsXP和Windows2000
  15. 我说CMMI 2.0 之 配置管理
  16. 20考研率辉计算机复试(散列)
  17. 九型人格:四、The TRAGIC ROMANTIC 悲情浪漫者 - 我若不是独特的,就没有人会爱我
  18. JavaScript 效果 - so cool
  19. 生日提醒功能-提前三天
  20. 错误数据(图片)去除

热门文章

  1. 前端实现AWS s3亚马逊云储存上传资源
  2. SVN项目提交设置忽略上传资源
  3. vue3.0之写tsx语法
  4. bagku秋名山老司机
  5. 用swing写个简单的登录器
  6. finally这样写会吞掉异常?
  7. 微信企业号回调 php,PHP微信企业号回调模式的开启与用法实例分享
  8. 智慧天气系统 - 可视化大屏(Echarts)管理系统(HTTP(S)协议)物联网平台(MQTT协议)
  9. 工作中,掌握这四个说话技巧,再也不用担心自己不会说话
  10. java rd th 小票机_英语日期rd、th有什么区别,怎么运用?