签名过程:
ECC首先初始化,生成公私钥对。根据ECC 签名/验证算法,连同ID 一起进行
摘要 运算的数据还有椭圆曲线参数和签名者的公钥,因此应先执行
ECC_Initialize、ECC_GenKeyPair 或ECC_LoadPubKey。然后是带参数ID 的摘要算法(SCH)的初始化.
这个过程被称为GetZ值;
然后对要签名数据进行摘要,这个过程被称为GetE值;
最后是用私钥对摘要数据进行签名.
验证过程:
用公钥对签名进行解密,结果与E值(签名前的摘要值)进行比较,相同则通过,不同则验证无效.
椭圆曲线参数包括以下几个:
素数p,不满256 位的p在高位补0
参数a,不满256 位的a在高位补0
参数b,不满256 位的b在高位补0
参数Gx,不满256 位的Gx 在高位补0
参数Gy,不满256 位的Gy 在高位补0
阶N,不满256 位的N 在高位补0
参数位长Len,Len 必须为160、192、224 或256