志在指尖
用双手敲打未来

数字签名的三种方法(数字签名流程)

数字签名的三种方法

完成数字签名的办法有许多,但运用最广泛的数字签名办法主要有三种,即RSA签名、DSS签名和Hash签名。这三种算法可独自运用,也可综合在一起运用。
1.根据RSA的数字签名算法。该算法的数学理论是根据大素数因子分化难题,归于非对称签名算法,是最盛行的一种签名算法,其安全性取决于大数的因子分化难解性。
2.根据DSA的数字签名算法。DSA(DigitalSignatureAlgorithm)是Schnorr和ElGamal签名算法的变种,美国NIST将其作为数字签名标准(DigitalSignatureStandard,简写DSS)。该算法的数学理论是根据整数有限域离散对数难题,其安全强度和速度均低于RSA算法。DSA的一个重要特点是两个素数公开,这样,当运用别人的p和q时,即便不知道私钥,你也能确认它们是否是随机发生的,仍是作了四肢。RSA算法却做不到。DSA算法的安全性也依赖于有限域上的离散对数问题,其长处是不触及专利问题。数字签名
3.根据Hash的数字签名算法。该算法是通过散列算法,变换成固定长度的输出,该输出就是散列值,这种转换是一种压缩映射。也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不行能从散列值来确认输入值。该算法也称之为数字摘要法(DigitalDigest)、数字指纹法(DigitalFingerPrint)。常用的Hash算法有MD2、MD5、SHA-1,该数字签名办法是将数字签名与要发送的信息紧密联系在一起,它更适合于电子商务活动。

数字签名流程

包括签名进程和验证签名进程。
签名的实现进程:
输入:原文、私钥
输出:签名值
1、将原文做HASH
2、将HASH用私钥加密,成果便是签名值数字签名
验证签名的实现进程:
输入:签名值、原文、公钥
输出:是否验证经过
1、将原文做HASH1
2、将签名值用公钥解密,获得HASH2
3、将第1步的HASH1与第2步的HASH2做比较,两个HASH相同就验证经过,不然不经过

未经允许不得转载:IT技术网站 » 数字签名的三种方法(数字签名流程)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载