无需随机预言机的常数大小环签名
摘要
环签名允许签名者代表一组用户(即所谓的环)进行匿名签名,唯一条件是签名者为该环的成员。在PKC 2007上,Shacham和Waters留下了一个开放问题 “obtain a ring signature secure without random oracles and its signature size is independent of the number of signers implicated in the ring”,至今尚未解决。本文中,通过使用一种强大的工具——不可区分性混淆器(iO),我们构造了一个无需随机预言机的常数大小环签名方案,从而解决了Shacham等人提出的开放问题。此外,我们还构建了一个在标准模型下具有常数签名长度的基于身份的环签名方案。然而,需要强调的是,由于现有iO候选方案效率较低,我们主要关注无需随机预言机的常数大小环签名方案的存在性,而不考虑其实用性。我们方法的一个缺点是,环的不可伪造性仅为选择性的,而非自适应的。
关键词 :环签名 · 常数大小 · 不可区分性混淆
1 引言
环签名允许签名者代表一组用户(即所谓的环)进行匿名签名;唯一条件是该签名者必须是环的成员。在这种签名方案中,验证者可以确信环中的某个成员对有效签名负责,但无法确定真实签名者是谁。与群签名不同[12],环签名方案中签名者的匿名性无法被撤销。环签名为以匿名方式泄露权威秘密提供了一种优雅的方法[26],并且还可用于实现指定验证者签名[24]。
相关工作
环签名的概念由里维斯特、沙米尔和陶曼[26]提出。在环签名方案中,签名者选择环成员,这些成员无需合作,甚至可能不知道自己已被包含在环签名中。自那时起,环签名及其相关的环/临时识别方案得到了广泛研究。我们可以根据其安全模型将这些方案分为两类:第一类方案在随机预言模型下是安全的(例如,[2,13,15,22,26,33]);第二类方案在标准模型下是安全的(例如,[1,6,11,14,29,31,32])。由于关于随机预言机的一些负面结果(如[10,16]),对在标准模型下安全的密码学原语的研究受到了广泛关注。[14]的方案基于一个强新假设。[6]中的方案利用了NP的通用ZAPs。沙查姆和沃特斯[31]给出了一个在[6]定义的计算设定下安全的线性大小构造。[11]中的方案具有次线性签名大小,并使用了公共参考字符串模型。沙查姆和施文克[29]给出了一个基于 CDH的构造。
环本身的描述通常与成员数量呈线性关系,因为需要明确指定环中包含的用户。据我们所知,目前大多数已知的环签名方案在环成员数量上具有线性或亚线性大小,唯一的例外是[15]提出的在随机预言模型下安全的方案。所有现有的环签名方案(除了[15])的签名长度都依赖于环的大小。然而,在某些情况下,我们可能希望将大量成员放入一个环中。在这种情况下,环签名长度为常数是非常有用的。基于这一考虑,沙查姆和沃特斯[31]在PKC 2007上提出了一个开放问题:“获得一个无需随机预言机且其签名大小与环中涉及的签名者数量无关的环签名”,该问题至今尚未解决。本文的目标就是解决这一开放问题。
我们的方法
我们的构造将使用一种强大的工具,即不可区分混淆器(iO)。iO的概念源于程序混淆,其目标是在保持程序功能的同时使其“难以理解”。巴拉克等人[4]开启了形式化研究,但遗憾的是,他们证明了对于一般程序而言,最自然的基于模拟的混淆定义,即“黑盒混淆”,是不可能实现的。为了规避这一负面结果,他们提出了另一种较弱的概念,称为不可区分混淆。一个电路类的一致不可区分混淆器可保证:对任意两个大小相同且计算相同函数的电路进行混淆后,其结果是计算上不可区分的。加尔格等人[17]最近的一项突破性工作提出了首个针对一般布尔电路的有效iO候选构造。此后,这一强大工具在密码学中被证明非常有用,一些成功的应用实例包括取代随机预言机[23]、函数加密[17,18]、可否认加密[30]、(基于身份的)多方密钥交换[9]等。
我们的方法利用了萨哈伊和沃特斯的[30]技术,即模糊程序。(详情请参见[30]。)我们的构造受到启发于Boneh和Zhandry的[9](基于身份的)多方密钥交换方案。在我们的构造中,需要一个可信权威来创建一个混淆的签名程序。然后,每个用户都可以在输入(M, SKs, R=(V K1, …, V Kn) s)上运行该程序,其中 M是用户想要签名的消息,SKs是他的私钥,R是用户希望在其上进行签名的环,而索引 s表示他在 R中的验证密钥为 V Ks。签名程序将检查 SKs是否为对应于 R中第 s个验证密钥的有效私钥,如果验证通过,则受限伪随机函数(PRF)[3,8,25]将作用于 M和 R的拼接结果,并输出该结果作为签名。因此,签名长度等于受限 PRF输出的长度,该长度相对于环 R的大小 n是一个常数。(详见下文。)由于现有iO候选方案[5,7,17]效率较低,我们的构造效率不高。此外,我们方法的另一个缺点是环不可伪造性仅为选择性的,而非自适应的。
此外,我们将证明我们的环签名方案可以轻松扩展到基于身份的设置,即在标准模型中实现常数大小的基于身份的环签名。
2 构建模块
2.1 伪随机生成器
定义 1.
函数 G : {0, 1}λ →{0, 1}2λ 是一个伪随机生成器(PRG),如果对于任意 PPT 对手 A,其优势
Adv[A,G(λ)=|Pr[A(y)= 1: y= G(s), s ←${0, 1}λ]−Pr[A(y)= 1: y ←${0, 1}2λ]|
最多是可忽略的。
哈斯塔德、伊姆帕利亚佐、列文和卢比证明了存在伪随机生成器(PRG)当且仅当存在单向函数(OWF)。
2.2 约束伪随机函数
定义 2。 一个可穿孔的PRF族映射由三个算法 Key, Pun 和 Eva,以及一对可计算函数 u(·) 和 v(·) 组成,满足以下条件:
–
穿孔下功能保持
:对于每个PPT对手 A,若 A(1λ)输出一个集合 S ⊆{0, 1}u(λ),则对于所有满足x ∉ S的 x ∈{0, 1}u(λ),我们有:
Pr[EvaK(x)= EvaK(S)( x): K ← Key(1 λ ), K(S) ← Pun(K, S)]= 1.
–
在穿孔点上的伪随机性
:对于每个PPT对手(A1 ,A2),使得 A1(1 λ )输出一个集合 S ⊆{0, 1} u(λ)和状态 τ,考虑一个实验,其中 K ← Key(1 λ )且 K(S) ← Pun(K, S)。那么我们有:
Pr[A2(τ, K(S), S, EvaK(S))=1]−Pr[A2(τ, K(S), S, U m(λ)·|S|)=1]= negl(λ),
其中 S=(x1,…, xk),EvaK(S) 表示 EvaK(x1)|| ··· ||EvaK(xk) 是集合 S 中元素按字典序的枚举,而 U 表示在 位上的均匀分布。
基于GGM树的PRF构造[19]来自将{0, 1}λ映射到{0, 1}2λ的PRG,显而易见可得到受限PRF,这一点已被[3,8,25]实现。在基于GGM的受限PRF构造中,输出长度 v(λ)等于 λ,而输入长度 u(λ)等于二叉树深度。因此,输出长度与输入长度无关。
2.3 不可区分性混淆
定义3. 一个均匀的PPT机器iO如果满足以下条件,则称为电路类{Cλ}的不可区分性混淆器:
–
功能保持性
:对于所有安全参数 λ ∈ N、所有电路C ∈Cλ以及所有输入 x,我们有:
Pr[C′(x)= C(x): C′ ← iO(λ, C)]= 1.
–
不可区分性
:对于任意(不一定是均匀的)PPT 攻击者(Samp,D),存在一个可忽略函数 negl,使得以下成立:若 Pr[∀x, C0(x) = C1(x) : (C0, C1, τ) ← Samp(1λ)] > 1 − negl(λ),则:
| −Pr[D(τ, iO(λ, C1))= 1:(C0, C1, τ) ← Samp(1λ)] | ≤ negl(λ).
加格等人[17]为 NC1和所有多项式大小电路构造了这样的不可区分性混淆器。在本文中,我们使用了下文定义的多项式大小电路的版本。
定义4. 一个均匀的概率多项式时间机器 iO被称为 P/poly 的不可区分性混淆器,如果满足以下条件:令{Cλ}为大小至多为 λ 的电路类。那么 iO是针对类{Cλ}的不可区分性混淆器。
3 环签名的定义
在本节中,我们回顾环签名方案的形式化定义和安全模型。
3.1 语法
我们定义一个由可信权威(TA)运行的设置算法,用于生成公共参数并创建环签名方案系统。此外,我们将验证密钥的有序集合 R=(V K1,…, V Kn) 称为一个环,并记作 R[i]= V Ki。我们也将自由使用集合表示法,例如, V K ∈ R 如果存在一个索引 i 使得 R[i]= V K。
定义5. 一个环签名方案由以下四个PPT算法组成:
–
设置算法
以安全参数 λ ∈ N 作为输入,输出公共参数 PP。公共参数包含消息空间 M 和签名空间 S 的描述。我们将其记为 PP ← Setup(1λ)。
–
密钥生成算法
输出用户的签名密钥和验证密钥(SK, V K)。我们将其记为(SK, V K) ← KeyGen()。
–
签名算法
以待签名的消息 M ∈ M 、一组验证密钥 R(即环)以及用户的签名密钥 SKs 作为输入。要求满足 V Ks ∈ R。该算法输出关于消息 M 针对该环R 的签名 σ。我们将其记为 σ ← Sign(M, SKs, R)。
–
验证算法
以验证密钥的环 R 和一个声称的签名 σ ∈ S 以及对应的消息 M ∈ M 作为输入。如果 σ 有效,则输出 1(接受);否则输出 0(拒绝)。我们将其记为 1/0 ← Vrfy(M, σ, R)。
正确性。 对于所有安全参数 λ ∈ N、消息 M ∈ M 以及所有 PP ← Setup(1λ){(SKi, V Ki)} n(λ) i=1 ← KeyGen() σ ← Sign(M, SKs, R),如果 R ⊆ {V K}n(λ) i=1 且 V Ks ∈ R,则我们有 Pr[Vrfy(M, σ, R) = 1]= 1。
3.2 安全模型
非正式地说,一个环签名方案应满足两个安全属性。第一个是不可伪造性,意味着攻击者当且仅当知道环中某个成员的私钥时,才能为该环生成有效的签名。第二个是匿名性,意味着验证者确信环中的某个人对签名负责,但无法确定具体是谁。在本文中,我们采用以下两种定义:由本德、卡茨和莫尔塞利提出的针对内部人员腐败的不可伪造性[6];2,以及由钱德兰、格罗思和萨哈伊提出的完美匿名性[11]。
环不可伪造性
关于内部人员腐败的不可伪造性概念由以下游戏定义,该游戏由挑战者和PPT对手 A进行。
-
Setup : 挑战者运行设置和密钥生成算法以生成公共参数 PP 和所有密钥{ (SKi, V Ki)} n(λ) i=1 。攻击者 A 被提供 PP 和验证密钥 S={V Ki} n(λ) i=1 。挑战者维护一个集合 C 来记录被攻破的用户。初始时, C ← ∅。
-
Signing queries : 攻击者 A被允许自适应地发起签名查询。一个环签名查询的形式为(M, R, s)。这里 M ∈ M 是要签名的消息, R ⊆ S 是一个验证密钥的环, s 是一个索引,使得 V Ks ∈ R。挑战者使用环签名 σ ←Sign(M, SKs, R) 进行响应。
-
腐败查询 : 攻击者 A被允许自适应地发起腐败查询。一个腐败查询的形式为 s ∈[n(λ)]。挑战者将 SKs 返回给 A,并将 V Ks 添加到集合 C 中。
-
输出 : 最后,攻击者 A 输出一个元组(M ∗ ∈ M, σ∗ ∈ S, R∗ ∈ S)。我们说 A 赢得该游戏,如果(1)Vrfy(M ∗, σ∗, R∗) = 1;(2) R∗ ⊆ S\C;且(3)它从未对任意 s发起过签名查询(M ∗, R∗, s)。
我们将PPT对手 A(在挑战者和对手的随机硬币上取平均)赢得上述游戏的成功概率记为
AdvUnf A = Pr[A wins].
定义6. 我们说一个环签名方案关于内部人员腐败是不可伪造的,如果对于任何 PPT对手 A,其无法以非可忽略优势赢得上述游戏。
选择性安全性。 我们考虑上述定义的一个选择性变体,其中攻击者 A必须在设置阶段之前承诺一个伪造环/消息对(R∗, M ∗)3。之后,它不能对任意的输入(M ∗, R∗, s)进行Sign查询,且不能对满足 s的输入 s发起腐败查询。 V Ks ∈ R ∗。
环匿名性
非正式地,如果一个消息 M∗ ∈ M、一个环 R∗ ⊆ S 和一个密钥 V Ki0 ∈ R ∗ 上的签名与同一消息 M∗ 和环 R∗ 以及另一个不同密钥 V Ki1 ∈ R ∗ 上的签名完全相同,则该环签名方案是完全匿名[11]的。这意味着签名者的密钥隐藏在环中所有诚实生成的密钥之中。形式化地,我们定义如下由挑战者和无界攻击者 A参与的游戏。
-
设置 : 挑战者运行设置和密钥生成算法以生成公共参数 PP 和密钥对{(SKi, V Ki)} n(λ) i=1 。然后将公共参数和所有密钥{(SKi, V Ki)} n(λ) i=1 提供给攻击者 A。
-
挑战 : 攻击者 A向挑战者提交一个元组(M∗, R∗, i0, i1),其中 M∗ ∈ M 是挑战消息, R∗ ⊆{V Ki} n(λ) i=1 是挑战环, i0 和 i1 是两个满足 {V Ki0 , V Ki1} ⊆ R∗ 的索引。挑战者随机选择一个 b ∈{0, 1},然后计算 σ∗ ←Sign(M∗, SKi b , R∗) 并将 σ∗ 返回给攻击者。
-
Guess : 最后,攻击者输出 b′,表示他对 b的猜测。
我们将无界攻击者(在挑战者和攻击者的随机硬币上取平均)赢得上述游戏的优势表示为 A
AdvAno A= |Pr[b′= b] − Pr[b′ ≠ b]|.
定义7. 我们称一个环签名方案是完全匿名的,如果即使计算能力无界的攻击者在上述匿名性游戏中也无法获得非可忽略优势。
4 常数大小环签名方案
4.1 我们的构造
我们的构造思想如下:每个用户选择一个随机字符串xi作为其私钥。他的公钥是伪随机生成器的值 V Ki= G(xi)。为了允许合法用户 V Ks代表一组用户 R=(V K1,…, V Kn)获得签名,可信机构(TA)发布一个用于受限PRF的混淆的签名程序,该程序需要知道私钥才能运行。这样,如果 V Ks ∈R,则他可以获得一个针对消息与 R拼接结果进行作用的PRF签名,但其他任何人无法得知任何私钥 xi,使得∃i ∈[n] s.t. V Ki= G(xi),将返回 ⊥.4
设Eva : {0, 1}^(λ)+2·n·λ →{0, 1}^λ为一个受限PRF。设G : {0, 1}^λ →{0, 1}^{2λ}为一个伪随机生成器。设 f(·)为一个单向函数。消息空间为 M={0, 1}^(λ)。签名空间为 S={0, 1}^λ。我们的环签名方案如下:
–
设置(1λ)
:可信权威首先为受限PRF选择一个随机密钥 K。接着,它分别创建签名电路 PS和验证电路 PV的两个混淆程序。这里我们假设这两个电路包含用于验证公钥有效性的认证块。公共参数为 PP=(iO(PS),iO(PV))。
–
KeyGen()
:每个用户选择一个随机比特串xi ∈{0, 1}^λ作为其私钥 SKi。相应地,他的验证密钥为 V Ki= G(xi)。
–
Sign(SKs, M, R=(V K1, . . . , V Kn) s)
: 持有私钥 SKs且满足 s ∈[n]的真实签名者在输入(M, SKs, R, s)上运行混淆的签名程序iO(PS)。
–
Vrfy(M, σ, R=(V K1, . . . , V Kn))
:验证者在输入(M, σ, R)上运行混淆的验证程序iO(PV)。
PS
– 常量:PRF 密钥 K。
– 输入:消息 M,私钥 SKs,集合 R=(V K1 ,…, V K n), 索引 s。
1. 测试是否 G(xs) = V K s。若为真,输出 EvaK(M||R);若为假,输出 ⊥。
PV
– 常量:PRF 密钥 K。
– 输入: 消息 M,签名 σ,集合 R=(V K1,…, V Kn)。
1. 测试是否 f(σ) = f(EvaK(M||R))。若为真则输出 1,否则输出 0。
备注 1. 通过检查可知,该环签名方案的正确性是显然的。在我们的构造中,签名者(相应地,验证者)应运行签名(相应地,验证)程序,因此签名者(相应地,验证者)应在签名消息(相应地,验证签名)前保持在线或提前下载签名(相应地,验证)程序。本文关注的是无需随机预言机的常数大小环签名方案的存在性,而非其实用性。
备注2。 上述构造限制环中只能包含 n个验证密钥,也就是说,这是一个 n用户的环签名方案[6]。我们可以很容易地将其扩展以支持灵活环。解决此问题的出发点是使用Ramchen和Waters的[27]技术。在[27],中,Ramchen和 Waters通过改进GGM构造提出了一种新的受限PRF。这种新的受限PRF支持变长输入。(详情请参见[27]。)因此,将上述 n用户环签名方案结合该新 PRF,即可构成一个完整的环签名方案。
4.2 安全性
选择性不可伪造性
我们证明,如果存在一个PPT对手 A能够破坏上述环签名方案的选择性不可伪造性,则我们可以构造一个挑战者 B来破坏单向函数的安全性。我们将证明描述为以下一系列混合游戏:
– 混合0 :该混合对应于选择性不可伪造性游戏中攻击者最初提交其目标(挑战)值T′=(M∗ ∈{0, 1}^(λ), IR∗ ⊆[n(λ)]),然后与 B进行交互的诚实执行过程。
• 设置 : B选择一个受限PRF密钥 K、伪随机生成器G 和单向函数 f。然后它生成公共参数 PP。此外, B随机选择{xi} n (λ) i=1 ⊆{0, 1}^λ作为私钥,并计算 S={V Ki= G(xi)} n (λ) i=1作为公钥。攻击者的挑战值 T′被替换为 T=(M∗, R∗)。 B维护一个集合 C以记录被攻破的用户。初始时,C ← ∅。将 PP和 S提供给攻击者。
• 查询 : B必须回答两种类型的查询:签名预言机OSig 和腐败预言机 OCor。
* 对于每个输入为(M ∈ M, R ⊆ S, s)的OSig 查询,其中(M, R) ≠ T, B使用环签名 σ= EvaK(M||R)进行响应。
* 对于每个输入为 s ∈[n(λ)],的 OCor查询,其中 V Ks ∉ R ∗, B将 xs返回给 A,并将 V Ks添加到集合 C中。
• 输出 : 最后,攻击者相对于M∗和 R∗输出一个伪造 σ∗,如果Vrfy(M∗, σ∗, R∗) = 1,则攻击成功。
– 混合1 :该混合与混合0相同,不同之处在于,对于挑战环 R∗=(V K∗ 1,…, V K∗ n), B为i ∈[n]随机选择其验证密钥 V K∗ i ∈{0, 1}^{2λ}。
– Hyb2 :该混合模型与Hyb1相同,不同之处在于我们令 w∗=EvaK(T),并将签名程序iO(PS)替换为以下电路 P∗ S的混淆版本。通过适当的填充,电路 PS 和 P∗ S的大小相同。
P∗ S
• 常量:PRF 密钥 K(T),集合 T=(M∗, V K∗ 1,…, V K∗ n), w∗。
• 输入: 消息 M,私钥 SKs,集合 R=(V K1,…, V Kn), s。
1. 测试是否 G(xs) = V Ks。若为假则输出 ⊥。
2. 若(M, R) = T,输出 w∗;否则,输出 EvaK(m||R)。
– 混合3 :该混合与混合2相同,不同之处在于我们令 z∗=f(EvaK(T)),并用以下电路 P∗ V的混淆替换验证程序iO(PV)。通过适当的填充,电路 PV和 P∗ V的 大小相同。
P∗ V
• 常量:PRF 密钥 K(T),集合 T=(m∗, V K∗ 1,…, V K∗ n), z∗。
• 输入: 消息 M,签名 σ,集合 R=(V K1,…, V Kn)。
1. 如果(M, R) = T,测试 f(σ) = z∗ 是否成立。若成立则输出 1,否则输出 0。
2. 否则,测试 f(σ) = f (EvaK(m||R)) 是否成立。若成立则输出 1,否则输出 0。
– 混合4 :该混合版本与混合3相同,区别仅在于验证电路 P∗ V中, z∗= f(t)的 t从{0, 1}^λ中均匀随机选取。
首先,我们指出,由于PRG的安全性,任何PPT对手在伪造签名时的优势在混合模型Hyb0和Hyb1中必须可以忽略不计。我们可以注意到,以压倒性概率,值 V K∗ i(对于 i ∈[n])在PRG下没有原像。因此,攻击者(以压倒性概率)无法在其目标环R∗上运行签名程序iO(P∗ S)(因为不存在有效的 x∗ i使得G(x∗ i) = V K∗ i),即使它获得了所有其他私钥。
然后,我们论证任何PPT对手在混合模型Hyb1和Hyb2中伪造签名的优势必须是可忽略的。我们首先观察到电路 PS和 P∗ S 的输入/输出行为是相同的。唯一的区别在于,电路 PS自行计算EvaK(T),而电路P∗ 则将EvaK(T)作为常数 w ∗给出。因此,如果存在差异,则优势,我们可以构造一个攻击者(Samp, D)来破坏iO的不可区分安全性。 Samp向iO挑战者提交两个电路 C0= PS和 C1= P∗ S。然后 Samp将收到一个关于 C0或 C1的混淆程序,并构建包含该混淆程序的公共参数。如果iO挑战者选择 C0,则我们处于Hyb1中;如果iO挑战者选择 C1,则我们处于Hyb2中。最后,如果攻击者成功伪造, D输出1。综上所述,任何在Hyb1和Hyb2中具有不同优势的攻击者都将导致(Samp, D)成为针对iO不可区分安全性的攻击者。类似地,任何PPT对手在混合模型Hyb2和Hyb3中伪造签名的优势必须可以忽略地接近。
5 基于身份的环签名方案
在基于身份的系统中[28],每个用户的公钥是其可识别的身份,例如电子邮件地址、电话号码等。这一特性避免了对证书的需求。同时,用户的私钥由密钥生成中心(KGC)计算生成,该中心掌握主私钥 MSK。有关基于身份的环签名方案的定义和安全模型,请参见[13]。
5.1 我们的构造
将我们的环签名方案直接转化为基于身份的环签名方案是 straightforward 的。5
设EvaK: {0, 1}^(λ)+2·n·λ →{0, 1}^λ和EvaK′: {0, 1}^{2λ} →{0, 1}^λ为两个受限PRF。设G : {0, 1}^λ →{0, 1}^{2λ}为一个伪随机生成器。设 f(·)为一个单向函数。身份空间为 I={0, 1}^{2λ}。消息空间为 M={0, 1}^(λ)。签名空间为 S={0, 1}^λ。基于身份的环签名方案的构造如下:
–
设置(1λ)
:可信权威TA首先为上述约束伪随机函数选择两个随机密钥 K和 K′。接着,它分别创建签名电路PIS和验证电路 PIV的两个混淆程序。公共参数为 PP=(iO(PIS), iO(PIV)),主私钥为 MSK= K′,将交由密钥生成中心KGC。
–
密钥生成(MSK, id)
:密钥生成中心KGC计算SKid= EvaK′(id)作为身份id的私钥。
–
Sign(M, SKids, R=(id1, . . . , idn) s)
:持有私钥 SKids的用户(即真实签名者)在输入(M, SKids,R, s)上运行混淆的签名程序iO(PIS)进行签名。
–
Vrfy(M, σ, R=(id1, . . . , idn))
:验证者在输入(M, σ, R)上运行混淆的验证程序iO(PIV)进行验证。
PIS
– 常量:PRF密钥 K和 K′。
– 输入:消息 M,密钥 SKids ,集合 R=(id1,…,idn),索引 s。
1. 测试是否 G(SKid s) =G(EvaK′(ids))。若成立,输出 EvaK(M||R);若不成立,输出 ⊥。
PIV
– 常量:PRF 密钥 K。
– 输入:消息 M,签名 σ,集合 R=(id1,…, idn)。
1. 测试是否 f(σ) = f(EvaK(M||R))。若成立则输出 1,否则输出 0。
5.2 安全性
选择性不可伪造性
我们证明,如果存在一个PPT对手 A能够破坏上述基于身份的环签名方案的选择性不可伪造性,则我们可以构造一个挑战者 B来破坏单向函数的安全性。我们将证明描述为以下混合游戏的序列:
– 混合0 :该混合对应于选择性不可伪造性游戏中攻击者最初提交其目标(挑战)集合T=(M∗ ∈{0, 1}^(λ), R∗=(id∗ 1,…, id∗ n))的诚实执行,然后与 B进行交互:
•
设置
: B随机选择两个受限PRF密钥 K和 K′,一个伪随机生成器G,以及一个单向函数 f。然后生成公共参数 PP。将公共参数 PP 提供给攻击者。
•
查询
: 有两种类型的查询需要 B回答:签名预言机OSig和提取预言机 OExt。
* 对于每个输入为(M ∈ M, R, s)的 OSig查询,其中(M, R) ≠ T, B返回一个环签名 σ= EvaK(M||R)。
* 对于每个输入为id ∈ I的 OExt查询, 其中id ∉ R∗, B返回SKid=EvaK′(id)给 A。
•
输出
: 最后,攻击者针对M ∗和 R∗输出一个伪造 σ∗,如果Vrfy(M ∗, σ∗, R∗) = 1,则攻击成功。
– Hyb1 :该混合版本与Hyb0相同,不同之处在于我们令 w∗ i=G(EvaK′(id∗ i)),对于id∗ i ∈ R ∗,并将签名程序iO(PIS)替换为以下电路 P∗ IS的混淆版本。通过适当的填充,电路 PIS和 P∗ IS的大小相同。
P∗ IS
• 常量: PRF密钥 K和 K′(R∗),集合 R∗,值 w∗ i。
• 输入: 消息 M,密钥 SKids,集合 R=(id1,…,idn),索引 s。
1. 如果 ids= id∗ i ∈ R ∗,测试 G(SKids) = w∗ i。
2. 否则,测试 G(SKids) = G(EvaK′ (R ∗ )(ids))。
3. 若成立,输出 EvaK(M||R),若不成立则输出 ⊥。
– Hyb2 :该混合版本与 Hyb1 相同,不同之处在于值 w∗ i = ti 是从 {0, 1}^{2λ} 中均匀随机选择的。
– 混合3 :该混合版本与混合2相同,不同之处在于我们令 w∗=EvaK(T),并将签名程序 iO(P∗ IS) 替换为以下电路 P∗∗ IS的混淆版本。通过适当的填充,电路 P∗ IS 和 P∗∗ IS 的大小相同。
P∗∗ IS
• 常量: PRF密钥 K(T) 和 K′(R∗),集合 T,值 w∗ 和 w∗ i。
• 输入: 消息 M,密钥 SKids,集合 R=(id1,…,idn),索引 s。
1. 如果 ids= id∗ i ∈ R ∗,测试 G(SKids) = w∗ i 是否成立。
2. 否则,测试 G(SKids)= G(EvaK′(R∗)(ids)) 是否成立。
3. 如果 (M, R) = T,则输出 w∗;否则若为真,输出 EvaK(T)(M||R),若为假则输出 ⊥。
– Hyb4 :该混合版本与Hyb3相同,不同之处在于我们令 z∗=f(EvaK(T)),并将验证程序iO(PIV)替换为以下电路 P∗ IV的混淆。通过适当的填充,电路 PIV 和 P∗ IV的大小相同。
P∗ IV
• 常量:PRF 密钥 K(T),集合 T,值 z∗。
• 输入: 消息 M,签名 σ,集合 R=(id1,…, idn)。
1. 如果 (M, R) = T,测试 f(σ) = z∗ 是否成立。若成立则输出 1,否则输出 0。
2. 否则,测试 f(n) = f (EvaK(m||R)) 是否成立。若成立则输出 1,否则输出 0。
– 混合5 :该混合与混合4相同,唯一的区别是在验证电路 P∗ IV中, z∗= f(t)中的t从{0, 1}^λ中均匀随机选择。
首先,我们认为任何PPT对手在伪造签名方面的优势在混合模型Hyb0和Hyb1中必须是可忽略地接近的。我们首先观察到电路 PIS和 P∗ IS的输入/输出行为是相同的。唯一的区别在于,电路 PIS自行计算EvaK′(id∗ i)(对于 i ∈[n]),而电路 P∗ IS则是将EvaK′(id∗ i)作为某些常量 w∗ i给出的。因此,如果优势存在差异,则可以构造一个攻击者(Samp, D)来破坏iO的不可区分安全性。 Samp向iO挑战者提交两个电路 C0= PIS和 C1= P∗ IS。然后 Samp将收到一个关于 C0或 C1的混淆程序,并构建包含该混淆程序的公共参数。如果iO挑战者选择 C0,则我们处于Hyb0中;如果iO挑战者选择 C1,则我们处于Hyb1中。最后,当攻击者成功伪造时, D输出1。综上所述,任何在Hyb0和Hyb1中具有不同优势的攻击者都将导致(Samp, D)成为针对iO不可区分安全性的攻击者。类似地,任何PPT攻击者在伪造签名方面的优势在混合模型Hyb2和Hyb3中也必须是可忽略地接近的;并且任何PPT攻击者在伪造签名方面的优势在混合模型Hyb3和 Hyb4中也必须是可忽略地接近的。
然后,我们论证任何PPT对手在伪造签名时的优势在混合模型Hyb1和Hyb2中必须可以忽略不计。否则,我们可以构造一个攻击者(A1 ,A2)来破坏受限PRF的安全性穿孔集合 R∗。 A1首先从攻击者处获取 T=(M∗, R∗)。它将集合 R∗提交给受限PRF挑战者,并收到一个受限PRF密钥 K′(R∗) 和针对 i ∈[n] 的挑战值 w∗ i。如果对所有 i ∈[n] 都有 w∗ i= EvaK′(id∗ i),则我们处于混合Hyb1中。如果它们是均匀随机选择的,则我们处于混合Hyb2中。如果攻击者成功伪造, A2将输出1。总之,任何在混合Hyb1和Hyb2中具有不同优势的PPT对手都将导致 (A1, A2) 成为破坏受限PRF伪随机性的攻击者。我们可以注意到,在混合Hyb2,中,以压倒性概率,所有的值 id∗ i(对于 i ∈[n])在PRG下都没有原像。因此,攻击者(以压倒性概率)无法在目标环 R∗ 上运行签名程序 iO(P∗ IS)(因为不存在有效的 SKidi∗ 使得 G(SKidi∗) = w∗ i,即使它从提取预言机获得了所有其他私钥)。类似地,任何PPT攻击者在混合Hyb4和Hyb5中伪造签名的优势必须可以忽略地接近。
最后,我们证明在最后一个混合模型Hyb5,中,任何PPT对手无法以非可忽略优势赢得选择性游戏。如果在Hyb5,中存在一个攻击者,则我们可以利用它来破坏单向函数(OWF)的安全性。我们构建一个归约 B,该归约首先接收来自攻击者的集合 T=( M ∗, R∗)以及来自OWF挑战者的挑战实例 y,然后设置 z∗= y。如果攻击者成功伪造了 M ∗和 R∗上的签名,则根据假设,他已经计算出一个签名 σ∗,使得 f(σ∗) = z∗ = y。B输出 σ∗作为给定OWF挑战实例的解。因此,如果该单向函数是安全的,则任何PPT对手都无法在混合模型Hyb5中以非可忽略优势进行伪造。由于每个连续的混合模型中任意PPT对手的优势都 neglibly 接近,这证明了该环签名方案的选择性不可伪造性。
完美匿名性
对于由(无界)攻击者A选择的任何挑战元组 (M∗, R∗, i0, i1),其中 M∗ ∈ M,R∗=(id∗ 1,…,id∗ n),以及 i0, i1 ∈[n],由环成员 i0和 i1生成的两个签名均为 σ∗ i0 = EvaK(M∗||R∗)=σ∗ i1 。因此,环中的任何成员都可以对给定的消息和环获得相同签名。由此可直接推出完美匿名性。
26

被折叠的 条评论
为什么被折叠?



