数字签名

通常会使用公钥加密,用私钥解密。而在数字签名中,会使用私钥加密(相当于生成签名),公钥解密(相当于验证签名)。[12]

可以直接对消息进行签名(即使用私钥加密,此时加密的目的是为了签名,而不是保密),验证者用公钥正确解密消息,如果和原消息一致,则验证签名成功。但通常会对消息的散列值签名,因为通常散列值的长度远小于消息原文,使得签名(非对称加密)的效率大大提高。注意,计算消息的散列值不是数字签名的必要步骤。[13]

在实际使用中,我们既想加密消息,又想签名,所以要对加密和签名组合使用,比如TLS就组合了加密和签名。[14]

数字签名应用了公钥密码领域使用的单向函数原理。单向函数指的是正向操作非常简单,而逆向操作非常困难的函数,比如大整数乘法。这种函数往往提供一种难解或怀疑难解的数学问题。目前,公钥密码领域具备实用性的三个怀疑难解问题为:质数分解,离散对数和椭圆曲线问题。

操作

编辑

数字签名就是将公钥密码反过来使用。签名者将讯息用私钥加密(这是一种反用,因为通常公钥密码中私钥用于解密),然后公布公钥;验证者使用公钥将加密讯息解密并比对消息(一般签名对象为消息的散列值。本节为了讲解方便,假设数字签名直接将消息而非散列值签名)。

因此,可靠的公钥密码算法均能构建出可靠的数字签名。下面讲解为何反用公钥密码算法能够构建出安全的数字签名。

Alice是签名者,假设她要对消息A进行签名。现在, Alice生成了其公私钥密码对,公布该公钥,然后将消息用私钥加密后发布。

现在,希望Alice的签名算法具有如下特性:

完整性:确认消息在传输过程中没有丢位,没被篡改

认证:确认消息的发送者是发布公钥的Alice

不可否认性:确认Alice的确发布过该消息

Huawei Honor 4C (CHM-CL00) - 规格
三星Galaxy Note 4和Galaxy S5哪个比较好 三星 Note4和S5全面对比介绍
Copyright © 2022 2018世界杯时间_世界杯百大球星 - gonhee.com All Rights Reserved.