计算机网络——38报文完整性

报文完整性

数字签名

数字签名类比于手写签名

  • 发送方数字签署了文件,前提是他是文件的拥有者/创建者
  • 可验证性,不可伪造性,不可抵赖性
    • 谁签署,接收方可以向他人证明是他,而不是其他人签署了这个文件
    • 签署了什么:这份文件,而不是其他文件

简单的对m的数字签名

  • Bob使用他自己的私钥对m进行了签署,创建数字签名 K B K_B KB(m)

在这里插入图片描述

  • 假设Alice收到报文m,以及数字签名 K B − ( m ) K^{-}_B(m) KB(m)
  • Alice使用Bob的公钥 K B + K^+_B KB+ K B − ( m ) K^-_B(m) KB(m)进行验证,判断 K B + ( K B ( m ) ) = m K^+_B(K_B(m))=m KB+(KB(m))=m是否成立
  • 如果 K B + ( K B ( m ) ) = m K^+_B(K_B(m))=m KB+(KB(m))=m成立,那么签署这个文件的人一定拥有Bob的私钥

Alice可以验证

  • Bob签署了m
  • 不是其他人签署了m
  • Bob签署了m而不是m’

不可抵赖性
- Alice可以拿着m以及数字签名 K B − ( m ) K^-_B(m) KB(m)到法庭上,来证明是Bob签署了这个文件m

报文摘要

对长报文进行公开密钥加密算法的实验需要耗费大量的时间

Goal:固定长度,容易计算的"fingerprint"

  • 对m使用散列函数H,获得固定长度的报文摘要H(m)

散列函数的特性

  • 多对一
  • 固定长度不变
  • 给定一个报文摘要x,反向计算出报文在计算上是不可行的x=H(m)

数字签名 = 对报文摘要进行数字签署

Bob发送数字签名的报文

在这里插入图片描述

Alice校检签名和报文完整性

在这里插入图片描述

散列函数算法

  • MD5散列函数(RFC 1321)被广泛的应用
    • 4个步骤计算出128-bit的报文摘要
    • 给定一个任意的126-bit串x,很难构造出一个报文m具有相同的摘要x
  • SHA-1也被使用
    • US标准[NIST,FIPS PUB 180-1]
    • 160-bit报文摘要
  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值