![](https://i-blog.csdnimg.cn/blog_migrate/df4340f84155a15fab9708d433df019e.png)
【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】
8.5基于SM2签名算法的环签名
首先,我们来回顾一下SM2签名算法
曲线参数
SM2标准推荐使用256位素域Fp上的椭圆曲线y2=x3 + ax + b,其中:
密钥生成算法
签名算法
验证算法
接收到的消息为M′,签名为(c′,s′)和发送者Alice的公钥,Bob执行如下步骤验证合法性:
①检验c′∈[1,n-1]是否成立,若不成立则验证不通过;
②检验s′∈[1,n-1]是否成立,若不成立则验证不通过;
③设置M*=‖M′并计算e′= H(M*) ;
④计算t’=(c′+s′) mod n,若t = 0,则验证不通过;
检验v=r′是否成立,若成立则验证通过;否则验证不通过。
接下来我们来看基于SM2签名算法的环签名:
环签名算法
验证算法
今天的课程就到这里啦,下节课我们将开始学习基于SM9国密算法的环签名算法,敬请期待!
同学们可以关注点宽学园,每周持续更新区块链系列课程,小宽带你进入区块链世界。我们下节课见啦。
【区块链与密码学】课堂回顾: