区块链与密码学全民课堂第6-5讲:SM2数字签名算法

在政府高度重视和市场迫切需求的双向驱动下,国密算法SM1—SM9应时而生。其中,SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法,包含5个部分:
· 总则 
· 数字签名算法
· 密钥交换协议
· 公钥加密算法
· 参数定义

曲线参数

密钥生成算法

签名算法

验证算法

算法的正确性

验证算法的特点
SM2签名验证算法的一个显著特点是,其中加入了较多的检错功能。
因为这是收信者对收到的签名数据进行验证,而签名数据是经过信道传输过来的,由于信道干扰和对手的篡改,因此,签名数据中含有错误或被篡改的可能性是存在的。
把错误和篡改检测出来,对提高签名验证系统的数据完整性、系统可靠性和安全性是有益的。

SM2签名算法的应用
安全:目前尚没有发现求解椭圆曲线离散对数问题的亚指数算法。
实现:软硬件实现规模小,容易实现。160位的椭圆曲线密码的安全性,相当于1024位的RSA密码。
实现难点:倍点运算。
应用场景:目前最大的应用是二代身份证。
应用前景:2019年10月26日,第十三届全国人民代表大会常务委员会第十四次会议表决通过密码法,于2020年1月1日起施行。
今天的课程就到这里啦,下一堂课我们将学习基于身份的数字签名算法,带大家继续了解数字签名,敬请期待!