做代理需要网站吗,求个网站2021年能用,集团形象设计公司,网站建设设计理念1.概述
1.加密--被动攻击#xff08;获取消息内容、业务流分析#xff09;
消息认证和数字签名--主动攻击#xff08;假冒、重放、篡改、业务拒绝#xff09;
2.消息认证作用#xff1a;
验证消息源的真实性#xff0c;
消息的完整性#xff08;未被篡改…1.概述
1.加密--被动攻击获取消息内容、业务流分析
消息认证和数字签名--主动攻击假冒、重放、篡改、业务拒绝
2.消息认证作用
验证消息源的真实性
消息的完整性未被篡改、插入、删除、顺序性和时间性未重排、重放、延迟
3.消息认证和数字签名都有认证的功能
数字签名除了认证外还用于消息的不可否认性
4.认证符的产生的多种方式
1消息认证码MAC
2哈希函数
3加密函数
①使用对称密码
真实性验证仅有收发双方拥有密钥;
完整性验证报文中有足够格式信息、冗余或校验时修改密文会破坏这些信息
②使用公钥密码
公钥加密不能提供身份确认任何人都可以拥有公钥;
私钥签名提供消息源身份确认不提供保密性
2.消息认证码MAC
2.1消息认证码
1.过程
A计算消息认证码MAC -- A给B发送M||MAC -- B收到后计算MAC’比较MAC’MAC是否成立
2.意义
①保证消息的完整性收方相信发方发出的消息M没有被篡改
②保证了消息源的真实性收方相信发方不是冒充的
③攻击者不知道密钥所以无法有效篡改消息也无法冒充 MAC同时提供消息的完整性和消息源认证
3.消息认证码的使用方式
①只提供消息认证 M||Ck (M)
②提供消息认证和保密性(对明文认证) Ek2(M||CK1(M))
③提供消息认证和保密性(对密文认证) Ek2(M)||CK1(Ek2(M)) 4.消息认证码的定义及使用方式
①MAC函数不必可逆满足多到一映射
②加密秘钥与认证秘钥不同
5.缺点
穷搜索攻击
2.2数据认证算法
数据认证算法是消息认证码中最为广泛使用的一个算法基于CBC密文分组链接模式的DES算法需被认证的数据(消息、记录、文件或程序)被分为64比特长的分组。 2.3 128-EEA3/128-EIA
128-EEA3是机密性保护算法。
128-EIA3是完整性保护算法。
3.哈希函数
3.1哈希函数基本概念
将任意长的消息M变换为较短定长的一个值H(M),作为认证符。 ≈指纹
提供一种错误检测能力改变消息中任何一位哈希值会改变。
3.2哈希函数的使用方式 第一类先hash再对称加密
①消息与哈希值链接后用单钥加密算法加密,见图(a)
提供消息的保密性、认证性、完整性。
② 用单钥加密算法仅对哈希值加密,见图(b)
提供消息的认证性、完整性,不要求保密性的情况。
注与MAC中的保密认证模式相比较MAC使用两个不同密钥保密认证能力分开安全性更强。 2.第二类先hash再签名
③ 用公钥加密算法和发方私钥加密哈希值(即数字签名)
图(c) 提供消息的认证性、完整性、不可否认性
④ 将消息连同③产生的签名再用密钥加密:
图(d) 提供了消息的保密性和数字签名(认证性、完整性、不可否认性)
仅对哈希值加密和签名的方式是提供认证性的常用方式 3.第三类带共享秘密值的hash,实际上是一种MAC
⑤ 从发方计算消息M和秘密值S链接在一起的杂凑值作为M认证码
图(e) 要求通信双方共享一个秘密值S提供消息的认证性、完整性
对⑤中的消息认证码再增加单钥加密运算图(f) 提供消息的保密性、认证性、完整性 (e)是HMAC标准的原型, (f)的安全性与带保密性的MAC认证模式相当,(d)的安全性最强 3.2 Hash函数的六个条件
1消息认证
①输入可以是任何长度
②输出是定长
③对任意给定的消息x计算H(x)较为容易
2安全要求
①函数的单向性抗逆向特性对任意给定的h求 H(x)h的x在计算上不可行的, 称H(x)为单向哈希函数
②弱单向哈希函数抗弱碰撞性对给定消息x找消息 y(y! x),使得H(y)H(x)在计算上不可行
若存在--存在一个碰撞--碰撞性
③强单向哈希函数抗强碰撞性找到任何两个不同的输入x,y,使得H(x)H(y)在计算上不可行
3.3 对Hash函数的攻击寻找碰撞
1生日攻击
①第I类生日攻击
针对弱单向性
若对H随机取k个输入则至少有一个输入y使得H(y)H(x)的概率
复杂度为 O(2^n-1)
②第II类生日攻击
寻找哈希函数H的具有相同输出的两个任意输入的攻击方式
复杂度为 O(2^m/2 )
(2)中途相遇攻击
3.4 Hash函数结构
Hash函数迭代结构也称为MD结构由Merkle和Damgard分别提出。目前使用的大多数Hash函数如MD5、SHA其结构都采用这种迭代型的结构消息分为固定长度分组最后一个分组包含消息总长度。
由于含消息长度所以攻击者必须找出具有相同散列值且长度相同的2个消息或者找出两条长度不等但加入长度后散列值相同的消息从而增加了攻击难度。
MD是消息摘要。
MD5算法是美国密码学家Ronald Rivest设计的。
MD5常被用来验证数据完整性。
MD5算法采用迭代型散列函数的一般结构。
算法的输入为任意长的消息分为512比特长的分组输出为128比特的消息摘要。
有很好的混淆效果。
王小云教授破译了MD5。
SHA3成为新的Hash函数标准。