《经典密码》由会员分享,可在线阅读,更多相关《经典密码(27页珍藏版)》请在金锄头文库上搜索。
1、经典密码 代替密码,讲师:张远 课程:通信网的安全与保密,课程信息,课程:选修课 地点: 时间:36学时 电话: 邮件:,教材 参考资料 密码学简明教程 计算机密码学,课程简介,简介 本课程将介绍现代密码学相关的算法及应用,旨在让学生掌握现代密码的设计、分析原理及应用。 本课程面向通信工程专业的学生开设,需要具备通信原理、信息论、计算机基础等预备知识。,章节,绪论 经典密码 分组密码 序列密码 公开秘钥密码 单项散列函数 数字签名 密码协议 密码应用,开始上课。,经典密码,经典密码(古典密码)通常将字符通过易位或者代替的方式实现加密,这一类加密算法大都比较简单,分析也相对容易,研究这些密码的原
2、理,对于理解和分析现代密码具有一定的指导意义。 易位密码 代替密码,代替密码,代替密码就是将明文中的字符替换成字母表中另外一个字符,从而隐藏原有明文含义的加密方法。 单表代替密码 多变代替密码,代替密码,单表代替密码,明文:n o r t h w e s t,密文:,Q,R,U,W,K,Z,H,V,W,代替密码,单表代替密码,c=(m+3)mod 26,代替密码,单表代替密码,c=(m+3)mod 26,代替密码,单表代替密码,c=(m+3)mod 26,名词解释:秘钥是用于控制加密解密变换的参数。,c=(m+k)mod q,加法密码,代替密码,单表代替密码,加法密码,加法密码如何解密呢?,m
3、=(c-3)mod 26,m=(c-k)mod q,代替密码,单表代替密码,加法密码,加法密码安全性如何呢?,名词解释:秘钥量是秘钥空间中不同秘钥的个数。,加法密码的秘钥量是多少呢?,q,由于秘钥量很小,因此加法密码很容易被分析出来。,代替密码,单表代替密码,加法密码,已知密文: XYBDRGOCD,采用穷举法分析,解密得到: northwest,代替密码,单表代替密码,乘法密码,根据加法密码的设计思路,采用乘法原理可以得到以下算法,c=(m*k)mod q,当 k=3 时,可以得到如下的代替表,代替密码,单表代替密码,乘法密码,gcd(k,q)=1,为了保证算法的可逆性,k的取值需要满足以下
4、要求,根据欧拉函数,计算出q=26时,(q)=(13-1)*(2-1)=12,乘法密码的秘钥量为(q),在保证可逆性的前提下,采用乘法密码可以构造出12个不同的代替表。根据秘钥量的定义,可以得到:,代替密码,单表代替密码,乘法密码,乘法密码如何解密?,c=(m*k)mod q,初等数论中,素域GF(q)定义了乘法运算以及乘法逆,对于所有非0元素,都可以找到逆元-1,计算方法通常采用扩展欧几里得算法实现(后续章节介绍)。根据逆元的定义和计算方法,乘法密码的解密变换可以定义为:,m=(C*k-1)mod q,代替密码,单表代替密码,乘法密码,加法密码,c=(m+k)mod q,m=(c-k)mod
5、 q,加法密码的秘钥量:q,c=(m*k)mod q,m=(c*k-1)mod q,乘法密码的秘钥量:(q),代替密码,单表代替密码,乘法密码,加法密码,+,c=(m+k)mod q,c=(m*k)mod q,c=(k1m+k2)mod q,仿射密码,代替密码,单表代替密码,c=(k1m+k2)mod q,仿射密码,仿射密码的解密变换,m=k1-1(c-k2)mod q,仿射密码的秘钥量:(q) * q,代替密码,单表代替密码,以上三种单表代替密码从秘钥的数量来看,安全性都非常低,换言之,所设计的代替表的数量非常有限,如何能够增加秘钥数量,增加代替表的数量呢?,根据排列组合的原理,秘钥数量将达
6、到 26!,置换密码,代替密码,单表代替密码,虽然置换密码可以构造大量的代替表,对于密码分析者来说,密码破译的难度有所增加。 但是从单表代替密码的固有属性分析,我们会发现,密文中字母出现的统计特性与明文是相同的,因此,统计分析将对单表代替密码非常奏效。,代替密码,单表代替密码,下表是统计了近20000个常用的英文词汇后得出的结果,统计分析法,代替密码,单表代替密码,在做统计分析前,首先需要获取一定数量的密文,在此基础上,对密文中每一个字母出现的数量进行统计,得到一个初步的分析结果,可以解密出部分高频(或低频)字母。,统计分析法,然后对其中的字母组合进行统计。因为在英文单词中会出现如th、st、en、ee等这样的字母组合。通过对字母组合的统计,进一步判定一些字母。,最后,对于无法确定的一部分字母可以通过猜测的方式,逐一测试,最终就能够解密出明文。,总结,单表代替密码从设计方式上,可以分为四种:加法密码、乘法密码、仿射密码、置换密码。 从密码的安全性分析,由于秘钥量很小,通过穷举法可以很容易的分析出明文,还可以通过统计分析的方法对明文进行分析。 缺点:无法隐藏明文的统计特性 改进:使用多表代替密码,问题/讨论,问题 1 设计一套单表代替密码 使用该密码加密一段明文 问题 2 课本15页,单表密码的统计分析,例2.5,谢谢大家。,