现代密码学:数据完整性技术解析
1. 密码学引入与数据完整性概述
传统的密码学方案和协议通常有基本的“教科书式密码”版本,但这些版本往往只适用于数据随机且攻击者行为良好的理想世界。在现实的开放通信网络中,存在名为“恶意者”的对手,他们可以自由地窃听、拦截、中继、修改、伪造或注入消息。为了安全地使用这样脆弱的通信介质,仅提供消息机密性的加密机制是不够的,我们还需要能让消息接收者验证消息确实来自声称的源且在传输过程中未被未经授权修改的机制,这就是数据完整性服务。
数据完整性与通信中的错误检测码密切相关且由其演变而来。两者的工作原理本质相同:消息发送者通过在要传输的消息中编码一些冗余信息来创建一个“校验值”,并将其附加到消息上;接收者则根据与发送者商定的一组规则,使用附加的校验值来验证接收到的消息的正确性。不过,在错误检测码中,冗余信息的编码方式使接收者可以使用最大似然检测器来推断最有可能发送的消息;而在数据完整性保护中,冗余信息的编码方式使附加的校验值尽可能均匀地分布到整个校验值消息空间,以最小化攻击者伪造有效校验值的概率。
2. 数据完整性的定义
数据完整性保护涉及对任意信息(Data)进行的一系列加密转换。设 Ke 为编码密钥,Kv 为与编码密钥匹配的验证密钥。数据完整性保护包括以下加密转换:
- 操作检测码创建
- 操作检测码验证
这里的 f 和 g 是高效的加密转换,f 由辅助输入 Ke(编码密钥)参数化,g 由辅助输入 Kv(验证密钥)参数化;MDC 代表操作检测码。概率空间包括 Data、MDC 和密钥的所有可能情况的空间,如果签名/验证算法是概率性的,还可能包括随机输入空间。
需要注意的
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



