您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 网络安全――密码技术
密码技术8.3.1加密技术概述8.3.2私钥密码技术8.3.3公钥密码技术第8章网络安全8.3.1密码技术概述密码技术对存储或者传输的信息采取秘密的交换以防止第三者对信息的窃取的技术。密码技术分为加密和解密两部分。加密是把需要加密的报文(也称为明文)按照以密码钥匙(简称密钥)为参数进行变换,产生密码文件(简称密文)。解密是按照密钥把密文还原成明文的过程。密钥是一个数值,它和加密算法一起生成特别的密文。密钥本质是非常大的数,密钥的尺寸用位(bit)表示,在公开密钥加密方法中,密钥的尺寸越大,密文就越安全。第8章网络安全8.3.1密码技术概述利用密码技术,报文在从信源发出和进入通信信道之间进行加密,经过信道传输,到信宿接收时进行解密,以实现网络通信保密。加密与解密模型如图8.8所示。图8.8加密解密模型若密码分析的攻击者只是监听对密码通信信道上所有信息,称之为被动攻击。若他还能够对通信道上传输的消息进行截取、修改甚至主动发送信息,称之为主动攻击。第8章网络安全8.3.2私钥密码技术私钥密码体制是从传统的简单换位、代替密码发展而来的,也称为对称密码体制。对称密码体制使用相同的密钥加密和解密信息,亦即通信双方建立并共享一个密钥。对称密码体制的工作原理为:用户A要传送机密信息给B,则A和B必须共享一个预先由人工分配或由一个密钥分发中心(KDC)分发的密钥K,于是A用密钥K和加密算法E对明文P加密得到密文C=EK(P),并将密文C发送给B;B用同样一密钥K和解密算法D对密文解密,得到明文P=DK(EK(P))。按加密模式来分,对称密码体制可以分为流密码(或称序列密码)和分组密码(或称块密码)两大类。第8章网络安全8.3.2私钥密码技术1.流密码流密码的工作原理是,通过有限状态机产生性能优良的伪随机序列,使用该序列加密信息流,逐比特加密,得到密文序列。所以流密码的安全强度完全取决于它所产生的伪随机序列的好坏。流密码的优点是错误扩展小、速度快、同步容易和安全程度高。对流密码的攻击的主要手段有代数方法和概率统计方法,两者的结合可以达到较好的效果。第8章网络安全8.4.2私钥密码技术2.分组密码分组密码的工作方式是将明文分成固定的块,用同一密钥算法对每一块加密,输出也是固定长度的密文。分组密码(BlockCipher)是将明文消息编码表示后的数字序列x1,x2,…,x3,…,划分成长为m的组x=(x0,x1,…,xm-1),各组分别在密钥k=(k0,k1,…,kl-1)控制下变换成等长的输出数字序列y=(y0,y1,…,yn-1),其加密函数E:Vn×K→Vn,Vn是n维矢量空间,K为密钥空间。分组密码与流密码不同之处在于输出的每一位数字不是只与相应时刻输入的明文数字有关,而是还与一组长为m的明文数字有关。这种密码实质上是字长为m的数字序列的代换密码,如图8.9所示。第8章网络安全8.3.2私钥密码技术图8.9分组密码框图第8章网络安全8.3.2私钥密码技术通常取n=m;若nm,则为有数据扩展的分组密码;若nm,则为有数据压缩的分组密码。分组密码每次加密的明文数据量是固定的分组长度n,而实用中待加密消息的数据量是不定的,因此需要采用适当的工作模式来隐蔽明文中的统计特性、数据的格式等,以提高整体的安全性,降低删除、重放、插入和伪造的成功的机会。美国NSB规定了四种基本的工作模式,即电码本(ECB)、密码反馈链接(CBC)、密码反馈(CFB)、输出反馈(OFB)。ANSI、ISO和ISO/IEC也规定了类似的工作模式。SET协议使用DES的密码分组链接CBC(CipherBlockChaining)模式。第8章网络安全8.3.2私钥密码技术3.DES和AESDES(DataEncryptionStandard)是当今使用得最为广泛的一种加密方案,一般认为是很难破解的私钥。它以64bit的块来加密,即通过对64位的明文块加密得到64位的密文块。加密和解密都使用相同的密钥和算法,只是在密钥次序中有些区别。56位的密钥表示为64位的数,而每个第8位都用于奇偶较验。DES可用于所有4种模式中:ECB、CBC、CFB用OFB。但是,一般DES只用于CBC模式和CFB模式。第8章网络安全8.3.2私钥密码技术AES(AdvancedEncryptionStandard)是替换DES的一种加密算法。AES具备以下的特点:算法必须是对称密码或私有密码。算法必须是类似DES的一块密码,而不是流密码。算法支持密钥长度范围从128到256位,而且算法还应支持不同块数的数据。算法应该用C或Java程序语言设计。除上述需求外,AES还必须要高效率,而且AES算法必须是公开,免专利权税。第8章网络安全8.3.3公钥密码技术1.公开密钥密码概述公钥加密算法也称非对称密钥算法,用两对密钥:一个公共密钥和一个专用密钥。公共密钥则可以发布出去,专用密钥要保证绝对的安全。用公共密钥加密的信息只能用专用密钥解密,反之亦然。公共密钥加密算法主要有:RSA、Diffie—Hellman等。公钥密码体制的原理为:用户A和B各自拥有一对密钥(KA、KA-1)和(KB、KB-1)。私钥KA-1、KB-1分别由A、B各自秘密保管,而KA、KB则以证书的形式对外公布。当A要将明文消息P安全地发送给B,则A用B的公钥KB加密P得到密文C=EKB(P);而B收到密文P后,用私钥KB-1解密恢复明文P=DKB-1(C)=DKB-1(EKB(P))。第8章网络安全8.3.3公钥密码技术公钥加密算法中使用最广的是RSA。RSA使用两个密钥,一个公共密钥,一个专用密钥。如用其中一个加密,则用另一个解密,密钥长度从40到2048bit可变,加密时也把明文分成块,块的大小可变,但不能超过密钥的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块。密钥越长,加密效果越好,但加密、解密的开销也大,所以要在安全与性能之间折衷考虑,一般64位是较合适的。公用密钥的优点就在于,尽管通信双方不认识,但只要提供密钥的CA可靠,就可以进行安全通信,这正是Web商务所要求的。公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。第8章网络安全8.3.3公钥密码技术2.RSA密码系统RSA是第一个较完善的公开密钥算法。RSA的理论基础是数论的欧拉定理,即寻求两个大素数容易,但将它们的乘积进行因式分解极其困难。基于这一原理,用户秘密选择两个100位的十进制大素数p、q,计算出它们的乘积N=pq,并将N公开;再计算出N的欧拉函数Φ(N)=(p一1)(q—1),定义Φ(N)为小于等于N且与N互为素数的个数;然后,用户从[0,Φ(N)-1]中任选一个与其Φ(N)互为素数的数e,同时由d=e-1(modΦ(N))得到另一个数d。这样就产生一对密钥:PK=(e,N),SK=(d,N)若用整数X为明文,Y为密文,则有:加密:Y=Xe(modN);解密:X=Yd(modN)。一般要求p,q为安全素数,N的长度大于512bit。第8章网络安全8.3.3公钥密码技术3.Diffie—Hellman密钥交换密钥交换是指通信双方交换会话密钥,以加密通信双方后续连接所传输的信息。每次逻辑连接使用一把新的会话密钥,用完就丢弃。Diffie—Hellman算法是第一个公开密钥算法,发明于1976年。Diffie—Hellman算法能够用于密钥分配,但不能用于加密或解密信息。下面是Diffie—Hellman密钥交换协议。设p为512bit以上大素数,g<p,p、g公开,A与B通过对称密钥密码体制进行保密通信。第8章网络安全8.3.3公钥密码技术下面是A、B通过公开密钥算法协商通信密钥的协议:A随机选择x<p,发送X=gx(modp)给B。B随机选择y<p,发送Y=gy(modp)给A。A通过自己的x秘密计算得:K=(Y)x(modp)=(gy)x(modp)=gxy(modp)B通过自己的y秘密计算得:K’=(X)y(modp)=(gx)y(modp)=gxy(modp)知K=K’。线路上的搭线窃听者只能得到p、g,X和Y的值,除非能计算离散对数,恢复出x和y,否则就无法得到K,因此,K为A和B独立计算的秘密密钥。第8章网络安全8.3.3公钥密码技术4.数字签名数字签名是使用某人的私钥加密特定的消息摘要散列值而得到的结果,通过这种方法把人同特定消息联系起来,类似于手书签字。数字签名与手书签名的区别在于,手书签字是模拟的,且因人而异。数字签字是0和1的数字串,因消息而异。数字签字有两种:一种是对整体消息的签字,它是消息经过密码变换的被签消息整体。一种是对压缩消息的签字,它是附加在被签字消息之后或某一特定位置上的一段签字图样。一个签字体制一般含有两个组成部分,即签字算法和验证算法。第8章网络安全8.3.3公钥密码技术数字签名算法:公开密钥:p为512~l024bit的素数;q为160bit长的素数,且为(p一1)的因子。g=h(p-1)/qmodq,其中1h<p一1且g>1的整数;y=gxmodp。秘密密钥:0x<q,且为随机产生的整数。签名过程:0k<q,且为随机产生的整数。r=(gk(modp))modq,s=(k-1(H(m)十xr))modq;(r,s)作为对消息m的签名,H(x)为安全的Hash(散列)函数。验证过程:w=s-1modq;u1=(H(m)xw)modq;u2=(rw)modq;v=((gu1xyu2)modp)modq;若v=r,则对m的签名有效。。
本文标题:网络安全――密码技术
链接地址:https://www.777doc.com/doc-3967442 .html