时间:2023-06-27|浏览:218
原标题:区块链技术中的群签名算法
基于PKI的群签名算法II
导语
本课堂用通俗易懂的系列内容为大家呈现区块链与密码学领域相关知识。这里有知识也有故事,从感兴趣到有乐趣,等你来学。
【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】
采用群组公钥的机制
根据2020年4月28日国家市场监督管理总局、国家标准化管理委员会发布的中华人民共和国国家标准公告(2020年第8号),全国信息安全标准化技术委员会归口的GB/T20281-2020《信息安全技术防火墙安全技术要求和测试评价方法》等26项国家标准正式发布(其中7项密码标准),其中便有GB/T38647,为采用群组公钥的机制。
名词解释
辅助签名方assistantsigner:可以帮助主要签名方去创建匿名签名,但不可以独立地产生匿名签名的实体。
成员列表member-list:包含群组成员身份及其对应的群组成员证书的列表。
主要签名方principalsigner:拥有群组成员签名密钥的实体,主签名方可以使用该密钥来创建匿名签名。
密钥种子值secretseedvalue:群组成员所知的并且用来导出群组成员私钥的保密数据。
安全参数securityparameter:决定一个机制安全强度的变量。
采用群组公钥机制的过程
1密钥生成过程
2签名过程
3验证过程
4打开过程(如果机制支持打开能力)
5连接过程(如果机制支持连接能力)
6撤销过程
下面从中选取几个流程进行详细介绍:
1密钥产生过程
密钥产生过程由两部分组成:建立过程和群组成员发布过程。
建立过程输入安全参数并产生群组公钥gpk和它对应的群组成员发布密钥gmik,群组成员打开密钥gmok和群组签名连接密钥gslk。
管理密钥gmik,gmok,和gslk分别由群组成员发布方、群组成员打开方和群组签名连接方安全存储。
群组成员发布过程如下:群组成员发布方管理一个成员列表LIST=(LIST[1],…,LIST[n]),其中n是目前已注册群组成员的数量。列表的每一条记录包含每一个注册用户的个人信息。两个子过程,用户加入(由加入用户使用其身份ID进行)和发布(由群组成员发布方运行)交互产生一个群组成员签名密钥。
2签名过程
群组成员签名密钥包括一个指数κ,κ表示该密钥已经进行了κ次撤销列表指数RI(群组签名撤销过程相关)注册更新。设λ是RI中最新的撤销密钥数量。为了产生一个签名,群组成员签名密钥需要λ次RI的注册更新。
已产生的签名包括一个λ,λ表示签名是使用已进行λ次RI的注册更新的密钥生成的。该签名可以使用已进行λ次RI的注册更新的群组公钥验证。
该签名过程输入群组公共参数(,,,),,,,),群组公钥,群组成员签名密钥=(κ,x,y,z,A),消息M∈{0,1}*,其中κ(≤λ)是签名方i最后更新的撤销列表指数i,而λ在所有群组成员中最新的撤销列表指数。
3验证过程
验证签名的指数为ρ,使用的群组公钥已经过ρ次RI的注册更新,应注意ρ可能不是RI中的最新的撤销密钥数量,因为一些密钥可能在之前的验证中被撤销。
4撤销过程
RI是撤销指数列表,它包含目前已撤销群组成员的所有指数。无论何时密钥被撤销,RI都能马上将它更新进去。RL是一个包含目前已撤销群组成员隐私信息的列表。假设RL总是更新到最新的撤销指数RI。任何人都可以公开地使用RL和RI。列表RI和RL的初始设置为空。
该撤销过程是一个全局撤销。它执行三个子过程,产生RL(由发布方执行),更新gpk(由任意一方执行)和更新usk(由合法签名方或群组成员执行)。
今天的课程就到这里啦,下节课我们将继续学习基于身份的群签名算法,敬请期待!
用戶喜愛的交易所
已有账号登陆后会弹出下载