本发明涉及一种在嵌入式设备端加快sm2验签的方法。方法包括如下步骤:初始化椭圆曲线记曲线阶为n,签名结果为(r,s),被签名消息和签名者标识的哈希值为m,签名者公钥为Q,获取椭圆曲线基点G;在C语言环境下,计算u=r+s mod n;在C语言环境下,计算(x,y)=s*G+u*Q;在C语言环境下,计算v=m+x mod n;判断是否满足v=r,满足则签名验证通过,否则签名验证不通过。本发明相对于现有技术具有以下优点:通过优化算法使得一些低端嵌入式设备具有较快的sm2验签速度,有效降低产品成本。
本发明涉及一种在嵌入式设备端加快ecdsa验签的方法。方法包括如下步骤:初始化椭圆曲线记曲线阶为n,签名结果为(r,s),被签名消息为m,签名者公钥为Q,获取椭圆曲线基点G;在C语言环境下,计算w=s‑1mod n;在C语言环境下,计算u1=m*w mod n;在C语言环境下,计算u2=r*w mod n;在C语言环境下,计算(x,y)=u1*G+u2*Q;v=x mod n;判断是否满足v=r,满足则签名验证通过,否则签名验证不通过。本发明相对于现有技术具有以下优点:通过优化算法使得一些低端嵌入式设备具有较快的ecdsa验签速度,有效降低产品成本。