前言
本文档主要基于规范<ANSI-X962-2005>
进行学习理解。该标准主要定义了使用ECDSA算法对数据进行保护的数字签名的产生和验证方法。
ECDSA应该与某个已经验证过的Hash函数结合一起使用,如SHA-1、SHA-224、SHA-256、SHA-384、SHA-512
该标准不仅提供了生成公私钥对的方法,同时也提供了使用这些密钥的流程。该标准同样也提供了产生椭圆曲线参数的方法和算法中安全使用这些椭圆曲线参数的流程。
安全级别
ECDSA的每种加密都有一定范围的安全级别。安全级别按照BIT计量,ECDSA只识别那些论证过的安全级别,当前可识别的安全级别有:80 112 128 192 和 256 bit
ECDSA的所有组件应该使用同样的安全级别,但是也可以有所不同。ECDSA的用户和使用者应该保证使用的安全级别可以满足应用程序需要。
Hash函数
ECDSA中的hash函数被用来计算签名或验签过程中用于计算消息的摘要值。
Hash函数还被用于随机椭圆曲线参数域的产生和验证;也可以在椭圆曲线私钥的随机数产生器中被使用。
HASH函数的安全级别应该满足ECDSA的整体要求。
ECDSA
签名者按照签名规则对某些数据进行操作,得到签名值;
验证者收到签名值和数据之后,使用验证规则检查签名的正确性。
签名过程
签名者通过以下过程签名消息:
输入:
a)签名消息M
b)椭圆曲线参数域
c)Hash函数
d)