数字签名算法c++_认证技术-数字签名

本文深入探讨认证技术的重要性,特别是数字签名和Hash函数在确保信息安全方面的应用。介绍了Hash函数的特性,包括其单向性和抗碰撞性,并讨论了基于迭代型结构的Hash函数构造方法。接着详细讲解了数字签名的概念,包括RSA、ElGamal和Schnorr等签名算法,以及它们的签名和验证过程。最后提到了消息认证和消息认证码(MAC)在防止信息篡改和验证信源中的作用。

认证技术主要用于防止对手对系统进行的主动攻击,如伪装、窜扰等,这对于开放环境中各种信息系统的安全性尤为重要。认证的目的有两个方面:一是验证信息的发送者是合法的,而不是冒充的,即实体认证,包括信源、信宿的认证和识别;二是验证消息的完整性,验证数据在传输和存储的过程中是否被篡改、重放和延迟等。

1. Hash函数

(1) Hash函数的概念

Hash函数是一类单向(计算h=H(m)是容易的,但求逆运算是困难的)函数。Hash函数h = H(m)也称为散列函数,它将任意长度的报文m映射为固定长度的输出h(摘要),另外该函数除满足单向性外,还应具备下列两项条件之一:

①抗弱碰撞性。对固定的m,要找到,使得在计算上是不可行的。

②抗强碰撞性。要找到m和,使得在计算上是不可行的。

显然,满足②的Hash函数的安全性要求更高,这是抗击生日攻击的要求。有关Hash函数的描述可如图3-23所示。

e910d547c0ddb6fb020da7d1a532e1b5.png

(2) Hash函数的构造

可以用很多办法构造Hash函数,但使用最多的是迭代型结构,著名的MD-5、SHA-1等都是基于迭代型的。

83543504b6ab4a402f1097f7d1eab653.png

2 数字签名

(1) 数字签名的概念

在RSA公钥密码体制中,假如Alice用自己的私钥d来计算S≡md(mod n),然后把S连同消息m一起发送给Bob,而Bob用Ali

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值