学习笔记:Efficient Redactable Signature and Application to Anonymous Credentials

本文深入探讨了可编校签名的概念,分析了短随机化签名的不安全性,并提出了改进方案,实现了部分验证功能。此外,详细介绍了如何通过可编校签名实现匿名凭证,保证unlinkability特性,防止签名间的链接,从而保护用户隐私。同时,展示了如何在匿名证书系统中构造和验证部分属性的证明,确保安全性与效率。

Sanders, O. (2020). Efficient Redactable Signature and Application to Anonymous Credentials. In: Kiayias, A., Kohlweiss, M., Wallden, P., Zikas, V. (eds) Public-Key Cryptography – PKC 2020. PKC 2020. Lecture Notes in Computer Science(), vol 12111. Springer, Cham. https://doi.org/10.1007/978-3-030-45388-6_22

Introduction

Syntax

在这里插入图片描述

Short Redactable Signatures

前置文献Short Randomizable Signatures的PS签名
p k : = ( X , Y 1 , . . . , Y r ) = ( g x , g y 1 , . . . , g y r ) , s k : = ( x , y 1 , . . . , y r ) , g ∈ G 2 pk:=(X,Y_1,...,Y_r)=(g^x,g^{y_1},...,g^{y_r}),sk:=(x,y_1,...,y_r),g\in\mathbb{G}_2 pk:=(X,Y1,...,Yr)=(gx,gy1,...,gyr),sk:=(x,y1,...,yr),gG2
P S − S i g n ( s k , m 1 , . . . , m r ) → σ : = ( σ ~ 1 , σ ~ 2 ) = ( g ~ , g ~ x + ∑ j = 1 r y j ⋅ m j ) , g ~ ∈ G 1 ∗ PS-Sign(sk,m_1,...,m_r)\rightarrow\sigma:=(\widetilde{\sigma}_1,\widetilde{\sigma}_2)=(\widetilde{g},\widetilde{g}^{x+\sum_{j=1}^r y_j\cdot m_j}),\widetilde{g}\in\mathbb{G}_1^* PSSign(sk,m1,...,mr)σ:=(σ 1,σ 2)=(g ,g x+j=1ryjmj),g G1
P S − V e r i f y ( p k , ( m 1 , . . . , m r ) , σ ) → 0 / 1 PS-Verify(pk,(m_1,...,m_r),\sigma)\rightarrow 0/1 PSVerify(pk,(m1,...,mr),σ)0/1. 验证 σ ~ 1 ≠ 1 G 1 , \widetilde{\sigma}_1\neq1_{\mathbb{G}_1}, σ 1=1G1, e ( X ⋅ ∏ i = 1 n Y i m i , σ ~ 1 ) = e ( g , σ ~ 2 ) e(X\cdot \prod_{i=1}^n Y_i^{m_i},\widetilde{\sigma}_1)=e(g,\widetilde{\sigma}_2) e(Xi=1nYimi,σ 1)=e(g,σ 2)

这个签名验证时必须使用所有的信息整体验证,无法实现部分验证。

修改 σ 1 : = ∏ i ∈ I ˉ Y i m i \sigma_1:=\prod_{i\in\bar{\mathcal{I}}}Y_i^{m_i} σ1:=iIˉYimi

验证转换为: e ( X ⋅ σ 1 ∏ i ∈ I Y i m i , σ ~ 1 ) = e ( g , σ ~ 2 ) e(X\cdot \sigma_1\prod_{i\in\mathcal{I}} Y_i^{m_i},\widetilde{\sigma}_1)=e(g,\widetilde{\sigma}_2) e(Xσ1iIYimi,σ 1)=e(g,σ 2)
安全性缺陷
不幸的是,由此产生的方案显然是不安全的。不诚实的用户在可以在 σ 1 \sigma_1 σ1中隐藏已披露消息的某些部分来欺骗验证者:
σ 1 : = Y 1 r ∏ i = 2 n Y i m i \sigma_1:=Y_1^r\prod_{i=2}^nY_i^{m_i} σ1:=Y1ri=2nYimi,并构造一个对 m 1 − r m_1-r m1r的签名,对于任意 r ∈ Z p r\in\mathbb{Z}_p rZp,有
e ( X ⋅ σ 1 ⋅ Y 1 m 1 − r , σ ~ 1 ) = e ( X ⋅ ∏ i = 1 n Y i m i , σ ~ 1 ) = e ( g , σ ~ 2 ) \begin{aligned} e(X\cdot \sigma_1\cdot Y_1^{m_1-r},\widetilde{\sigma}_1)&=e(X\cdot \prod_{i=1}^nY_i^{m_i},\widetilde{\sigma}_1)\\ &= e(g,\widetilde{\sigma}_2) \end{aligned} e(Xσ1Y1m1r,σ 1)=e(Xi=1nYimi,σ 1)=e(g,σ 2)
σ 1 ∉ G 1 \sigma_1\notin\mathbb{G}_1 σ1/G1,为了安全性,需要证明它只包含不在 I \mathcal{I} I中的元素的累积。解决这个问题最简单的方法(在大多数匿名凭证构造中使用)是证明未公开信息的知识。正如我们已经解释过的,这导致成本至少与 I ˉ \bar{\mathcal{I}} Iˉ的规模成线性关系。

解决
如果 σ \sigma σ是一个已经诚实地为 I \mathcal{I} I派生的签名,则 e ( σ 1 , ∏ i ∈ I Y ~ i ) → e ( g , g ~ ) f ( y 1 , . . . , y n ) e(\sigma_1,\prod_{i\in\mathcal{I}}\widetilde{Y}_i)\rightarrow e(g,\widetilde{g})^{f(y_1,...,y_n)} e(σ1,iIY i)e(g,g )f(y1,...,yn),其中的单项是这种形式: y i ⋅ y j , i ≠ j y_i\cdot y_j,i\neq j yiyj,i

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值