信息加密与认证技术.ppt

上传人:小飞机 文档编号:4951185 上传时间:2023-05-25 格式:PPT 页数:144 大小:716.50KB
返回 下载 相关 举报
信息加密与认证技术.ppt_第1页
第1页 / 共144页
信息加密与认证技术.ppt_第2页
第2页 / 共144页
信息加密与认证技术.ppt_第3页
第3页 / 共144页
信息加密与认证技术.ppt_第4页
第4页 / 共144页
信息加密与认证技术.ppt_第5页
第5页 / 共144页
点击查看更多>>
资源描述

《信息加密与认证技术.ppt》由会员分享,可在线阅读,更多相关《信息加密与认证技术.ppt(144页珍藏版)》请在三一办公上搜索。

1、第三章 信息加密与认证技术,本章内容,古典密码技术的分类和基本原理对称密码技术与DES、AES算法 公钥密码技术与RSA、ElGamal、ECC 信息认证的概念与作用及其基本原理 单向Hash函数与消息认证码的基本概念和原理 数字签名的原理和技术 身份认证的典型技术,学习目标,了解古典密码技术的分类和基本原理学习对称密码技术与DES、AES算法 掌握公钥密码技术与RSA、ElGamal、ECC 学习信息认证的概念与作用及其基本原理 了解单向Hash函数与消息认证码的基本概念和原理 掌握数字签名的原理和技术 学习身份认证的典型技术,3.1 密码学技术概述,密码系统的组成 密码系统是用于对消息进行

2、加密、解密的系统。可以用一个五元组来表示:1)明文:未加密的原始信息。2)密文:明文被加密后的结果。3)密钥:参与密码变换的参数。4)加密算法:明文加密时所采用的一组规则。5)解密算法:密文解密时所采用的一组规则。,3.1 密码学技术概述,密码系统的组成 传统密码体制模型如图所示:,3.1 密码学技术概述,密码学的分类 1.古典密码学和现代密码学 1)古典密码学 古典密码学又称为传统密码学,主要依靠人工和机械进行信息的加密、传输和破译。加密算法主要有替代加密、置换加密等。,3.1 密码学技术概述,密码学的分类 2)现代密码学 亦称为计算机密码学阶段,利用计算机进行自动或半自动的加密、解密和传输

3、,以二进制的数字化信息为研究对象,并使用现代思想进行信息的保密。根据密钥的使用方式又可分为对称密钥密码和非对称密钥密码。,3.1 密码学技术概述,密码学的分类 2.对称密钥密码和非对称密钥密码 1)对称密钥密码 又称为私密钥密码,加密和解密数据的密钥相同或者两者之间存在着某种明确的数学关系。主要算法有DES、IDEA、TDEA、MD5、RC4、AES等。,3.1 密码学技术概述,密码学的分类 2)非对称密钥密码 用于加密数据的密钥与用于解密数据的密钥不相同,而且从加密的密钥无法推导出解密的密钥。其中一个密钥是公开的,另一个是保密的,又可称为公开密钥密码体制。主要算法有RSA、E1gamnl、R

4、abin、DH、椭圆曲线等。,3.1 密码学技术概述,密码学的分类 3.分组密码和序列密码 1)分组密码 密文仅与给定的密码算法和密钥有关,与被处理的明文数据段在整个明文(或密文)中所处的位置无关。分组密码以块为单位,在密钥的控制下进行一系列线性和非线性变换而得到密文。,3.1 密码学技术概述,密码学的分类 3.分组密码和序列密码 2)序列密码 密文与给定的密码算法、密钥、明文数据段在整个明文(或密文)所处的位置都有关。密钥通常采用比特流发生器随机产生二进制比特流得到,与明文结合产生密文,与密文相结合可以产生明文。,3.2 古典密码技术,代替密码 1.单表代替密码 对明文中的所有字母都使用同一

5、个映射。1)移位代替密码 如凯撒密码,其基本思想是通过把字母移动一定的位数来实现加密和解密。,3.2 古典密码技术,代替密码 2)乘法代替密码 已知:p=c=k=z26,k是满足0kn的正整数,要 求k 与n互素。加密算法:c=E(k,p)=(pk)(mod n)解密算法:p=D(k,c)=k-1c(mod n),3.2 古典密码技术,代替密码 3)仿射密码 乘法密码和加法密码相结合便构成仿射密码。仿射密码是一个线性变换。对于p=c=k=z26,且K=(a,b)z26 X z26,gcd(a,26)=1,对于任意的k=(k1,k2)K,加密算法:c=E(k,p)=k1p+k2(mod 26)解

6、密算法:p=D(k,c)=k1-1(c-k2)(mod 26),3.2 古典密码技术,代替密码 2、多表代替密码 采用多个密文字母表,使得密文中的每一个字母有多种可能的字母来代替。Vigenre密码、Playfair密码、滚动密钥密码、弗纳姆密码以及Hill密码都是这一类密码。,3.2 古典密码技术,代替密码 1)Vigenre密码 最著名的多表代换密码,用一个词组作为密钥,每一个密钥字母都对应一个代替表。密钥循环使用。已知明文p=p1p2.pn,m是一个固定的正整数,对于一个密钥k=k1k2.km,则加密算法如下:C=E(p,k)=(p1+k1(mod26),p2+k2(mod26),.,p

7、n+kn(mod26).),3.2 古典密码技术,代替密码 1)Vigenre密码 解密算法:P=D(c,k)=(c1-k1(mod26),c2-k2(mod26),.,cn-kn(mod26).),3.2 古典密码技术,代替密码 2)Playfair加密算法 将明文中的双字母组合作为一个单元进行处理,并将每一个单元转换成双字母的密文组合。Playfair密码基于一个55矩阵,该矩阵采用一个关键词作为密钥来构造。构造的方法为:按从左至右,从上至下的顺序依次首先填入关键词中非重复的字母,然而再将字母表中剩余的字母按顺序填入矩阵。,3.2 古典密码技术,代替密码 3)滚动密钥密码 对于周期多表代替

8、密码,保密性将随周期d的加大而增 加,当d的长度和明文一样长时就变成了滚动密钥密码。如果其中所采用的密钥不重复就是一次一密体制。一般密钥可取一本书或一篇报告作为密钥源,可由书名,章节号及标题来限定密钥的起始位置。,3.2 古典密码技术,代替密码 4)弗纳姆密码 将随机二元数字序列作为密钥,以 k=k1k2.ki.(kiF2)表示,明文字母编成二元向量后也可以表示为二元序m=m1m2.mi.(miF2),加密过程就是将k和m逐位异或,即:ci=miXOR ki,i=1,2,.译码时,用同样的密钥对密文逐位异或,变可恢复明 文的二元数字序列,即:mi=ciXOR ki,i=1,2,.,3.2 古典

9、密码技术,代替密码 5)Hill密码 Hill加密算法的基本思想是将m个明文字母通过线性变 换将它们转换为m个密文字母。解密只要做一次逆变换就可以了。密钥就是变换矩阵本身。加密过程为:C=KP mod 26 其中,C和P代表密文和明文向量,K是密钥矩阵。解密则为:P=K-1C,3.2 古典密码技术,代替密码 6)一次一密 一次一密乱码本是一个大的不重复的真随机密钥字母 集。发方用乱码本中的每一密钥字母准确地加密一个明 文字符。加密是明文字符和一次一密乱码本密钥字符的 模26加法。收方有一个同样的乱码本,并依次使用乱码 本上的每个密钥去解密密文的每个字符。在进行过一次 加解密后,乱码本用过的部分

10、将被销毁。新的消息用乱 码本新的密钥加密。,3.2 古典密码技术,置换密码 古典密码技术除了代替密码,还有一种称为置换密码。把明文中的字母重新排列,字母本身不变,但其位置变 了。单纯的置换密码因为有着与原文相同的字母频率而被识 破。多步置换密码相对来说安全的多。,3.3 对称密钥密码技术,基本概念 对称密钥加密又称专用密码加密,即发送和接收方必 须使用相同的密钥对明文进行加解密运算。算法主要包括DES、3DES、IDEA、FEAL、BLOWFISH等。对称加密的基本要求:1、强大的加密算法。2、发送方和接收方必须保证密钥的安全。实现方式:流密码技术,分组密码技术,3.3 对称密钥密码技术,流密

11、码技术 基本思想是利用密钥k产生一个密钥流k0k1k2.,并使用 如下规则对明文串p=p0p1p2.加密:c=c0c1c2.=Ek0(p0)Ek1(p1)Ek2(p2).。密钥流由密钥流发生器f产生:zi=f(k,i),i是加密器中记忆元件在时刻i的状态。根据i 是否依赖于输入的明文字符,流密码可进一步分 为同步和自同步两种。在同步流密码中,可将加密器分成密钥流产生器和加密变换器两个部分。,3.3 对称密钥密码技术,流密码技术 加密模型如图所示:,3.3 对称密钥密码技术,流密码技术 1.A5/1 A5/1算法主要应用在GSM移动通信中用于保护数据。使用X、Y、Z三个线性移位寄存器LFSR。寄

12、存器X包 括19比特,编号为(x0,x1,.,x18)。寄存器Y包括22比特,编号为(y0,y1,.,y21)。寄存器Z包括23比特,编号为(z0,z1,.,z22)。三个LFSR总共包括64比特。密钥K同样是64比特,用于初始化三个寄存器。用密钥 填充三个寄存器后,就完成了密码流生成前的准备。,3.3 对称密钥密码技术,流密码技术 1.A5/1 密钥流生成算法如图所示:,3.3 对称密钥密码技术,流密码技术 2.RC4 A5/1根据硬件实现设计,每步仅产生一个密钥流比 特;RC4算法为软件实现优化,每步产生一个密钥字节。本质上来讲就是一个包含256字节的置换查表,在产生密钥流的每一个字节时,

13、所查的表就进行一次修改,表始终都包含0,1,2,255的置换。,3.3 对称密钥密码技术,流密码技术 2.RC4 RC4算法都是基于字节的。算法的第一阶段是对于查 表使用的密钥进行初始化,再产生每个密钥流字节,在加密时与明文做XOR运算,解密时与密文做XOR运算。,3.3 对称密钥密码技术,分组密码技术 分组密码是对称密码的典型代表。即数据在密钥的作 用下,一组一组地被处理,明文和密文的长度通常是相等的,一次对一个明文分组(如DES为64位)进行加密,而且每次的加密密钥都相同。,3.3 对称密钥密码技术,分组密码技术 分组加密的一般结构如图所示:,3.3 对称密钥密码技术,分组密码技术 按特定

14、长度(如64 bits)分组时,最后一组消息长度可能不足64bits。可以填充一些数字,通常用最后1字节作为填充指示符(PI)。,3.3 对称密钥密码技术,分组密码技术 1.DES DES 是一种分组乘积密码,包括16轮迭代。明密文分 组长度为64位,密钥总长为64位,有效长度56位,其 中第8、16、64 位共8位是奇偶校验位。DES 是一种对称运算,除子密钥使用顺序逆序外,加 密和解密算法相同。DES是一种面向二进制的密码算法,能够加解密任何 形式的计算机数据。,3.3 对称密钥密码技术,分组密码技术 DES 的加密算法流程:1.初始置换IP:将输入的64位数据打乱IP(b1b2.b64)

15、=b58b50.b7。再平均分成两部分L0,R0。2.16轮的轮变换:将64位输入密钥扩展为16个48位轮子密钥K。每轮变换公式为:3.逆初始置换IP-1:将L16,R16合并的64位数据置换 IP-1(b1b2.b64)=b40b8.b25。,3.3 对称密钥密码技术,分组密码技术 DES 的加密算法流程图:,3.3 对称密钥密码技术,分组密码技术 2.TDEA和IDEA 1)TDEA算法 TDEA算法又叫做三重DES算法,执行三次DES的加密,加密步骤如下:发送端用密钥Keyl进行DES加密。发送端用密钥Key2对上一结果进行DES解密。发送端用密钥Key3对上一结果进行DES加密。,3.

16、3 对称密钥密码技术,分组密码技术 TDEA算法加/解密流程图:,3.3 对称密钥密码技术,分组密码技术 2)IDEA算法 IDEA加密算法是在DES算法的基础上发展而来的,类似于三重DES算法,其分组长度也是64位,但密钥长度是128位,增加了破译难度。IDEA使用的运算有异或、模216加法和模(216+1)乘法。,3.3 对称密钥密码技术,分组密码技术 IDEA算法加密过程:8轮的重复运算。64位的明文分组在每一轮都是被分成4个子分组,每个16位子分组作为一个单元来处理。每一轮中有6个不同的子密钥参与运算。最后的输出变换有4个子密钥参与运算。IDEA的解密算法使用与加密算法同样的结构,子密

17、钥 的生成方法不同。,3.3 对称密钥密码技术,分组密码技术 IDEA算法解密子密钥的生成方法:解密循环i的前4个子密钥从加密循环(10i)的前4个子密钥中导出;解密密钥第1、4个子密钥对应于1、4加密子密钥的乘法逆元;解密密钥第2、3个子密钥对应于2、3加密子密钥的加法逆元。对前8个循环来说,循环i的最后两个子密钥等于加密循环(9i)的最后两个子密钥。,3.3 对称密钥密码技术,分组密码技术 3.AES DES的设计主要针对硬件实现,而当今许多领域的问题 需要用软件方法来实现。AES加密方法在这种需求下应运而生。AES 算法是128位块密码,支持三种不同大小的密钥:128,192和256位。

18、,3.3 对称密钥密码技术,分组密码技术 3.AES AES密码算法采用的是代替-置换网络结构,每一轮操作由4层组成:第1层(字节替换)为非线性层,用S盒对每一轮中的单个字节分别进行替换;第2层(行移位)和第3层(列混合)是线性混合层,对当前的状态按行移位,按列混合;第4层(密钥加层)用子密钥与当前状态进行字节上的异或。,3.3 对称密钥密码技术,分组密码技术 AES算法结构图:,3.3 对称密钥密码技术,分组密码技术 AES算法每一层操作过程:1)字节替换(SubBytes)AES定义了一个S盒,将State中每个字节的高4位作为行值,低4位作为列值,取出S盒中对应行和列的元素作为输出。例如

19、,十六进制数84。对应S盒的行是8列是4,S盒中该位置对应的值是5F。,3.3 对称密钥密码技术,分组密码技术 2)行位移变换(ShiftRows)State的第1行字节保持不变,第2行字节循环左移一 个字节,第3行字节循环左移两个字节,第4行循环 左移三个字节。,3.3 对称密钥密码技术,分组密码技术 3)列混合变换(MixColumns)列混合变换是一个替代操作,它只在AES的第0,1,(R-1)轮中使用,在第R轮中不使用该变换。在该变换中,乘法和加法都是定义在GF(28)上的。State的每 一 列被理解为GF(28)上的多项式,该多项式与一个常数多项式相乘并模M(x)=x4+1约化。,

20、3.3 对称密钥密码技术,分组密码技术 4)密钥加变换(Add RoundKey)128位的State按位与 128位的密钥XOR。,3.3 对称密钥密码技术,分组密码技术 5)密钥扩展(Key Expansion)在加密和解密算法使用了一个由种子密钥字节数组生 成的密钥调度表。密钥扩展过程从一个原始密钥中生成多重密钥以代替使用单个密钥。在AES密钥扩展算法 的输入值是4字密钥,输出是一个44字的一维线性数 组。这足以为初始轮密钥扩展过程阶段和算法中的其 他10轮中的每一轮提供16字节的轮密钥。,3.3 对称密钥密码技术,对称密钥密码的分析方法 密码编码学与密码分析学的对立性促进了密码学的发

21、展。根据密码分析者对明文、密文等信息掌握的多 少,可以将密码分析分为以下五种情形:唯一密文攻 击、已知明文攻击、选择明文攻击、选择密文攻击和 选择文本攻击。,3.3 对称密钥密码技术,对称密钥密码的分析方法 具体的分析方法主要包括:1.强力攻击法 强力攻击可用于任何分组密码,且攻击的复杂度仅依 赖于分组长度和密钥长度。工作效率包括加/解密速 度、密钥扩展速度、存储空间等。,3.3 对称密钥密码技术,对称密钥密码的分析方法 2.差分密码分析 已知最有效的攻击迭代密码的方法之一。基本思想是 通过分析明文对的差值对密文对的差值的影响来恢复 某些密钥比特。差分密码分析最初是针对DES加密提出的一种攻击

22、方 法,能成功破解轮数较低的DES。,2.3 对称密钥密码技术,对称密钥密码的分析方法 3.线性密码分析 本质上是一种已知明文攻击法,是对DES加密方法进 行破译的主要方法。基本思想是通过寻找一个给定密 码算法的有效的线性近似表达式来破译密码系统。,3.3 对称密钥密码技术,对称密钥密码的分析方法 4、差分-线性密码分析 对差分密码分析和线性密码分析进行改进,是降低它 们复杂度的众多改进之一。它利用的是差分密码分析 和线性密码分析相结合的技术。,2.3 对称密钥密码技术,对称密钥密码的分析方法 5、插值攻击 利用了拉格朗日插值公式的思想。如果一个密码算法 是固定的密钥的低次多项式函数,或项数较

23、少的多项 式,其项数可以估算出来,则通过插值法可以得到其 代数表达式,从而可能恢复出密钥。,3.4 非对称密钥密码技术,基本概念 1976年提出的公开密钥密码体制思想不同于传统的对 称密钥密码体制,它要求密钥成对出现,一个为加密 密钥e,另一个为解密密钥d,且不可能从其中一个推 导出另一个。非对称密码算法解决了对称密码体制中密钥管理的难 题,并提供了对信息发送人的身份进行验证的手段,是现代密码学的最重要的发明和进展。,3.4 非对称密钥密码技术,基本概念 单向和陷门单向函数的概念是公钥密码学的核心,可 以说非对称密钥密码体制的设计就是陷门单向函数的 设计。,3.4 非对称密钥密码技术,RSA算

24、法 RSA密码体制是目前为止最为成功的非对称密码算 法,它的安全性是建立在“大数分解和素性检测”这个 数论难题的基础上。RSA算法研制的最初理念与目标是努力使互联网安全 可靠,旨在解决DES算法秘密密钥的利用公开信道传 输分发的难题。同时,可利用RSA来完成对电文的数 字签名以对抗电文的否认与抵赖;还可以利用数 字签名较容易地发现攻击者对电文的非法篡改,以保 护数据信息的完整性。,3.4 非对称密钥密码技术,RSA算法 算法描述:1.密钥生成 选择两个互异的大素数p和q,n是二者的乘积,即n=pq,使(n)=(p-1)(q-1),(n)为欧拉函数,随机选取 与(n)互素的正整数e,将(n,e)

25、作为公钥。计算满足e*d=1mod(n)的正数d,将(n,d)作为私钥。,3.4 非对称密钥密码技术,RSA算法 2.加密算法 对于明文M,由C=Memodn,得到密文C。3.解密算法 对于密文C,由M=Cdmodn,得到明文M。,3.4 非对称密钥密码技术,RSA算法 RSA算法提出以后,密码分析学家提出了一些针对RSA的攻击方法。使用RSA应注意:1)知道对于一个给定模数的一个加/解密密钥指数对,攻击者就能够分解这个模数,无需分解n就可以计算出别的加/解密对。2)在通信网络中,利用RSA的协议不应该使用公共模数。3)消息中应该使用随机数填充以避免对加密指数的攻击。4)解密指数应该大。,3.

26、4 非对称密钥密码技术,ElGamal算法 ElGamal为目前著名的公开密钥密码系统之一,可用作加/解密、数字签名等,其安全性依赖于离散对数问题。ElGamal包括密钥生成、加密过程、解密过程。1.密钥生成 1)任选一个大质数p,使得p-1 有大质因数。2)任选一个mod p之原根g。3)公布p与g。使用者任选一私钥,并计算密钥。,3.4 非对称密钥密码技术,ElGamal算法 2.加密过程 1)任选一个数 满足,并计算,。2)密文为。3.解密过程 1)计算。2)计算明文。,3.4 非对称密钥密码技术,ElGamal算法 ElGamal方法具有以下优点:系统不需要保存秘密参数,所有的系统参数

27、均可公开;同一个明文在不同的时间由相同加密者加密会产生不同的密文(机率式密码系统),但ElGamal方法的计算复杂度比RSA方法要大。,3.4 非对称密钥密码技术,椭圆曲线算法 椭圆曲线系统第一次应用于密码学上是于1985年由 Koblitz与Miller分别提出,随后有两个较著名的椭圆曲 线密码系统被提出:一种是利用ElGamal的加密法,另 一种为Menezes-Vanstone的加密法。,3.4 非对称密钥密码技术,椭圆曲线算法 1.椭圆曲线定义 令p3为质数,在GF(p)中的椭圆曲线E:y2=x3+ax+bmod p,其中,4a3+27b20(mod p)。曲线上另定义一个无穷远点O,

28、对任一点AE,A+O=O+A=A。,3.4 非对称密钥密码技术,椭圆曲线算法 2.加法运算 令A=(x1,y1)与B=(x2,y2)为E上的点。若x2=x1,且y2=-y1,则A+B=O;否则A+B=(x3,y3),其中:x3=2-x1-x2,y3=(x1-x3)-y1。,3.4 非对称密钥密码技术,椭圆曲线算法 3.反元素运算 点A=(x,y)的反元素为-A=-(x,y)=(x,-y)。A+(-A)=(-A)+A=O,此时O称为乘法单位元素。,3.4 非对称密钥密码技术,椭圆曲线算法 4.椭圆曲线密码体制 设GF(p)是一个有限域,GF(p)上的椭圆曲线是指满 足Weirstrass方程:y

29、2+a1xy+a3y=x3+a2x2+a4x+a5 的所有解(x,y)与无穷远点O构成的非空集合。,3.4 非对称密钥密码技术,椭圆曲线算法 基于椭圆曲线的各种密码体制的安全性最终可归结为 解ECDLP问题,当数据量足够大以致ECDLP问题无法 解决时,就认为该密码体制是安全的,具有160 bit数据 长度的ECDLP问题在目前被认为是安全的。,3.4 非对称密钥密码技术,椭圆曲线算法 一般的椭圆曲线密码体制都基于以下运算:存在一个容易计算的函数f:;选取整数e,1eN,选取整数d,使得de=1(mod N),由deP(m)=P(m),可恢复P(m);选取整数a,1aN,由P(m)=P(m)+

30、aP-aP,可恢复出 P(m)。,3.4 非对称密钥密码技术,椭圆曲线算法 一个典型的椭圆曲线公钥密码可以描述如下:加密过程:设明文m=(m1,m2)Zp*Zp*。选取正数k,0k#A-1,k保密。计算:y0=k、(c1,c2)=k、y1=c1m1(modq)、y2=c2m2(modq)。密文c=(y0,y1,y2),将其发送给接收方。,3.4 非对称密钥密码技术,椭圆曲线算法 解密过程:接收方接收到密文c。计算(c1,c2)=ay0。通过下列运算恢复明文:m=(y1c1-1(modq),y2c2-1(modq)。椭圆曲线密码体制在相同的安全强度下所要求的密钥 强度仅是RSA的1/6,因此在运

31、算速度和存储空间方面 具有很大的优势,在实际应用中具有很大的使用价值。,3.4 非对称密钥密码技术,混合加密算法 对称与非对称密码加密对比如表所示:,3.4 非对称密钥密码技术,混合加密算法 对称密钥密码体制中的DES算法具有可靠性较高、加密/解密速度快、算法容易实现以及通用性强等优点,但也 存在密钥位数少、弱密钥和半弱密钥、易于遭受穷尽攻 击以及密钥管理复杂等缺点。与DES算法相比,RSA算法具有以下优点:密钥空间大、密钥管理简单、便于数字签名、可靠性较很高。,3.4 非对称密钥密码技术,混合加密算法 RSA算法的缺点是加密速度慢、算法复杂,加密/解密速 度慢。如果RSA和DES结合使用,则

32、正好弥补RSA的缺 点。即DES用于明文加密,RSA用于DES密钥的加密。,3.4 非对称密钥密码技术,混合加密算法 一种混合了非对称和对称加密算法的加密方式如图:,3.4 非对称密钥密码技术,混合加密算法 这种混合加密方式的原理是:发送方S先使用DES或 IDEA对称算法对数据进行加密,然后使用公钥算法RSA加密前者的对称密钥。接收方R先使用RSA算法解密出对称密钥,再用对称密 钥解密被加密的数据。,3.5 信息认证技术概述,信息认证技术 认证又称为鉴别,是防止主动攻击(如篡改、伪造信息等)的一项重要技术,解决网络数据传输过程中可能出的非法访问与篡改、假冒伪造、拒绝服务、抵赖等安全问题,确保

33、网络中传送数据的机密性、访问可控制性、数据完整性、抗抵赖性等方面的安全需求。认证的目的包括:消息完整性认证和身份认证。,3.5 信息认证技术概述,信息认证技术 一个安全的认证体制至少应该满足以下要求:1)接收者能够检验和证实消息的合法性、真实性和完整性。2)消息的发送者对所发的消息不能抵赖,某些场合也要求消息的接收者不能否认收到的消息。3)除了合法的消息发送者外,其他人不能伪造发送消息。,3.5 信息认证技术概述,信息认证技术 认证和保密通常是相对独立的,一个纯认证系统的模型如下:,3.5 信息认证技术概述,信息认证技术 信息认证是指通过对消息或者消息有关的信息进行加密或签名变换进行的认证,目

34、的是为了防止传输和存储的消息被有意/无意的篡改,包括消息内容认证(即消息完整性认证)、消息的源和宿认证(即身份认证)、以及消息的序号和操作时间认证等。它在票据防伪中具有重要应用。信息认证主要用于防止信息被篡改。,3.6 Hash函数与消息认证,基本概念 1.Hash函数 Hash函数是把可变长度的输入串转换成固定长度的输出串的一种函数。Hash函数具备以下性质:1)Hash函数H可适用于任意长度的输入数据块,产生固定长度的Hash值。2)对于每一个给定输入数据M,都能很容易计算出它的Hash值H(M)。,3.6 Hash函数与消息认证,基本概念 3)如果给定Hash值h,要逆向推出输入数据M在

35、计算上不可行,即Hash函数具备单向性。4)对于给定的消息M1和其Hash值H(M1),找到满足M2M1,且H(M2)H(M1)的M2在计算上是不可行的,即抗弱碰撞性。5)要找到任何满足H(M1)H(M2)且M1M2的消息对(M1,M2)在计算上是不可行的,即抗强碰撞性。,3.6 Hash函数与消息认证,基本概念 安全单向Hash函数的一般结构如图:,3.6 Hash函数与消息认证,基本概念 2.消息认证 消息鉴别码也叫密码校验和,是鉴别函数的一种。其原理是:用公开函数和密钥产生一个固定长度的值作 为认证标识,用这个标识鉴别消息的完整性。消息认证码的安全性取决于两点:采用的加密算法;待加密数据

36、块的生成方法。,3.6 Hash函数与消息认证,基本概念 消息认证不支持可逆性,是多对一的函数,其定义域由任意长的消息组成,而值域则是由远小于消息长度的比特构成。必须要找到一种足够单向和强碰撞自由性的方法对消息认证才是安全的。1)利用校验码加密的方式构造认证码,实现数据完整性。2)对于用单向Hash函数构造认证码的方式来说,摘要的长度是一个关键的因素。,3.6 Hash函数与消息认证,常见的单向Hash函数 1.MD5 MD5是RSA数据安全公司开发的一种单向Hash算法,MD5被广泛使用,可以用来把不同长度的数据块进行运算处理生成一个128bit的数据块。MD5以512 bit分组来处理输入

37、的信息,且每一分组又被划分为16个32 bit的子分组,经过了一系列的处理后,算法的输出由4个32 bits分组组成,最终将这4个32位分组级联后将生成一个128位Hash值。,3.6 Hash函数与消息认证,常见的单向Hash函数 MD5算法的总体框架如图所示:,3.6 Hash函数与消息认证,常见的单向Hash函数 MD5算法中,首先需要对信息进行填充,使其位长度 满足模512等于448。信息的位长度被扩展至N512+488。填充的方法为在信息的后面填充一个1和 无数个0,直到满足上面的条件时才停止用0对信息的填 充。再在这个结果后面附加一个以64位二进制表示的填 充前信息长度。经过这两步

38、的处理,信息位长度为 N512+448+64=(N+1)512。,3.6 Hash函数与消息认证,常见的单向Hash函数 MD5中有四个32位链接变量:A=0 x01234567、B=0 x89abcdef、C=0 xfedcba98、D=0 x76543210。设置好链接变量后,进入算法的四轮循环运算。,3.6 Hash函数与消息认证,常见的单向Hash函数 第一轮进行16次操作。每次操作对 A、B、C和D中的其中3个作一次非 线性函数运算,然后将所得结果加上 第4个变量,文本的一个子分组和一 个常数。再将所得结果向右环移一个 不定的数,并加上A、B、C或D中之 一。最后用该结果取代A、B、

39、C或D 中之一。,3.6 Hash函数与消息认证,常见的单向Hash函数 使用的四个非线性函数为:,3.6 Hash函数与消息认证,常见的单向Hash函数 在MD5算法中,核心是压缩函数HMD5。MD5的压缩 函数中有4次循环,每一次循环包含对缓冲区ABCD 的16步操作,每一循环的形式为:,3.6 单向Hash函数,常见的单向Hash函数 2.SHA-1 SHA-1主要适用于数字签名标准里面定义的数字签名算法。对于长度小于264位的消息,SHA-1会产生一个160 位的消息摘要。当接收到消息的时候,这个消息摘要可 以用来验证数据的完整性。,3.6 单向Hash函数,常见的单向Hash函数 S

40、HA-1算法处理步骤如下:1.添加填充位。和MD5采用的办法完全一样。2.添加长度。一个64位的数据块,表示原始消息的长 度。3.初始化消息摘要的缓冲区。,3.6 单向Hash函数,常见的单向Hash函数 4、以512位数据块作为单位来对消息进行处理。算 法的核心是一个包含四个循环的模块,每个循环由 20个处理步骤组成。,3.6 单向Hash函数,常见的单向Hash函数 处理过程如图所示:,3.6 单向Hash函数,常见的单向Hash函数 SHA-1的压缩函数可表示为:如图所示:,3.6 单向Hash函数,常见的单向Hash函数 3.Tiger Hash Tiger Hash结构比MD5和SH

41、A-1更复杂,接近于分组密 码。为了适应64位处理器,Tiger选择输出位数是192 位。使用了4个S盒,每个S盒将8位映射成64位。还应 用了密钥扩展算法,对输入分组进行扩展。,3.6 单向Hash函数,常见的单向Hash函数 将输入信息X填充成512位的 整数倍,X=(X0,X1,.,Xn-1),每一个Xi都是512位。Tiger 算法对每个Xi都使用一个外 循环,每轮的结构如图所示。,3.6 单向Hash函数,常见的单向Hash函数 a、b、c都是64位,初始为定值,最后一轮的结果就 是192位Hash值。每个函数Fm由8个内循环构成。fm,i的定义为:,3.6 单向Hash函数,常见的

42、单向Hash函数 4.CRC(循环冗余校验码)CRC由于实现简单,检错能力强,被广泛使用在各种 数据校验应用中。占用系统资源少,用软硬件均能实 现,是进行数据传输差错检测的一种很好的手段。,3.6 单向Hash函数,常见的单向Hash函数 生成CRC码的基本原理:任意一个由二进制位串组成 的代码都可以和一个系数仅为0和1取值的多项式一一对应。CRC校验码软件生成方法:借助多项式除法,余数为校验 字段。,3.6 单向Hash函数,常见的消息认证码算法 MAC 实质上是一个将双方共享的密钥k和消息m作为输 入的函数,如果将函数值记为,这个函数值就是 一个认证标记,用 表示。如果攻击者可以找到一个消

43、息m,m不在m1,mq之中,并且能够得到正确的认证标记 就说明攻击成 功了。攻击者成功的概率就是其攻破 MAC 的概率。,3.6 单向Hash函数,常见的消息认证码算法 MAC的构造方法有很多,主要类型是基于带密钥的Hash函数和基于流密码的构造方法。基于带密钥的 Hash 函数的构造方法最早是由 M.Bellare等人提出的。它要求所使用的 Hash函数具有迭代结构(如 MD5,SHA-1等),即反复地使用压缩函数f将长消息映射为短消息。,3.6 单向Hash函数,常见的消息认证码算法 具有迭代结构的单向Hash函数结构图:,3.6 单向Hash函数,常见的消息认证码算法 和同类型的MAC算

44、法相比,HMAC将MAC的安全性归 结到所使用Hash函数上。同时具有免费和黑盒的优点。,3.6 单向Hash函数,分组加密与消息认证码 基于分组密码设计的这一类 MAC主要有:CBC-MAC、XOR-MAC。EMAC(加密的 CBC-MAC)、PMAC、XECB-MAC等。1.CBC-MAC CBC-MAC其实就是对消息使用CBC模式进行加密,取密文的最后一块作为认证标记。,3.6 单向Hash函数,分组加密与消息认证码 CBC-MAC出现得较早,是一种经典的构造方法,其构 造方法简单,底层加密算法具备黑盒的性质,可以方便 地进行替换。后来的很多 MAC 算法都是对它的改进。但是CBC-MA

45、C 仅适用于对相同长度的消息进行认证,在消息长度变化的情况下是不安全的。,3.6 单向Hash函数,分组加密与消息认证码 对 CBC-MAC 的改进为了克服CBC-MAC的上述弱点,改进方法有:EMAC、ECBC、FCBC和XCBC。,3.6 单向Hash函数,分组加密与消息认证码 2.XOR-MAC XOR-MAC有两种方式:无状态(XMACR)和 有状态(XMACC)。在计算过程中引入索引值使得分组密码每次加密的明文各不相同,最后再将所有的密文异或。,3.6 单向Hash函数,分组加密与消息认证码 由于 XOR-MAC 使用异或来生成标记,这就为其带来了 并行性、增量式、乱序验证等优点。攻

46、击XOR-MAC成 功的概率要比攻击CBC-MAC成功的概率低,并且这个 概率跟消息长度没有关系。缺点是在算法中引入了索引信息,引起了消息的扩展,导致了加密次数的成倍增加,降低了运算速度。,3.6 单向Hash函数,分组加密与消息认证码 3.PMAC PMAC可以看成是对XOR-MAC的改进,具有可并行、支持消息的添加、截短和替换等优点。PMAC在计算MAC的时候不需要事先知道消息的长度,且不需要一个随机数或维持一个计数。但是,它的速度比 CBC-MAC 要慢,且该算法受专利保 护,不能免费使用。,3.6 单向Hash函数,分组加密与消息认证码 4.XECB-MAC XECB-MAC也可看成是

47、XOR-MAC的一种改进,支持 并行计算、增量式操作、乱序验证等特性。XECB-MAC没有使用消息的有效位来记录消息的位置,减少了加密的次数,因此它的速度要高于XOR-MAC,但低于 CBC-MAC。该方法的不足之处在于使用了两个密钥,这给密钥的存 储和分发带来了困难。,3.6 单向Hash函数,分组加密与消息认证码 5.OCB OCB 是在综合了PMAC和XCBC-MAC的构造方法的基 础上提出来的,同时提供了加密和认证。OCB 的优点有:能处理任意长度的消息、运算速度快、支持并行处理。缺点在于算法复杂并且受专利保护,不可免费使用。,3.7 数字签名技术,基本概念 数字签名(Digital

48、Signature,又称公钥数字签名、电 子签章)是一种使用了公钥加密技术,用于鉴别数字信 息的方法。一套数字签名通常定义为两种互补的运算,一个用于签 名,另一个用于验证。,3.7 数字签名技术,基本概念 通常的方法是数据单元上附加一些数据,或是对数据单 元进行密码变换,使得接收者能够确认数据单元的来源 和数据单元的完整性并保护数据,防止被人进行伪造。基于公钥密码体制和私钥密码体制都可以获得数字签 名,目前主要是基于公钥密码体制的数字签名,包括普 通数字签名和特殊数字签名。,3.7 数字签名技术,基本概念 普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou-Qui

49、squarter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、DES/DSA,椭圆曲线数字签名算法和有限 自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签 名、公平盲签名、门限签名、具有消息恢复功能的签名 等,它与具体应用环境密切相关。,3.7 数字签名技术,基本概念 数字签名技术是不对称加密算法的典型应用,是在网络系 统虚拟环境中确认身份的重要技术。数字签名应用中,发 送者的公钥可以很方便地得到,私钥则需要严格保密。,3.7 数字签名技术,常用的数字签名体制 下面详细介绍DDS和DSA算法。1.DDS算法 DSS使用的是只提供数字签名的算法,与

50、RSA不同,DSS 是一种公钥方法,但不能用于加密或密钥分配。,3.7 数字签名技术,常用的数字签名体制 DSS方法也是用Hash函数,它产生的Hash值和为此次签 名而产生的随机数k作为签名函数的输入,签名函数依赖 于发送方的私钥和一组通信多方所共有的参数(可以看作 全局公钥)。签名由两部分组成,分别记为s和r。接收方对接收到的消息产生Hash码,这个Hash码和签名 一起作为验证函数的输入,验证函数依赖于全局公钥和发 送方公钥,若验证函数的输出等于签名中的r成分,则签名 是有效的。,3.7 数字签名技术,常用的数字签名体制 RSA与DSS的比较如图所示:,3.7 数字签名技术,常用的数字签

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号