【区块链与密码学】第8-3讲:AOS环签名算法

环签名技术 AOS/Borromean 环签名技术 环签名是一种签名技术,直白来说,通常是有一组公钥,签名方知道一组公钥中某一公钥所对应的私钥(只需知道一个即可)。这样,他就可以使用这一组公钥和那个对应的私钥生成一个环签名。验证者可以验证确实是这组公钥中某个私钥的拥有者生成的环签名,但是却不知道是哪个公钥对应的私钥。 环签名的一个典型的应用场景是匿名举报。在一个组织内,组织内的举报人可以使用其他成员的公钥联合自己的公私钥对一次举报进行签... 阅读详情

【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】

8.3AOS环签名算法

2002年,Abe等基于离散对数问题开发了一种新型的环签名,他们使用因果环来达到效果。与早期的环签名相比,这种因果环的使用使签名的大小显著减少了(50%左右)。Abe等给出了一种通用环签名构造方法,利用该方法可以把任意数字签名转换为环签名,这里只介绍他们提出的基于Schnorr签名的环签名算法。首先回顾一下Schnorr签名算法:

假设p和q是大素数,且q能被p-1整除,q是大于等于160 bit的整数,p是大于等于512 bit的整数,保证GF(p)中求解离散对数困难;g是GF(p)中元素,且g^{q}≡1 mod p

密钥生成

①Alice选择随机数x为私钥,其中1<x<q

②Alice计算公钥y≡g^{x} (mod p)

 

签名算法

①Alice首先随机数k,这里1<k<q

②Alice计算c=h(M,g^{k} mod p) 

③Alice计算s=k - x · c ( mod q) 

④Alice输出签名(c,s)

验证算法

①Bob计算e = g^{s} ·  mod p

②Bob验证c=h(M,e)是否成立,如果成立输出「Accept」,否则输出「Reject」

环签名算法

 

环验证算法

今天的课程就到这里啦,下节课我们将开始学习ZK环签名算法,敬请期待!

同学们可以关注点宽学园,每周持续更新区块链系列课程,小宽带你进入区块链世界。我们下节课见啦。

【区块链与密码学】课堂回顾:

区块链与密码学系列文章合集

区块链的隐私技术——Mimble-Wimble 区块链上的隐私问题 区块链是公开的分布式交易账本,以比特币为例,链上的数据都是公开可见的,包括交易的金额和交易双方的地址信息等。尽管通过使用比特币地址而不是实名账户可以一定程度上保证用户的隐私需求,但是如果有人可以用比特币的地址链接到所有者的真实身份,那么所有者的比特币交易记录——不管是过去的、现在的,还是未来的,都会被暴露。可怕的是,把比特币地址和真实身份链接起来并不困难。虽然一笔交易的发送方和... 阅读详情

相关推荐

区块链技术之环签名

密码学中,环签名是一种数字签名,其可以由每个具有密钥的一组用户的任何成员完成。因此,使用环签名签名的消息由特定人群中的某一人签署。环签名的一个安全属性是若要确定哪个组成员的密钥用于产生签名在计算上是不可行的。环签名群签名类似,但在两个关键方面有所不同: 1. 无法撤销单个签名的匿名性; 2. 任何用户组都可以作为一个组使用,无需额外设置。 环签名技术由Ron Rivest, Adi...

yuxinqingge的博客 4534

基于Borromean 环签名的隐私数据认证方案

区块链系统中, 隐私保护是一个非常重要的问题. 事实上, 如果交易的金额比较大, 那么交易 的发起者和接收者都不希望将这笔金额公开.利用Borromean 环签名得到对金额承诺消息的最终签名, 则该签名是对隐藏金额的范围证明.

学习笔记:DualRing: 一种环签名的通用构造及实例

文献笔记:DualRing: 一种环签名的通用构造及实例ContributionsPreliminaries通用构造AOS通用签名Canonical Identi cation新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出导入导出导入

日常学习记录,随缘更新 2248

基于schnorr算法的数字签名系统的研究应用

基于schnorr算法的数字签名系统的研究应用

环签名学习笔记

①一般的数字签名会暴露成员身份。②一般的匿名方式不能确定来自成员。③ 群签名中,如果被控制,成员的身份会被暴露。在传统的数字签名中,签名者使用自己的私钥对消息进行签名,然后其他人可以使用签名者的公钥验证签名的有效性。但是,这种方法会暴露签名者的身份信息。环签名通过引入"环"的概念来解决这个问题。当一个人使用环中的某个成员的私钥来签名时,其他人可以使用该成员的公钥和环签名来验证签名的有效性,但无法确定具体是哪个成员进行了签名。

qq_54223524的博客 3429

基于SM2密码算法环签名方案的研究设计

Bresson等提出了门限环签名,即环中签名者达到所设置的阈值时,就能验证方案的正确性,使用了公平拆分的方法,证明是安全可行的。传统的基于双线性对的环签名相比较,它同时满足签名的强不可伪造性和签名者的匿名性,提高了签名效率。为大素数且是模的运算,是由整数组成的整数集合,是椭圆曲线加法群的倍点运算即元素G的k倍,N是椭圆曲线基点G的阶次。本文是根据SM2的签名算法上进行改进的环签名方案,攻击者可由签名者的公钥和系统参数计算出签名者私钥的困难性相当于解决椭圆曲线离散对数问题的困难性,此概率能够忽略不记。

weixin_70923796的博客 619

学习笔记:DualRing (2):About proof

Type-T AOS ring signature 的安全性未被证明,用Canonical Identification 代替type-T签名定义AOS环签名: (1) (2) 证明:A:\mathcal{A}:A:打破AOS环签名的不可伪造性的PPT敌手,构建一个算法B\mathcal{B}B来破解Type-T签名的主动攻击下的密钥恢复。假设B\mathcal{B}B从挑战者CT\mathcal{C}_TCT​得到公共参数paramparamparam和公钥pk∗pk^*pk∗ Setup.

日常学习记录,随缘更新 773

环签名

环签名(ring signature)是一种数字签名方案,最初由Rivest等人提出,环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作。 中文名 环签名 外文名 ring signature 关键词 数字签名、匿名 目录 1 环签名的定义 2 环签名的安全性要求特性 3 环签名满足的性质 4 环签名的发展及其分类 环签名的定义 编辑 假定有...

bjzhaoxiao的专栏 4324

环签名AOS & Borromean

MP15] 指出 AOS 实际上实现了关于私钥的 OR 谓词的知识证明。[MP15] 将其扩展为包含多个基本独立的环,并且将它们的。范式的签名,给出了基于 Hash 连接各个 PK 的环。下面仅给出基于 ECDL 问题的 Schnorr 环签名。[RST01] 最早提出了环签名概念,并给出了基于 RSA 问题和对称加密的构造。但是其签名大,速度慢。的椭圆曲线的生成元,AOS 环签名是如下的 PPT 算法三元组,(chameleon hash)的环。的情况下,可以计算新的随机带。[AOS02] 分别针对。

weixin_44885334的博客 1174

环签名原理详解

环签名原理详解 预备阶段 ​ 假设签名者拥有某私钥 sk 和公钥 pk,其中 pk = sk·g,这里 g 是 椭圆曲线上的 基点(base point),也被称为生成元(generator)。而 “ · ” 这里是倍乘,sk · g 表示 sk 个 g 点在椭圆曲线上进行加法运算。 ​ 首先定义一个 hash 函数,这个 hash 函数的输入是 待签名的消息 m 和 椭圆曲线上的一个点 A,即 Hash(m, A)。该 hash 函数和椭圆曲线一样,是这个签名和验签体系的前提。 第一步: ​ 签名

MG 5703

群签名、环签名、盲签名

群签名方案是算法组ΠGS=(Gen,Sign,Ver,Open)ΠGS​=(Gen,Sign,Ver,Open),Gen(1λ,n)Gen(1λ,n):密钥生成算法,nnn为群成员数,输出gvkgvkgvk:群公钥,用于验签gmskgmskgmsk:主私钥,由管理员持有,用于追踪成员身份gsk=(gsk[1],⋯,g。

weixin_44885334的博客 4639

solcrypto:固态加密库,环形签名,知识证明,打包签名等,以及适用于secp256k1和(alt)BN-256的匹配Python实现

SolCrypto 该存储库包含几种加密原语的Solidity和Python实现,它们旨在协同工作,并使得使用可组合原语构建新颖的密码系统更加容易。 这些实现可以轻松切换到secp256k1或alt_bn128曲线。 演算法 Schnorr知识证明: , AOS环签名: , 可链接的AOS环签名: , 打包的ECDSA签名(2个256位字,无v ): , Merkle树: , 使用ecrecover快速的AOS环形签名: , ,请参阅 去做 Pedersen的承诺 安全加固 文献资料 白皮书

隐私交易基本原则

1. 引言 ZCash, Monero, 以及所有基于CryptoNote的coins,都支持confidential transactions 隐私交易。 1.1 Bitcoin transaction Bitcoin transaction的结构为:({ai},{bi},{vi})(\{a_i\},\{b_i\},\{v_i\})({ai​},{bi​},{vi​}),其中{ai}\{a_i\}{ai​}为input addresses,{bi}\{b_i\}{bi​}为output addresses

mutourend2010@gmail.com 1639

基于SM2算法环签名

基于SM2算法环签名原理解以及Python实现

m0_74043383的博客 1920

环签名(Ring signature)

参考自 环签名指的是在n个公钥中隐藏自己拥有私钥的那个公钥,具体应用就在于区块链上隐藏交易发送人(地址/公钥)。 准备 首先定义以下函数,其中EkE_{k}Ek​为对称加密算法,k为EkE_{k}Ek​对应的对称密钥 Ck,v(y1,y2,…,yn)=Ek(yn⊕Ek(yn−1⊕Ek(⋯⊕Ek(y1⊕v)…&amp;ThinSpace;)))=v{\displaystyle C_{k,v}(y_...

jason_cuijiahui的博客 1万+

【源码阅读】用Go语言实现环签名的签名和验证(二)

func hashToInt(hash []byte, c elliptic.Curve) *big.Int { orderBits := c.Params().N.BitLen() orderBytes := (orderBits + 7) / 8 if len(hash) &gt; orderBytes { hash = hash[:orderByt...

反之亦然 2203

群签名环签名

啊,好久没有写博客了,都长草了,最近在看论文,想记录一下自己看到、学到的东西。 关于群签名 http://en.wikipedia.org/wiki/Group_signature  维基百科 群签名的安全性要求 1) 完整性(Soundness and completeness)      有效的签名能够被正确验证 2) 不可伪造性(Unfo

一名路过的小码农啊 1万+
上一篇: 【区块链与密码学】第8-2讲:RST环签名算法
下一篇: 【区块链与密码学】第8-5讲:基于SM2签名算法的环签名
Dig Quant
博客等级 码龄6年 124粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值