加密 联系客服

发布时间 : 星期六 文章加密更新完毕开始阅读c0ea82daa58da0116c1749c0

密码学是网络安全的基础,本章主要介绍密码学的一些基本知识、常见加密方法的原理和使用方法,以及基于公钥机制的数字签名和数字证书的使用。

5.1.1 密码学的定义

5.1.1 基本术语

密码学是研究如何实现秘密通信的科学,包括两个分支,即密码编码学和密码分析学。密码编码学是对信息进行编码,以实现信息保密性的科学,而密码分析学是研究、分析、破译密码的科学。因特网在给人们提供极大的方便的同时,也存在安全隐患,一些基于TCP/1P的服务是极不安全的,为了使网络变得安全并充分利用其商业价值,人们选择了数据加密和基于加密技术的身份认证。 密码学的基本功能是提供保密性,即非授权者无法知道消息的内容。此外,密码学还具有以下作用:

(1)鉴别。消息的接收者应该能够确认消息的来源。

(2)完整性。消息的接收者应该能够验证消息在传输过程中没有被改变。 (3)不可否认性。发送方不能否认已经发送的消息。

5.1.2 密码学的发展历史

密码学的发展大致可以分为以下3个阶段: (1)第一阶段是从几千年前到1949年。这一时期是科学密码学的前期,密码学专家常常是凭直觉和信念来进行密码设计,而对密码的分析也多基于密码分析者的直觉和经验。

(2)第二阶段是从1949年到1975年。1949年。香农发表了《保密系统的信息理论》一文,标志着密码学阶段的开始,从此,密码学成为一门科学。 (3)第三阶段为1976年至今。1976年,Diffie和HeIlman发表了《密码学新方向》一文,首次证明了在发送端和接收端不需要传输密钥的保密通信的可能性,从而开创了公钥密码学的新纪元。从此,密码学才开始充分发挥它的商用价值和社会价值,人们才能够接触到密码学。

5.1.3 香农模型【点击观看动画:香农模型】

密码学中有几个最基本并且最主要的术语,分别是明文、密文和密钥。为了介绍这3个术语,这里介绍密码系统的香农模型,如图5~1所示。

图5—1香农模型

在该模型中,消息源要传输的消息X被称为明文,明文可以是文本文件、位图等,明文通过加密器加密后得到密文Y,将明文进行编码变成密文的过程称为加密,记为E,其逆过程称解密,记为D。

对明文进行加密时采用的一组规则或变换称为加密算法,对密文进行解密时所采用的一组规则或变换称为解密算法。加密和解密通常都是在一组密钥的控制下进行的,分别称为加密密钥和解密密钥。

要传输消息x,首先加密得到密文Y,即Y=E(X),接收者收到Y后,要对其进行解密,即D(Y),为了保证将明文恢复,要求D(E(X))=X。

一个密码系统(或称为密码体制)由加密算法以及所有可能的明文、密文和密钥组成,它们分别称为明文空间、密文空间和密钥空间。

5.1.4 密码体制的分类

按密钥使用的数量不同,将密码体制分为对称密码(又称为单钥密码)和公钥密码(又称为非对称密码)。对于对称密钥密码而言,按照明文处理方式的不同,又可以分为流密码和分组密码

(1)在对称密码体制中,加密密钥和解密密钥相同或彼此之间很容易互相确定。公钥密码体制又称非对称密钥密码体制,在该体制中,加密密钥和解密密钥不同,而且通过计算很难从一个推出另一个。对称密钥密码体制中的流密码指的是将明文按字符逐位加密的密码体制,分组密码则是在对明文进行分组的基础上进行加密的密码体制。

(2)在对称密钥密码体制中,密钥需要经过安全的通道由发方传给收方,因此,这种密码体制的安全性就是密钥的安全性。这种密码体制的优点是安全性高

和加密速度快,缺点是随着网络规模的扩大,密钥的管理成为一个难点,无法解决信息确认问题并缺乏自动检测密钥泄密的能力。

(3)在公钥密码体制中,加密密钥和解密密钥是不同的,此时不需要通过专门的安全通道来传送密钥。公钥密码体制的优点是简化了密钥管理的问题,可以拥有数字签名等新功能,缺点是算法一般比较复杂,加密、解密速度慢。 最有影响力的对称密钥密码体制是1977年美国国家标准局颁布的DES密码体制,它采用了名为DES的著名的分组密码算法。最具代表性的公钥密码体制是1977年提出的RSA密码体制。

网络中的加密普遍采用对称密钥和公钥密码相结合的混合加密体制,即加解密是采用对称密钥密码,密钥传送则采用公钥密码。这样既解决了密钥管理的困难,又解决了加解密速度慢的问题。

5.1.5 密码分析

密码分析者是在不知道密钥的情况下,从密文恢复出明文。成功的密码分析不仅能够恢复出消息明文和密钥,而且能够发现密码体制的弱点,从而控制通信。常用的密码分析方法有4类:唯密文攻击(ciphertext~only attack)、已知明文攻击(known—plaintext attack)、选择明文攻击(chosen-plaintext attack)和选择密文攻击(chosen—ciphertext attack)。

(1)唯密文攻击。密码分析者已知一些消息的密文,这些消息都用同一加密算法加密。密码分析者的任务是恢复尽可能多的明文,或者最好是能推算出加密消息的密钥来,以便采用相同的密钥解出其他被加密的消息。

(2)已知明文攻击。密码分析者不仅可以得到一些消息的密文,而且也知道这些消息的明文。分析者的任务就是用加密消息推出用来加密的密钥或推导出一个算法,此算法可以对用同一密钥加密的任何新的消息进行加密。 (3)选择明文攻击。密码分析者不仅可以得到一些消息的密文和相应的明文,而且他们也可以选择被加密的明文。这比已知明文攻击更有效,因为密码分析者能选择特定的明文块去加密,那些块可能产生更多关于密钥的消息,分析者的任务是推出用来加密的密钥或导出一个算法,此算法可以对用同一密钥加密的任何新的消息进行解密。

(4)选择密文攻击。密码分析者能选择不同的被加密的密文,并可得到对应的解密的明文。密码分析者的任务是推出密钥。

此外,其他的密码分析方法还有自适应选择明文攻击(adaptive—chosen—plaintext attack)和选择密钥攻击(chosen—key attack)。前者是选择明文攻击的一种特殊情况,指的是密码分 析者不仅能够选择被加密的明文,也能够依据以前加密的结果对这个选择进行修正。后者实际的应用很少,这种攻击并不表示密码分析者能够选择密钥,它只表示密码分析者具有不同密钥之间的关系的有关知识,能够选择密钥。 一个好的密码系统应该满足下列要求:

(1)系统即使理论上达不到不可破,实际上也要做到不可破。也就是说,从截获的密文或已知的明文一密文对,要确定密钥或任意明文在计算上是不可行的。

(2)系统的保密性是依赖于密钥的,而不是依赖于对加密体制或算法的保密。

(3)加密和解密算法适用于密钥空间中的所有元素。 (4)系统既易于实现又便于使用。 5.2.1 经典密码体制

经典密码体制采用手工或机械操作实现加密与解密,实现起来相对简单。回顾和研究这些密码的原理和技术,对于理解、设计和分析现代密码仍然具有借鉴的价值。经典密码大体上可分为3类:单表代换密码、多表代换密码和多字母代换密码。

1.单表代换密码 在经典密码体制中,最典型的是替换密码,其原理可以用下面这个例子来说明。

将字母队b,c,d,?,w,x,y,z的自然顺序保持不变,但使之与D,E,F,G...,Z,A,B,C分别对应(即将字母表中的每个字母用其后的第三个字母进行循环替换),若明文为student,则对应的密文为VWXGHQW(此时密钥为3)。这就是凯撒(Kaesar)密码,也称为移位代换密码。凯撒密码仅有26个可能的密钥,非常不安全。如果允许字母表中的字母用任意字母进行替换,即上述密文能够是26个字母的任意排列,则将有26!或多于4*10种可能的密钥。这样的密钥空间对计算机来说,即便是穷举搜索密钥也是不现实的。 下面是一个由加密函数组成的“随机”置换。

明文:a b c d e f g h i j k l m n o p q r s t u v w x y z 密文:X N Y A HP O G Z Q W B T S F L R C V MU E K J D I 解密函数是如下的一个逆置换:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z d l r y v o h e z x w p t b g f j q n m u s k a c i 由于英文字母中各字母出现的频度早已有人进行过统计,所以根据字母频度表可以很容易对替换密码进行破译。替换密码是对所有的明文字母都用一个固定的代换进行加密,因而称为单表代换密码。为了抗击字母频度分析,随后产生了多表代换密码和多字母代换密码。 2.多表代换密码

多表代换密码中最著史的一种密码称为维吉尼亚(Vigenere)密码。这是一种以移位代换为基础的周期代换密码,m个移位代换表由m个字母组成的密钥字确定(这里假设密钥字中m个字母不同,如果有相同的,则代换表的个数是密钥字中不同字母的个数)。如果密钥字为deceptive,明文weardiscoveredsaveyourself被加密的情况如下:

明文:w e a r d i s c o v e r e d s a v e y o u r s e l f 密钥:d e c e p t i v e d e c e p t i v e d e c e p t i v e 密文:Z I C V T W Q N G R Z G V T W A V Z H C Q Y G L M G J

其中,密钥字母a,b,...,y,z对应数字0,1,...,24,25。密钥字母d对应数字3,因而明文字母w在密钥字母d的作用下向后移位3,得到密文字母Z;明文字母e在密钥字母e的作用下向后移位4,得到密文字母i,依此类推。解密时,密文字母在密钥字母的作用下向前移位。 为方便记忆,维吉尼亚密码的密钥字常常取英文中的一个单词、一个句子或一段文章。因此,维吉尼亚密码的明文和密钥字母频率分布相同,仍然能够用统