【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】
7.4.1基于身份的盲签名算法
系统参数生成
KGC执行以下步骤生成系统参数和主私钥:
用户私钥生成
KGC执行以下步骤生成用户私钥:
| 基于身份的签名算法
给定系统参数,消息m,私钥,签名者执行以下步骤产生签名:
| 基于身份的验证算法
给定系统参数,消息m,签名(h,S),验证者执行以下步骤验证签名:
①计算:
②检查h和H(m,w′)是否相等。如果相等则输出「Accept」,否则输出「Reject」。
盲签名
如图所示:
验证
给定消息m和签名(h, S) ,验证者执行以下步骤验证签名的合法性:
②计算:
③检测h和H(m,w′)是否相等。若相等,则输出「Accept」,否则输出「Reject」。
7.4.2基于SM9数字签名的盲签名算法
系统参数生成
密钥生成中心(Key Generation Center, KGC)执行以下步骤生成系统参数和主私钥:
①KGC生成随机数sk做为主私钥,这里0<sk<q-1;
②KGC计算系统公钥
③KGC保存私钥sk, 公布系统公钥。
*注意:
用户私钥生成
SM9数字签名算法用户私钥生成示意图
签名
SM9数字签名算法签名过程示意图
验证
SM9数字签名算法验证过程示意图
今天的课程就到这里啦,下节课我们将学习盲签名在区块链中的应用,敬请期待!