群签名方案-CS97
基础知识
- http://baike.baidu.cn/view/3080709.htm
- http://en.wikipedia.org/wiki/Group_signature
群签名的安全性要求
1) 匿名性(Anonymity)
给定一个群签名后,对除了唯一的群管理员以外的任何人来说,确定签名者的身份是不可行的,至少在计算上是困难的。
2) 不关联性(Unlinkability)
在不打开签名的情况下,确定两个不同的签名是否为同一个群成员所签的是不可行的,至少在计算上是困难的。
3) 不可伪造性(Unforgeability)
只有群成员才能产生有效的群签名。其他任何人包括群管理员也不能伪造一个合法的签名。
4) 可跟踪性(Traceability)
群管理员在发生纠纷的情况下可以打开一个签名来确定出签名者的身份,而且任何人都不能阻止一个合法签名的打开。
5) 正确性(Correctness)
当验证者检验一个签名时,一个合法的群成员按照签名算法产生的群签名一定能够通过验证算法。
6) 抵抗联合攻击(Coalition-Resistance)
即使一些群成员串通在一起也不能产生一个合法的不能被跟踪的群签名。
群签名的一般流程
群管理者建立群资源,生成对应的群公钥(Group Public Key)和群私钥(Group Private Key)群公钥对整个系统中的所有用户公开,比如群成员、验证者等。
2. 成员加入
在用户加入群的时候,群管理者颁发群证书(Group Certificate)给群成员。
3. 签名
群成员利用获得的群证书签署文件,生成群签名
4. 验证
同时验证者利用群公钥仅可以验证所得群签名的正确性,但不能确定群中的正式签署者。
5. 打开
群管理者利用群私钥可以对群用户生成的群签名进行追踪,并暴露签署者身份。
CS97方案简介
CS97方案的几个特点
- 首先实现了群公钥和签名长度不依赖于群成员的个数
- 首次在群签名方案中用到了知识签名(http://blog.csdn.net/zhanghui_hn/article/details/8964830)
- 以“离散对数”和RSA算法为理论基础
CS方案的流程
![](/assets/blank.gif)
CS97方案五个步骤
系统初始化
群管理员GM获取下列值
RSA公钥对 (n, e)
循环群G,g为生成元,n为G的阶
系统安全性参数a,λ(群成员私钥长度),ε
公开参数 (n, e, G, g, a, λ, ε)
群管理员保存RSA私钥对(n, d)
成员加入
1. 新成员Alice选择私钥x
2. Alice计算
i. y = a^x (mod n)
ii. z = g^y3. Alice发送y、z和自己对z的个人签名给群管理员GM,并使用知识签名证明自己知道满足y=a^x(mod n)的x
4. GM验证Alice的y和z的合法性,验证Alice知道x
5. GM保存(y, z)用于日后打开群签名
6. GM生成Alice的成员证书 v = (y + 1) ^ d (mod n);并发送 成员证书 v 给 Alice
7. Alice验证 v 的正确性
成员进行群签名
验证群签名
验证群签名只需用到 双离散对数的知识签名(skloglog),和离散对数的e次方根的知识签名 (skrootlog) 就可以了。打开群签名
有上面的步骤三(3.成员进行群签名)可知: z' = g' ^ y ;所以群管理员只需遍历所有的群成员y,找到使等式成立的y就可以知道是哪个群成员做的群签名。
群签名方案-CS97相关推荐
- 【区块链与密码学】第9-3讲:群签名方案的安全性要求
[本课堂内容全部选编自PlatON首席密码学家.武汉大学国家网络安全学院教授.博士生导师何德彪教授的<区块链与密码学>授课讲义.教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系 ...
- 群签名和环签名的区别_Monero技术详解(三):核心技术—环签名(1)
在前文介绍了Monero的一次性地址方案.从方案看来,Monero中的UTXO只有一次性地址,用户地址是产生一次性地址的基础,用户对UTXO的所有权并不能显现地看出来.发送人在每次交易时创建一次性地址 ...
- 群签名和环签名的区别_环签名,聚合签名
本文主要对当下的一些密码学技术的简单阐述 参考文献: 环签名 环签名(ring signature)是一种数字签名方案,最初由Rivest等人提出,环签名是一种简化的群签名,环签名中只有环成员没有管理 ...
- 群签名和Go语言实现细节(BBS04--Short Group Signatures)
本文主要介绍论文<Short Group Signatures>群签名的go语言版本的具体实现. 本文是在参考 yunfeiyanggzq 的实现基础上,进行了进一步的改造加工,以此为基础 ...
- 群签名、环签名、盲签名
文章目录 群签名 定义 安全性 构造 环签名 定义 安全性 构造 盲签名 定义 安全性 构造 群签名 定义 群签名方案是算法组 Π G S = ( G e n , S i g n , V e r , ...
- 群签名和环签名的区别_环签名与群签名
环签名:2001年,Rivest, shamir和Tauman三位密码学家首次提出了环签名.是一种简化的群签名,只有环成员没有管理者,不需要环成员间的合作.环签名方案中签名者首先选定一个临时的签名者集 ...
- 【区块链与密码学】第9-2讲:群签名的形式化定义
[本课堂内容全部选编自PlatON首席密码学家.武汉大学国家网络安全学院教授.博士生导师何德彪教授的<区块链与密码学>授课讲义.教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系 ...
- 【区块链与密码学】第9-1讲:白话群签名
[本课堂内容全部选编自PlatON首席密码学家.武汉大学国家网络安全学院教授.博士生导师何德彪教授的<区块链与密码学>授课讲义.教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系 ...
- 群签名和环签名的区别_环签名方案的研究
摘要: 信息时代虽然带给我们无限商机与方便,但也充斥着隐患与危险.由于网络容易受到攻击,导致机密信息的泄密,数据被篡改,轻则引发企业,部门工作陷入瘫痪,个人利益受损,重则危及国家安全和社会稳定,因此保 ...
最新文章
- 华为H3C ER3100由器限速方法合集
- linux c socket选项:SO_ERROR
- Oracle sql 中的字符(串)替换与转换[转载]
- java并发编程实践_Java并发编程实践如何正确使用Unsafe
- 项目总结--基于Cortex-A9平台的米兰花智能培育系统
- oracle分区exchange,oracle 分区表exchange原理
- matlab求两向量夹角_Matlab-自动化控制系统设计4频域分析
- 【十六】Jmeter:目录介绍
- 企业运维之域控篇(三)--加入域
- robot frame基础知识--变量
- 【Git/Github学习笔记】Github的使用介绍
- 应用特征值矩阵对角方法
- response.getStatusCode()==200什么意思
- Leetcode_128_Longest Consecutive Sequence
- 简述现代计算机系统如何进行多级划分,现代计算机系统是如何进行多级划分?...
- 《STM32单片机开发应用教程(HAL库版)---基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第二章 软件安装与使用
- Qt入门基础知识(vs2017+Qt5.12)
- TRIZ创新方法——物质-场模型与标准解系统
- pako插件——数据压缩利器工具
- 申请美国J1签证的步骤和材料是怎样的?
热门文章
- 哪款蓝牙耳机音质比较好?盘点四款降噪效果好的蓝牙耳机
- 【switch case简单案例】
- 电路板测试机检测软件,PCB线路板板智能检测的方法
- 用navicat连接虚拟机mysql出现错误代码(2003)
- 苹果手机ios搭建服务器linux,iOS 利用CocoaHttpServer搭建手机本地服务器
- 世界的意义在于事与愿违|哥德尔
- 云里计算机,单词云里轰电脑版
- 笔记本电脑显示打印机服务器关闭,笔记本win10系统的打印机服务怎么禁用或重启...
- [ phh ] php中配置Discuz!
- 360云盘倒掉是否意味着运营商的机会?