83密码技术 8.3.1加密技术概述 8.32私钥密码技术 8.33公钥密码技术 ●四南大字画字
8.3 密码技术 8.3.1 加密技术概述 8.3.2 私钥密码技术 8.3.3 公钥密码技术
8.31密码技术概述 密码技术对存储或者传输的信息采取秘密的交换以防止第三者对 信息的窃取的技术。 密码技术分为加密和解密两部分。加密是把需要加密的报文(也 称为明文)按照以密码钥匙(简称密钥)为参数进行变换,产生密码 文件(简称密文)。解密是按照密钥把密文还原成明文的过程 密钥是一个数值,它和加密算法一起生成特别的密文。密钥本质 是非常大的数,密钥的尺寸用位(bt)表示,在公开密钥加密方法中, 密钥的尺寸越大,密文就越安全。 第8章网络安全
第8章 网络安全 8.3.1 密码技术概述 密码技术对存储或者传输的信息采取秘密的交换以防止第三者对 信息的窃取的技术。 密码技术分为加密和解密两部分。加密是把需要加密的报文(也 称为明文)按照以密码钥匙(简称密钥)为参数进行变换,产生密码 文件(简称密文)。解密是按照密钥把密文还原成明文的过程。 密钥是一个数值,它和加密算法一起生成特别的密文。密钥本质 是非常大的数,密钥的尺寸用位(bit)表示,在公开密钥加密方法中, 密钥的尺寸越大,密文就越安全
8.31密码技术概述 利用密码技术,报文在从信源发出和进入通信信道之间进 行加密,经过信道传输,到信宿接收时进行解密,以实现网络 通信保密。加密与解密模型如图8.8所示。 各种干扰 报文 加峦 解吝 原报文 文传艳 信源 加单元 解峦单元 图8.8加密解密模型 若密码分析的攻击者只是监听对密码通信信道上所有信息, 称之为被动攻击。若他还能够对通信道上传输的消息进行截取、 修改甚至主动发送信息,称之为主动攻击 第8章网络安全
第8章 网络安全 8.3.1 密码技术概述 利用密码技术,报文在从信源发出和进入通信信道之间进 行加密,经过信道传输,到信宿接收时进行解密,以实现网络 通信保密。加密与解密模型如图8.8所示。 图8.8 加密解密模型 若密码分析的攻击者只是监听对密码通信信道上所有信息, 称之为被动攻击。若他还能够对通信道上传输的消息进行截取、 修改甚至主动发送信息,称之为主动攻击
832私钥密码技术 私钥密码体制是从传统的简单换位、代替密码发展而来的,也称为 对称密码体制。对称密码体制使用相同的密钥加密和解密信息,亦即通 信双方建立并共享一个密钥。 对称密码体制的工作原理为:用户A要传送机密信息给B,则A和B 必须共享一个预先由人工分配或由一个密钥分发中心(KDC)分发的 密钥K,于是A用密钥K和加密算法E对明文P加密得到密文C≡EK(P), 并将密文C发送给B;B用同样一密钥K和解密算法D对密文解密,得到 明文P=DK(EK(P))。 按加密模式来分,对称密码体制可以分为流密码(或称序列密码) 和分组密码(或称块密码)两大类。 第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))。 按加密模式来分,对称密码体制可以分为流密码(或称序列密码) 和分组密码(或称块密码)两大类
832私钥密码技术 1.流密码 流密码的工作原理是,通过有限状态机产生性能优良的伪随机序 列,使用该序列加密信息流,逐比特加密,得到密文序列。所以流密 码的安全强度完全取决于它所产生的伪随机序列的好坏 流密码的优点是错误扩展小、速度快、同步容易和安全程度高。 对流密码的攻击的主要手段有代数方法和概率统计方法,两者的 结合可以达到较好的效果。 第8章网络安全
第8章 网络安全 8.3.2 私钥密码技术 1. 流密码 流密码的工作原理是,通过有限状态机产生性能优良的伪随机序 列,使用该序列加密信息流,逐比特加密,得到密文序列。所以流密 码的安全强度完全取决于它所产生的伪随机序列的好坏。 流密码的优点是错误扩展小、速度快、同步容易和安全程度高。 对流密码的攻击的主要手段有代数方法和概率统计方法,两者的 结合可以达到较好的效果
842私钥密码技术 2.分组密码 分组密码的工作方式是将明文分成固定的块,用同一密钥算法对 每一块加密,输出也是固定长度的密文。分组密码( Block Cipher) 是将明文消息编码表示后的数字序列X1,×2,…,X,…,划分成长 为m的组x=( 5m-1)y 各组分别在密钥k=(k k1)控制下变换成等长的输出数字序列y=(yo,y1,…,yn1),其 加密函数E:Vn×KV,V是n维矢量空间,K为密钥空间。 分组密码与流密码不同之处在于输出的每一位数字不是只与相应 时刻输入的明文数字有关,而是还与一组长为m的明文数字有关。这 种密码实质上是字长为m的数字序列的代换密码,如图89所示。 第8章网络安全
第8章 网络安全 8.4.2 私钥密码技术 2. 分组密码 分组密码的工作方式是将明文分成固定的块,用同一密钥算法对 每一块加密,输出也是固定长度的密文。分组密码(Block Cipher) 是将明文消息编码表示后的数字序列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所示
832私钥密码技术 您钥 k=(k/ky…;k1) k=(kk,…,k1) 密文 F(x0JX1J…Jzl 加管可,…解密笃法1x(x4为1…1x 图89分组密码框图 第8章网络安全
第8章 网络安全 8.3.2 私钥密码技术 图8.9 分组密码框图
832私钥密码技术 通常取n=m;若n>m,则为有数据扩展的分组密码;若n<m,则 为有数据压缩的分组密码。 分组密码每次加密的明文数据量是固定的分组长度n,而实用中待 加密消息的数据量是不定的,因此需要采用适当的工作模式来隐蔽明 文中的统计特性、数据的格式等,以提高整体的安全性,降低删除、 重放、插入和伪造的成功的机会。 美国NSB规定了四种基本的工作模式,即电码本(ECB)、密码 反馈链接(CBC)、密码反馈(CFB)、输出反馈(OFB)。ANS lSO和sO/EC也规定了类似的工作模式。SET协议使用DES的密码 分组链接CBC( Cipher Block Chaining)模式。 第8章网络安全
第8章 网络安全 8.3.2 私钥密码技术 通常取n=m;若n>m,则为有数据扩展的分组密码;若n<m,则 为有数据压缩的分组密码。 分组密码每次加密的明文数据量是固定的分组长度n,而实用中待 加密消息的数据量是不定的,因此需要采用适当的工作模式来隐蔽明 文中的统计特性、数据的格式等,以提高整体的安全性,降低删除、 重放、插入和伪造的成功的机会。 美国NSB规定了四种基本的工作模式,即电码本(ECB)、密码 反馈链接(CBC)、密码反馈(CFB)、输出反馈(OFB)。ANSI、 ISO和ISO/IEC也规定了类似的工作模式。SET协议使用DES的密码 分组链接CBC(Cipher Block Chaining)模式
832私钥密码技术 3.DES和AEs DEs( Data Encryption Standar)是当今使用得最为广泛的一种 加密方案,一般认为是很难破解的私钥。它以64b的块来加密,即通 过对64位的明文块加密得到64位的密文块 加密和解密都使用相同的密钥和算法,只是在密钥次序中有些区 别。56位的密钥表示为64位的数,而每个第8位都用于奇偶较验 DES可用于所有4种模式中:ECB、CBC、CFB用OFB。但是, 一般DES只用于CBC模式和CFB模式。 第8章网络安全
第8章 网络安全 8.3.2 私钥密码技术 3. DES和AES DES (Data Encryption Standard)是当今使用得最为广泛的一种 加密方案,一般认为是很难破解的私钥。它以64bit的块来加密,即通 过对64位的明文块加密得到64位的密文块。 加密和解密都使用相同的密钥和算法,只是在密钥次序中有些区 别。56位的密钥表示为64位的数,而每个第8位都用于奇偶较验。 DES可用于所有4种模式中:ECB、CBC、CFB用OFB。但是, 一般DES只用于CBC模式和CFB模式
832私钥密码技术 AEs( Advanced Encryption Standard)是替换DES的一种加密算 法 AES具备以下的特点 算法必须是对称密码或私有密码。 算法必须是类似DEs的一块密码,而不是流密码 算法支持密钥长度范围从128到256位,而且算法还应支持 不同块数的数据。 算法应该用C或Java程序语言设计。 除上述需求外,AES还必须要高效率,而且AES算法必须是公开, 免专利权税。 第8章网络安全
第8章 网络安全 8.3.2 私钥密码技术 AES(Advanced Encryption Standard)是替换DES 的一种加密算 法。 AES具备以下的特点: ➢ 算法必须是对称密码或私有密码。 ➢ 算法必须是类似DES的一块密码,而不是流密码。 ➢ 算法支持密钥长度范围从128到256位,而且算法还应支持 不同块数的数据。 ➢ 算法应该用C或Java程序语言设计。 除上述需求外,AES还必须要高效率,而且AES算法必须是公开, 免专利权税