传统密码与密码学基本概念
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章传统密码与密码学基本概念
1.1 基本概念
随着计算机通讯被广泛地应用于商业、金融、政府及军事部门,如何防止日益严重的计算机犯罪,防止信息在通讯过程中被非法泄露、删除和修改,已成为全社会关心的问题。密码技术作为信息加密、鉴别和签名的手段,引起了数学家和计算机科学工作者的日益浓厚的兴趣。
什么是密码?简单地说它就是对一组信息M在参数K的参与下进行E变换,得到密文C。
设已知信息M,通过变换得密文(或密码)C。即()
=这个变换过程称之为加密。加密前的信息称为明文,C
E
M
K
一般用M(或m)表示。加密后得到的密码称为密文,一般用C(或c)表示。对明文实施变换得到密文的过程称为加密变换(简称为加密),记为E。加密变换所使用的一组规则称为加密算法。加密操作通常在一组指定参数的控制下进行,所指定的参数称为加密密钥,一般用K(或k,即Key,密钥)表示。从密文C恢复明文M的变换过程称之为解密变换(简称为解密),记为D,即()C
=。解密变换所使用的一组规则称为解密算法。解密M
D
K
过程是加密过程的逆过程,解密过程也在指定的参数(密钥)的控制下进行。
传统密码加密用的密钥与解密用的密钥相同,称之为对称加密(也称为单密钥加密或常规加密)。
对称加密的两个例子:
1、设已知明文M为security将明文先分成2个字母1组,再将各组逆序书写,得密文C为esuciryt。这里加密变换是将明文先分组再逆序书写,密钥K是每组的字符长度2。解密过程是加密过程的逆过程,密钥相同。
2、将已知明文为security将明文写成矩阵形式
s c r t
e u i y
然后按行的顺序重新书写即可得出密文scrteuiy。解密时,将密文分成两半(两行)后按列的顺序读出即为明文。密钥K为行的长度2。上述两例加密算法的加密密钥与解密密钥相同都等于2,称之为对称加密。
如果加密密钥与解密密钥不同,并且在计算上无法相互推导出,则称此加密变换为非对称加密(或公开密钥加密)。
密码学是研究通信安全保密的学科,由密码编码学和密码分析学组成。密码编码学主要研究如何保护传递的信息不被非法窃取、解读和利用。密码分析学主要研究如何分析和破译密码,窃取被保护的信息。非授权者借助窃听到的密文以及其他一些信息通过各种方法推断原来的明文甚至密钥,这一过程称为密码分析或密码攻击。从事这一工作的人称作是密码分析员。
对密码的攻击分为主动攻击和被动攻击。被动攻击是从传输信道上截取信息(或从存储的载体上偷窃信息),通过分析使需要保密的明文信息遭到泄露。主动攻击是利用对传输过程中或对存储的数据进行非法删除、更改、插入和重放等手段,损害信息的完整性。如果密码分析者可以由密文推出明文或密钥,或者由明文和密文可以寻求密钥,那么就称该密码系统是可破译的系统。相反地,则称该密码系统不可破译系统。对于一个密码系统来说,若攻击者无论得到多少密文也求不出确定明文的足够信息,称该密码系统就是理论上不可破译的,例如,“一次一密”密码系统属于理论上不可破译的。此密码系统要求每发送一条消息都要使用一个新的密钥,密钥每次发送前需安全地传送给接收者。虽然这给密钥管理带来了很大的难度,但是由于这种密码体制能够提供很高的安全性,所以在某些军事或外交场合仍然在使用。若一个密码系统原则上虽可破译,但为了由密文得到明文或密钥却需十分艰巨的计算,而不能在预料的时间内或实际可能的经济条件下(或合理的代价下)求出答案,这种密码系统就是实际不可破译的。例如,一个保护10万元财产的密码系统如果其破译代价高于10亿元,那么从经济角度看此系统是实际上安全的。又如,政府的一些决策只需要在发布前的一段时间内严格保密,其保密时效性只要求维持一段时间的不可破译。衡量不可破译性的尺度叫
保密强度。对于任何一个密码系统,如果达不到理论上不可破译,就必须满足实际不可破译的保密强度。实际不可破译的保密强度必须与这个密码系统的应用目的、保密时效要求和当前的破译水平相适应。
全体可能出现的明文的集合称为明文空间。全体可能出现的密文的集合称为密文空间。全体可能出现的密钥的集合称为密钥空间。明文空间、密文空间、密钥空间和算法的合在一起组成密码系统。从上面的讨论中我们可以得到如下的对密码系统的基本要求:(1)密码系统的密钥空间必须足够地大;如果密钥空间小的话,攻击者可以采用穷举方法搜索整个密钥空间寻找密钥,从而攻破密码系统。(2)加密与解密运算必须在计算上是可行的,必须能够被方便地实现。(3)整个密码系统的安全性系于密钥上,即使密码算法(变换方法)被公布,在密钥不泄露的情况下,密码系统的安全性也可以得到保证。另外,对密码系统还存在一些其他的要求,例如:如何防止攻击者通过其他的非技术手段(例如用金钱收买密钥管理人员等)攻破一个密码系统。因此,一个密码系统必须同时拥有完善技术与制度要求,才能保证整个系统的安全。
1.2 恺撒密码及频率分析攻击法
了解传统密码是学习现代密码的基础。传统密码加密技术主要采用两种方法:替代和置换。将明文的字母由其他字母或数字或符号代替得密文的方法称为替代方法。替代方法又分单字母替代和多字母替代。通过对明文字母位置的置换,得到排列结果完全不同的密文的方法称为置换方法。
下面用凯撒密码为例来说明单字母替代原理。凯撒密码是最简单的单字母替代密码,由公元前50年罗马皇帝朱里斯·凯撒(Julius Caesar)发明。他把字母表中的每个字母用该字母后面第3个字母代替,字母表是循环的,z后面的字母为a。例如:明文为security替代后得到的密文为vhfxulwb。恺撒密码属于序列密码或流密码,其特点是每次一位地对明文进行加密。
对单字母替代密码最有效攻击方法为频率分布分析法等。下面举一个例子解释频率分布分析法的破译原理。设密文为:
uifsfxfsfuxpcspuifstkpioboeqfufskpioxbtuxpzfbstzpvohfsuiboqfufscvu ifxbtbdmfwfscpzifxbthppebufohmjtiboenbuitqfufsxbtopubdmfwfscpzi fxbtopuhppebubozuijohkpioifmqfeqfufsupepijtipnfxpslcvuifxbtbmxbz tjouspvcmfxjuiijtufbdifstpofebzuifcpztxfouupbofxtdippm
先确定字母的频率分布,经过统计英文中单字母相对百分比频率如下(明文的字母越多规率越明显):
E12.75% T9.25% R8.5% I7.75% N7.75% O7.5% A7.25% S6% D4.25% L3.75% C3.5% H3.5% F3% U3% M2.75% P2.75% Y2.2% G2% V1.5% W1.5% B1.25% K0.5% Q0.5% X0.5% J0.25% Z0.25% 英文中除单字母的频率分布的规律外,还有多字母的分布规律规律。th是最常见的双字母组合,the是英语中出现最为频繁的三字母组合。上述密文中单各字母出现的次数为:f34 u24 s15 j6 o16 p25 b21 t16 e7 m7 d4 i21 g0 v4 n2 q5 z8 h5 w2 x14 c7 l1 r0 y0 k3 a0 ui9 uif4。字母f出现的次数最多(34次)很可能对应明文字母e。字母p、u、b、o、s、i和t出现的相对频率较高,可能包括在明文集合:t,r,i,n,o,a,s中。字母a、g、r、y和l出现的相对频率最低,可能包括在明文集合:l,r,y,k,a中。多字母组合ui出现了9次,uif出现了4次,u很可能对应明文字母t,i很可能对应明文字母h,f很可能对应明文字母e。将密文分组尝试是否它们可形成了一个完整的词。在第一行的前4个字母UIFSF可能对应明文字母thee,但如果它们是个词,则很可能对应的单词是there,因此,S对很可能应于字母r。继续进行试探,最终可得出完整的明文如下:
There were two brothers, John and Peter. John was two years younger than Peter but he was a clever boy. He was good at English and Maths. Peter was not a clever boy. He was not good at anything. John helped Peter to do his homework but he was always in trouble with his teachers. One day the boys went to a new school.
为了预防频率分布分析法对单字母替代密码系统的攻击,减少明文字母频率结构仍能保留在密文中的程度。加密时可以使用多字母的加密方法。
1.3 Vergenere密码
本节用Vigenere为例来说明多字母替代原理。Vigenere技术