原创 PlatON 收录于话题#【图学院】区块链与密码学全民课堂61个
导语:本课堂用通俗易懂的系列内容为大家呈现区块链与密码学领域相关知识。这里有知识也有故事,从感兴趣到有乐趣,全民课堂等你来学。这个系列中的课程内容首先从比特币着手进行入门介绍,再延伸至区块链的相关技术原理与发展趋势,然后深入浅出地依次介绍在区块链中应用的各类密码学技术。欢迎大家订阅本公众号,持续进行学习。
【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】
9.4 LC98算法
LC98是第一个基于离散对数的群签名方案,该方案相对于CS97效率更高,通信量小。
– LC98群签名流程 –
1. Setup()
群管理者执行:
- 选择两个大素数p和q,且q|p-1
- 选择GF(p)中阶为q的生成元g
- 随机选择∈[1,q-1]为群的主私钥
- 计算
- 群管理者公钥为Y=(p,q,g,yT)。
2. Enroll()
群成员
- 随机选择xi∈[1,q-1]
- 计算
群管理员
- 随机选择ki∈[1,q-1]
- 计算:
- 验证以下等式是否成立:
若成立,则将(,)作为自己的群证书
3. Sign()
群成员Ui
- 计算
- 随机选择t∈[1,q-1]
- 计算
- 计算s, 由等式:
推导出(r,s)为群成员对消息m的签名
4. Verify()
接收者
- 计算:
- 验证以下等式是否成立:
若成立,则为合法签名
5. Open()
由于群管理者保存了用户的身份,证书(ri,si),参数(yi,ki), 则可以根据证书判断签名的群成员身份。
LC98方案安全性是基于离散对数问题,与最早需要使用知识签名的群签名方案CS97相比,LC98方案大大提高了效率,减小了通信量,但是安全性存在着以下缺陷:
- 由于签名结果包含成员证书(ri,si),同一群成员的签名具有相同的(,)部分,签名具有可连接性
- 可以通过「参数选取法」伪造签名
LC98方案之后,又有很多人提出了针对该方案的改良,我们称之为类LC98方案,但是几乎所有的类LC98方案都可以通过「参数选取法」进行伪造。
总结而言,判断一个类LC98方案是否安全,要检查其是否解决了和的合法性验证问题。
要保证αi和DHi的合法性,也可以要求签名人在群管理员的辅助下生成签名,或者由管理员为每一个群成员生成并公布一系列(αi , DHi)二元组,每次签名使用一个(αi , DHi)二元组,以便验证者检验(αi , DHi)的合法性。但是这些做法是以牺牲群管理员的效率为代价的,同时也违背了群签名由群成员代替群进行签名的初衷。
今天的课程就到这里啦,下节课我们将继续学习基于PKI的群签名算法,敬请期待!
同学们可以关注PlatON公众号,持续学习哦。我们下节课见啦。
本文转载自https://mp.weixin.qq.com/s?__biz=MzUzNTg2ODg5MQ==&mid=2247495831&idx=1&sn=30fa1cfbcf7081a81873c2aa3fe74c1a&chksm=fafc5423cd8bdd35559c077ec4a5313b279d9c9f767ec74ecf39d304c757e67b49283af18ba0&scene=178&cur_album_id=1411898566347735044#rd