论文笔记:Repudiability and Claimability of Ring Signatures【续】构造部分

https://blog.csdn.net/jiongxv/article/details/127664010中两种方案的构造:

Claimability

syntax

Commitment

C o m ( μ ; r ) → c {\rm Com}(\mu;r)\rightarrow c Com(μ;r)c.
properties:

  • Hiding
    在这里插入图片描述
    I find another definition in other paper:
    在这里插入图片描述
    如果算法 A \mathcal{A} A被限制为PPT算法,则该方案称为computationally hiding。如果不限制这种算法的运行时间,则该方案是statistically hiding的
  • Binding
    在这里插入图片描述

PRF:pseudorandom function

在这里插入图片描述

transformation

思路:对环签名RS附加一个 ( v k , σ R S ) (vk,\sigma_{RS}) (vk,σRS)d承诺 c c c;验证算法只检查 σ R S \sigma_{RS} σRS。直观地说,由于承诺方案的隐藏特性,签名者的身份是隐藏的,直到他选择发布一个声明。

问题:

  1. 如果签名方恶意用不是自己的 v k vk vk提交承诺怎么办
    解决:提交 ( v k , σ R S ) (vk, \sigma_{RS}) (vk,σRS)上的标准签名。因此,标准签名的不可伪造性直观地保证,除非知道相应的签名密钥,否则签名者无法令人信服地对任何验证密钥提出声明
  2. 签名者必须记住承诺随机性,但最好签名者在签名和声明之间不需要是有状态的
    解决:用PRF派生出承诺随机性。

Construction

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
首先生成一个正常环签名RS
用签名和公钥生成一个伪随机数,用于标准签名 ( v k , σ R S ) (vk,\sigma_{RS}) (vk,σRS)的随机数
用签名和公钥再生成一个伪随机数,用于承诺 ( v k , σ Σ ) (vk,\sigma_{\Sigma}) (vk,σΣ)的随机数
生成的承诺作为可声明签名的一部分
在这里插入图片描述
在这里插入图片描述
承诺所用随机数和标准签名作为证明
在这里插入图片描述

Repudiability

Building blocks

ZAP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

VRF:verifiable random function

VRF的一个重要性质是residualpseudorandomnes,也就是说,在对手没有收到证明的输入上,VRF的输出仍然与随机难以区分。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
VRF的剩余伪随机性属性仍然成立,即使对手能够一次查询许多密钥对,并且能够自适应地选择学习一些秘密密钥(在这种情况下,剩余伪随机性只对未腐化的密钥成立)。

在这里插入图片描述
在这里插入图片描述

Construction

在这里插入图片描述
注意公钥的组成4+1+M:一个4维VRF公钥向量,ZAP的初始化参数 ρ \rho ρ,M维的v长比特码向量
私钥包括4维VRF对应的私钥,以及公钥本身。
这么做的理由:将验证密钥包含在sk中,以便Sign过程能够识别与signing key相对应的环中的verification key。
在这里插入图片描述
在这里插入图片描述
以上是准备阶段,开始生成签名:
在这里插入图片描述
6 为签名方的4个VRF密钥分别计算Eval和Prove
7 对每个环成员,用 Z A P . P r o v e ( ρ , x , ω ) ZAP.Prove(\rho,x,\omega) ZAP.Prove(ρ,x,ω)证明关系:输入 x i x_i xi包含签名的公共信息和VRF的salt和输出(都是可公开的);witness包括签名者的index和VRF.Prove生成的证明,以及一个随机的witness
问题:为什么只放了 τ 1 , τ 3 \tau_1,\tau_3 τ1,τ3两个证明,还给另外两个预留了位置?
(或许因为两轮证明的基本做法)
8.生成的证明向量和VRF的输出和公共信息作为签名。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为什么这是一种有效的否认?
4中参与方和Sign中类似地用自己的私钥计算了VRF.Eval和VRF.Prove(用了同样的salt);如果是真正的签名者,计算出的 y ′ y' y应该与 y y y相等,如果不等的化,把包含这个不等于条件的关系提交一个有效的ZAP证明。验证时只要验证这个ZAP证明的关系的有效性即可。
在这里插入图片描述

分析

Claimability 签名可从普通RS转换:用PRF生成所需的所有随机数;用标准签名对环签名者公钥和环签名体生成签名;并将这个标准签名和签名者身份提交承诺;环签名和承诺作为签名。可声明性在于给出这个标准签名和承诺所用的随机值,签名可验证有效且可复现承诺值。

综合来看,可声明性的在于给予签名者以一对标准签名的优势,非签名者无法获知签名者掌握用私钥生成的签名,以及用于承诺的随机值。

Repudiability RS的构造:用VRF保护签名的秘密,用ZAP证明关系并生成环;验证ZAP的关系有效即可;可否认性取决于非签名者的私钥无法生成相同的VRF,故而用ZAP证明非签名者符合这个不相等关系;验证ZAP有效即可。

而可否认性则取决于用ZAP生成的否认关系,VRF保护的签名者信息及其证明和验证关系都被ZAP证明而不泄露知识。

对于前篇中提到疑惑的问题,也有了答案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值