用于生成匿名签名方案的密钥的方法和系统与流程

文档序号:26624901发布日期:2021-09-14 14:38阅读:362来源:国知局
用于生成匿名签名方案的密钥的方法和系统与流程

1.本发明适用于密码学的上下文,并且更确切地说,适用于组签名的上下文。


背景技术:

2.需要指出的是,组签名方案允许用户证明其属于组(例如服务的竞价者、订户等)而不暴露其确切身份。组签名具有匿名的特殊特征,因为不可能识别签名人。组签名被称为不可追踪的,因为无法确定两个签名是由同一个人还是由两个不同的人发送的。
3.由于表征组的称为“公共组密钥”的公共密钥,组签名的有效性可以由任何人来验证。要成为组的一部分,成员必须预先向组的管理实体注册。在这个注册阶段,未来的成员盲获得私有组密钥,该私有组密钥允许其以组的名义签名消息。由于只有其具有的称为“陷阱门”的私有密钥,只有可信的撤销机构或撤销实体有权撤销组签名的匿名性。实际上,该陷阱门事实上可以在几个撤销机构之间共享;他们需要合作来解除(lift)签名的匿名性。因此,组成员受到保护,免受对解除匿名性的滥用。
4.例如,在dan boneh、xavier boyen和hovav shacham的文章“短组签名(short group signatures).crypto 2004:41

55”中描述了组签名的概念。
5.对于需要保持用户的匿名性的一些应用(诸如电子投票或请愿),优选实现称为直接匿名证明(daa,直接匿名证明)的组签名变型。例如,ernie brickell、liqun chen和jiangtao li的文章“根据双线性映射的新的直接匿名证明方案(a new direct anonymous attestation scheme from bilinear maps).trust 2008:166

178”中描述了daa的概念。
6.尽管其是匿名的,但除了组签名外,直接匿名证明daa是可追踪的:因此可能确定两个签名daa已经由同一个人还是由两个不同的人发送的。在电子投票或请愿的上下文中,这种可追踪性将确保投票人仅投票一次,或者电子请愿已由不同的请愿者正确地签名。
7.不幸的是,没有已知的解决方案来解除签名daa的匿名性,并从而识别签名人。这给一些应用带来了问题,这些应用诸如电子投票,尤其是在用于识别已投票的投票者的投票列表必须对所有投票者都可访问的国家。
8.本发明提出了一种用于电子签名的解决方案,该解决方案没有上述解决方案的缺点。


技术实现要素:

9.因此,根据第一方面,本发明的目的是一种用于消息的匿名签名的方法,该方法由组的成员实体执行,并且包括:
10.‑
用于向组的管理实体注册该成员的步骤;
11.‑
用于根据由至少一个撤销实体计算并被包括在该组的公共密钥中的轨迹生成器生成轨迹的步骤,该轨迹相对于根据该方案由该成员实体生成的匿名签名是不变的;
12.‑
用于盲获得私有组密钥的步骤;
13.‑
用于通过使用该私有组密钥根据匿名签名方案生成至少一个签名的步骤,该签
名包括该轨迹。
14.相关地,本发明的目的是由组的成员实体执行的消息的匿名签名设备,并且包括:
15.‑
该成员实体向组的管理实体的注册模块;
16.‑
用于根据由至少一个撤销实体计算并被包括在该组的公共密钥中的轨迹生成器生成轨迹的模块,该轨迹相对于根据该方案由该成员实体生成的匿名签名是不变的;
17.‑
用于盲获得私有组密钥的模块;
18.‑
用于通过使用该私有组密钥生成至少一个签名的模块,该签名包括该轨迹。
19.本发明提出一种匿名签名的加密方法,其中组签名是可追踪的。
20.有利地,与直接匿名证明相反,由组成员根据该方案生成的匿名签名的匿名性可以由撤销实体解除。
21.这种加密方法还证明比现有技术的直接匿名证明daa或组签名的方案更有效,尤其是在计算时间方面。这种匿名签名方案的安全性还基于被加密团体认为比现有技术的最有效的直接匿名证明方案所基于的被称为“交互式”(例如,涉及甲骨文(oracle))的安全性假设更“标准”的被称为“非交互式”的安全性假设。这种类型的匿名签名方案因此提供了更好的安全性。
22.根据第二方面,本发明涉及一种用于生成匿名签名方案的密钥的方法,该方法包括:
23.‑
由至少一个撤销实体对包括公共密钥和私有密钥的撤销密钥对的计算步骤,所述私有密钥可由该撤销实体用来撤销符合所述方案的匿名签名的匿名性;
24.‑
由组管理实体对至少一个成员实体向组的注册步骤;
25.‑
根据该撤销密钥对的公共密钥对轨迹生成器的计算步骤,所述轨迹生成器旨在由在该组中注册的每个成员实体使用,以生成代表该成员实体、并且相对于由该成员实体根据该方案生成的匿名签名是不变的轨迹;
26.‑
每个成员实体被配置为盲获得私有组密钥,该私有密钥被该成员实体用来生成符合该方案的匿名签名,这些匿名签名包括轨迹。“盲获得”是指组的管理实体不知道成员实体用于签名其消息的私有组密钥。
27.相关地,本发明涉及一种用于生成匿名签名方案的密钥的系统,该系统包括:
28.‑
至少一个撤销实体,被配置为计算包括公共密钥和私有密钥的撤销密钥对,所述私有密钥可由撤销实体用来根据所述方案撤销匿名签名的匿名性;
29.‑
组管理实体,被配置为向所述组注册至少一个成员实体;
30.‑
撤销实体,被配置为根据该撤销密钥对的公共密钥计算轨迹生成器,该轨迹生成器旨在被每个成员实体用来生成代表该成员实体的轨迹,该轨迹相对于该成员实体根据所述方案生成的匿名签名是不变的;
31.‑
每个成员实体,被配置为盲获得私有组密钥,该私有密钥被成员实体用来生成符合该方案的匿名签名,这些匿名签名包括轨迹。
32.在具体实施例中,所提出的用于生成密钥的方法包括:
33.‑
用于针对该组的管理实体生成该方案的密钥对的步骤;
34.‑
根据该密钥对的公共密钥计算该撤销密钥对的公共密钥。
35.在具体实施例中,轨迹生成器被周期性地更新。
36.在具体实施例中,轨迹生成器特定于给定服务。该服务对应于例如特定的选票(ballot)。
37.事实上,通过这些功能,所提出的用于生成密钥的方法可以适用于电子投票。事实上,其提供了签名方案,该签名方案是:
38.‑
匿名的,这确保秘密投票;
39.‑
可追踪的,这确保投票人不会投票两次,以及
40.‑
其中签名的匿名性是可撤销的,因此允许撤销实体(在例如追索的情况下)编制选票的投票列表。
41.在具体实施例中,根据本发明的用于生成密钥的方法和投票方法的不同步骤由计算机程序指令确定。
42.因此,本发明的另一目的是信息介质上的计算机程序,该程序包括适于执行如上文提到的至少一种方法的指令。
43.该程序可以利用任何编程语言,并且可以是以源代码、目标代码、或者源代码与目标代码之间的中间代码的形式,诸如部分编译的形式,或者任何其他优选的形式。
44.本发明的另一目的是一种可由计算机读取、并且包括如上文提到的计算机程序的指令的信息介质。
45.该信息介质可以是能够存储程序的任何实体或设备。例如,该介质可以包括诸如rom的储存部件,例如cd rom或微电子电路rom,或者甚至磁记录部件,例如硬盘驱动器。
46.另一方面,信息介质可以是可传输介质,诸如可以经由电缆或光缆、通过无线电或通过其他手段传达的电信号或光信号。根据本发明的程序具体可以通过互联网类型的网络下载。
47.可替代地,信息介质可以是其中合并有程序的集成电路,该电路适于执行或被用于执行所讨论的方法。
附图说明
48.本发明的其他特性和优点将从下面参照附图的描述中显现出来,附图说明了没有任何限制特性的示例性实施例,其中:
49.‑
图1图示了根据本发明的实施例的用于生成密钥的系统和匿名签名设备;
50.‑
图2以流程图的形式图示了根据本发明的用于生成密钥的方法的主要步骤;
51.‑
图3以流程图的形式图示了根据本发明的签名方法的主要步骤;
52.‑
图4以流程图的形式图示了可以在本发明中使用的签名的验证方法的主要步骤;
53.‑
图5以流程图的形式图示了可以在本发明中使用的用于解除匿名性的方法的主要步骤;
54.‑
图6图示了根据本发明的实施例的电子投票系统;
55.‑
图7以流程图的形式图示了用于在图6的投票系统中生成密钥的方法的主要步骤;
56.‑
图8以流程图的形式图示了根据本发明的投票方法的主要步骤;
57.‑
图9以流程图的形式图示了可以在图6的投票系统中使用的签名的验证方法的主要步骤;
58.‑
图10以流程图的形式图示了可以在图6的投票系统中使用的用于解除匿名性的方法的主要步骤;
59.‑
图11图示了具体实施例中的在本发明中使用的设备的硬件架构。
具体实施方式
60.符号和假设:
61.在整个文件中,符号将用于指定满足关系的元素α1,α2,...,αn的零知识证明。因此,公共模块rsa(来自发明人的名字“rivest

shamir

adleman”)的前两个因子的知识证明将被记为:pok(α1,α2:n=α1·
α2∧(α1≠1)∧(α2≠1))。
62.在以下描述中,
63.‑
p是素数;
64.‑ꢀ
组g1、g2和g
t
是p阶的循环组;
65.‑
g、h指定g1的随机选择的两个生成器;
66.‑
是g2的随机选择的生成器;
67.‑
e是类型2或3的双线性耦合,其被定义在集合g1×
g2到集合g
t
上。
68.需要指出的是,双线性耦合(记为e)是在集合g1×
g2到集合g
t
上定义的应用,其中g1、g2和g
t
指定p阶的循环组。该应用e验证以下属性:
69.‑
双线性:和和
70.‑
非退化:对于和其中和分别表示组g1、g2的中性元素。
71.‑
可计算:存在用于计算e(g1,g2)的有效算法。
72.实际上,组g1、g2和g
t
将被选择以使得g1和g2之间不存在可有效计算的同构性(isomorphism)。这种耦合在文献中已知为“类型3”的耦合名称。实际上,对于128位的安全性级别,“类型3”的耦合参数的建议大小如下:对素数p以及对g1的元素为256位,对g2的元素为512位,并且对g
t
的元素为3072位。
73.该方案的安全性部分地基于以下问题是困难的假设。换句话说,如果攻击者能够危及加密方案的安全性,那么其也能够解决断言为“困难”的这些问题。
74.问题ddh
75.设g是一阶p的循环组。给定生成器g∈g,任何两个元素g
a
、g
b
∈g和候选x∈g,迪菲

赫尔曼决策问题(ddh)包括确定是否有x=g
ab

76.在基于双线性耦合的方案的情况下,存在困难的具体问题。对于本发明中使用的耦合,发明人假设问题ddh在组g1和g2中是困难的。这个假设被称为迪菲

赫尔曼外部对称假设(sxdh)。
77.对于根据本发明的方法,可以论证,如果第三方(不具有撤销机构的密钥)设法识别任何匿名签名的签名者,那么其也能够解决问题sxdh。
78.问题q

msdh
79.设(p,g1,g2,g
t
,e)是“类型3”的双线性环境,并且g(相应地,)是g1(相应地,g2)的生成器。给定其中a和x是的任何两个元素,问题q

msdh包括寻找四元组其中p是最大级数(maximum

degree)多项式q,并且ω是的元素,使得多项式p(x)和(x+ω)是第一个。
80.可以论证,如果第三方成功地“伪造”了根据本发明的匿名签名方案的签名,那么其也能够解决问题q

msdh。
81.在这里描述的实施例中,至少在这些方面中的一些方面,本发明实现:
82.‑
组的一个或多个管理实体
83.‑
撤销机构其中(t≥1);
84.‑
组的成员实体v
i
。指定n个成员实体的组。
85.图1图示了根据本发明的用于生成匿名签名方案siga2的密钥的系统sgc和组的成员实体v
i
。还图示了验证设备dv。
86.根据本发明,成员实体v
i
包括通信模块com和匿名签名设备dsa。
87.用于生成密钥的系统sgc包括组的管理实体以及撤销机构其中(t≥1)。
88.组的管理实体包括通信模块com、加密模块mcr和注册模块erg,该注册模块erg被配置为在该组中注册至少一个成员实体v
i

89.为此,成员实体v
i
的设备dsa包括注册模块erg,该注册模块erg被配置为向组的管理实体注册成员实体v
i

90.在这里描述的实施例中,每个撤销实体包括被配置为计算撤销密钥对的加密模块mcr,该密钥对包括公共密钥p
j
和私有密钥其可由撤销实体用于撤销符合所述方案siga2的匿名签名的匿名性。
91.在这里描述的实施例中,撤销实体的加密模块mcr被配置为根据该撤销密钥对的私有密钥计算轨迹生成器其中x1表示由用于生成密钥的系统sgc所产生的公共参数。
92.在这里描述的实施例中,每个成员实体v
i
的设备dsa包括加密模块mcr,该加密模块mcr被配置为通过使用该轨迹生成器根据成员实体v
i
的私有密钥来生成表示成员实体v
i
的轨迹该轨迹t
i
相对于由成员实体根据方案siga2所生成的匿名签名σ
i
是不变的。
93.在这里描述的实施例中,每个成员实体v
i
的加密模块mcr被配置为盲获得私有组密钥
94.在这里描述的实施例中,每个成员实体v
i
的加密模块mcr被配置为通过使用该私
有组密钥来生成消息的签名σ
i
,这些签名包括轨迹t
i

95.验证设备dv被配置为验证匿名签名σ
i
是否符合匿名签名方案siga2。其执行验证算法,该验证算法输入消息msg、签名σ
i
和组的公共密钥pk
g
。其确定签名σ
i
是否有效。
96.在这里描述的实施例中,验证设备dv包括通信部件com和加密模块mcr。
97.验证设备dv的通信模块com被配置为获得匿名签名σ
i
,使得σ
i
=(w,w

,c1,t,ph

i
)。
98.验证设备dv的加密模块mcr被配置为在以下情况下确定消息msg的匿名签名σ
i
有效:
99.‑
100.‑
101.‑


i
有效;以及
102.‑
103.在这里描述的实施例中,撤销实体的加密模块mcr被配置为执行稍后参考图5描述的用于解除签名的匿名性的方法。
104.图2以流程图的形式图示了根据本发明的用于生成组密钥的方法的主要步骤。
105.在步骤e2期间,管理实体的加密模块mcr随机地抽取z
p
的三个值x0、x1。
106.在步骤e4期间,管理实体的加密模块mcr计算的加密模块mcr计算
107.在步骤e6期间,管理实体的加密模块mcr构成密钥对,其中:
108.‑
私有密钥由已经随机地抽取的三个值构成;以及
109.‑
公共密钥由在步骤e4计算的元素构成:
[0110][0111]
在步骤e8期间,管理实体的加密模块mcr生成用于证明其知道与其公共密钥相关联的私有密钥的零知识证明pπ2。。
[0112]
在步骤f2期间,每个撤销实体的加密模块mcr随机地抽取zp的值该随机值构成撤销实体的私有密钥,用于解除签名的匿名性。
[0113]
在步骤f4期间,撤销实体的加密模块mcr依次计算与该私有密钥相关联的公共密钥p
j
。更准确地,在这里描述的实施例中:
[0114]

撤销实体计算并证明其知道与其公共密钥相关联的私有密钥,换句话说,知道以x1为基数的p1的离散对数。
[0115]

撤销实体计算并证明其知道与其公共密钥相关联的私有密钥,换句话说,知道以p1为基数的p2的离散对数。
[0116]

撤销实体(对于t≥j≥2)计算并证明其知道与其公共密钥相关联的私有密钥,换句话说,知道以p
j
‑1为基数的p
j
的离散对数。
[0117]
在步骤f6期间,当所有的撤销实体已经计算了其公共密钥p
j
时,撤销实体的加密模块mcr构成组的公共密钥其包括从每个撤销实体的私有密钥获得的轨迹生成器与公共组密钥相关联的私有密钥是
[0118]
在这里描述的实施例中,每个成员实体v
i
具有数字签名算法的独特标识符以及私有、公共密钥对(sk
i
,pk
i
),公共密钥pk
i
已经由认可的认证实体(例如由管理实体)所认证。可用于此目的的数字签名算法的示例有:rsa、dsa、ecdsa、......。
[0119]
为了获得其私有组密钥,成员实体v
i
与管理实体交互。在步骤g2期间,成员实体v
i
的加密模块mcr随机地抽取值x
i
∈z
p
并计算应当注意,私有组密钥是由成员实体根据仅由其知道的其私有密钥xi
i
获得的。
[0120]
然后其生成零知识证明pπ
i
,即其知道以x1为基数的c
i
的离散对数x
i
:在文档claus

peter schnorr的“智能卡的有效识别和签名(efficient identification and signature for smart cards)”(密码学的理论与应用,斯普林格,1989)中提供了这种证明的示例。
[0121]
在步骤g4期间,成员实体v
i
的加密模块对c
i
生成签名生成签名其中sk
i
表示v
i
的私有密钥。成员实体v
i
然后将这三个值c
i
、pπ
i
、传送到管理实体
[0122]
在步骤e10期间,管理实体的加密模块mcr验证c
i
≠1并且签名和证明pπ
i
均是有效的。
[0123]
如果是这种情况,则在步骤e12期间,管理实体的加密模块mcr生成z
p
的两个随机值b和x

,并计算以及(u,u’)对,其中u=h
b
并且并且其证明(u,u’)对已被一致地计算,尤其是根据私有密钥x0和x1:
[0124][0125]
在步骤e14期间,管理实体的加密模块mcr向成员实体v
i
传送e、u、u’和证明pπ3。
[0126]
在步骤g6期间,成员实体v
i
的加密模块验证u≠1,并且证明pπ3是有效的。如果这两个验证是结论性的,则在步骤g7期间,成员实体v
i
的加密模块对c
i
和e生成签名其中sk
i
指定成员实体v
i
的私有密钥。
[0127]
在步骤g75期间,成员实体v
i
向管理实体传送签名
[0128]
在步骤e13期间,管理实体验证签名是有效的,并且如果是这种情况,则
向成员实体v
i
传送x’。
[0129]
管理实体保持寄存器reg包含该组的每个成员实体v
i
的以下值:
[0130]
pk
i
和和其中n表示正式注册的成员的数目。
[0131]
在步骤g8期间,成员实体v
i
验证并构成其私有组密钥(如果该验证是结论性的)。该私有组密钥由三元组构成,其中s
i
=x
i
+x

mod p。
[0132]
在具体实施例中,轨迹生成器p
t
被周期性地(每小时、每天、每月开始等)更新。为此,撤销实体更新其私有密钥并根据先前描述的生成方法重新计算对应的轨迹生成器p
t
是足够的。
[0133]
在具体实施例中,轨迹生成器p
t
特定于给定服务。通常,可以针对特定的选举生成轨迹生成器p
t
。对于新的选票,撤销实体必须计算新的私有密钥以从中推导新的轨迹生成器p

t

[0134]
图3以流程图的形式图示了根据本发明的签名方法的主要步骤。该签名方法利用了匿名签名方案siga2。该方案利用了根据消息msg、成员实体的公共组密钥pk
g
和私有组密钥来产生消息msg的签名σ
i
的算法。
[0135]
根据匿名签名方案siga2,为了用其私有组密钥时消息msg∈{0,1}
*
进行匿名签名,成员实体v
i
的加密模块mcr在步骤h2期间随机地抽取值l∈z
p
。在步骤h4,t计算值w=u
l
,并且在步骤h6,计算值w

=(u

)
l

[0136]
在步骤h8期间,成员实体v
i
的加密模块mcr计算值和轨迹和轨迹从轨迹生成器pt计算的、成员实体v
i
的私有组密钥的元素si的该轨迹t
i
不依赖于消息msg。换句话说,轨迹t
i
构成成员实体v
i
发送的签名的不变量。
[0137]
成员实体v
i
证明以w为基数的c1的离散对数与以p
t
为基数的t
i
的离散对数相同:
[0138]
在这里描述的本发明的实施例中,证明pп

i
是(c,r)对,其中:
[0139]

z是由成员实体v
i
抽取的z
p
的随机值;
[0140]

t1=w
z

[0141]

[0142]

[0143]

r=z

cs
i mod p
[0144]
如果则该证明是有效的。
[0145]
在步骤h10期间,成员实体v
i
的加密模块mcr生成消息msg的匿名签名σ
i
,匿名签名σ
i
由以下五个元素构成:(w,w

,c1,t
i
,pπ

i
)。其包括追踪由成员实体v
i
发送的所有签名的轨迹t
i

[0146]
图4以流程图的形式图示了可用于本发明的匿名签名的验证方法的主要步骤。该方法由图1的验证设备dv执行。其执行输入消息msg、签名σ
i
和组的公共密钥pk
g
的验证算法。
其确定签名σ
i
是否有效。
[0147]
在步骤k2期间,匿名签名的验证设备获得匿名签名σ
i
=(w,w

,c1,t
i
,pπ

i
)。
[0148]
在步骤k4期间,验证设备在以下情况下认为消息msg的匿名签名σ
i
是有效的:
[0149]

[0150]

[0151]



i
有效;以及
[0152]

[0153]
图5以流程图的形式图示了用于解除消息msg的有效签名σ
i
=(w,w

,c1,t
i
,π

i
)的匿名性的方法的主要步骤。此方法只能由撤销实体来执行。其利用了以下算法,该算法输入消息msg、签名σ
i
、组的公共密钥pk
g
a和撤销机构的私有密钥并返回成员实体v
i
的身份以及证明v
i
是此签名σ
i
的真实作者。
[0154]
在步骤z2期间,每个撤销实体获得消息msg的匿名签名σ
i

[0155]
在步骤z4期间,撤销机构依次计算其中t0=t
i

[0156]
换句话说:
[0157]

计算并证明即以t
i
为基数的t1的离散对数等于以p1为基数的x1的离散对数。
[0158]

计算并证明即以t1为基数的t2的离散对数等于以p2为基数的p1的离散对数。
[0159]

(对于t≥j≥2)计算并证明以t
j
‑1为基数的t
j
的离散对数等于以p
j
为基数的p
j
‑1的离散对数。
[0160]
这里要指出的是,只能存在一个单一撤销实体。
[0161]
如果撤销机构产生的所有证明都有效,则:
[0162][0163]
在步骤z6期间,撤销机构向管理实体传送t
t
和所有证明
[0164]
在步骤z8期间,管理实体在其寄存器reg中检索对应于c

i
:的条目。
[0165]
在步骤z10期间,管理实体反过来向作为解除匿名性的申请者的撤销实体提供标识符证明以及c
i
、c

i
、x

、pk
i
和如果所有证明都是有效的,如果并且如果签名是有效的,则管理实体认为标识符为的成员实体v
i
是消息msg的签名σ
i
的真实作者。
[0166]
当该服务是电子投票时,根据通过执行该方法获得的标识符来编制投票列表是可能的。
[0167]
本发明的第二实施例的描述
[0168]
匿名签名方案siga2可被具体用于实现电子投票解决方案。
[0169]
图6图示了根据本发明的投票系统电子sve2。该系统包括用于生成匿名签名方案siga2的密钥的系统sgc和根据本发明的组的成员实体v
i
。其还包括验证设备dv。
[0170]
在此实施例中,组的成员实体v
i
是投票者实体。
[0171]
在此实施例中,用于生成密钥的系统sgc包括注册实体和组织实体同时,每个实体充当组的管理实体和组的撤销实体。应当理解,这是说明性示例,并且在其他示例中,归因于不同实体的角色分布可以是不同的。注册实体和组织实体中的每一个包括通信模块com和加密模块mcr。注册实体和组织实体中的每一个还包括注册模块erg,该注册模块erg被配置为在该组中注册至少一个投票者实体v
i

[0172]
因此,在本发明的此实施例中,投票者实体同时向注册实体和组织实体注册。该实施例将组管理员的角色在两个实体之间反复(reprise),以防止单一实体能够创建虚假的投票者实体。
[0173]
根据本发明,投票者实体v
i
包括通信模块com和匿名签名设备dsa。
[0174]
投票者实体v
i
的设备dsa包括注册模块erg,其被配置为向注册实体注册投票者实体v
i

[0175]
在这里描述的实施例中,每个撤销实体的加密模块mcr被配置为计算撤销密钥对,其中私有密钥可用于撤销符合所述方案siga2的匿名签名的匿名性,并且根据该撤销密钥对的公共密钥计算轨迹生成器。
[0176]
每个投票者实体v
i
的设备dsa包括加密模块mcr,该加密模块mcr被配置为通过使用该轨迹生成器来生成轨迹该轨迹t
i
相对于由投票者实体根据方案siga2生成的匿名签名σ
i
是不变的。
[0177]
在这里描述的实施例中,每个投票者实体v
i
的加密模块mcr被配置为盲获得私有组密钥(在下文中记为si)。
[0178]
在这里描述的实施例中,每个投票者实体v
i
的加密模块mcr被配置为通过使用私有组密钥来生成消息的签名σ
i
,这些签名包括轨迹t
i

[0179]
验证设备dv被配置为验证匿名签名σ
i
是否符合匿名签名方案siga2。其执行输入消息msg、签名σ
i
和组的公共密钥pk
g
的验证算法。其确定签名σ
i
是否有效。
[0180]
在这里描述的实施例中,验证设备dv包括通信部件com和加密模块mcr。
[0181]
通信模块com能够获得匿名签名σ
i
,使得σ
i
=(w,w

,c1,t
i
,pπ

i
)。
[0182]
加密模块mcr被配置为在以下情况下确定消息msg的匿名签名σ
i
有效:
[0183]

[0184]

[0185]

pп

i
有效;以及
[0186]

[0187]
在这里描述的实施例中,撤销实体的加密模块mcr被配置为执行稍后参考图10描述的用于解除签名的匿名性的方法。
[0188]
图7以流程图的形式图示了根据本发明的此实施例的用于生成投票者实体的密钥的方法。
[0189]
在步骤ve2期间,组织实体的加密模块mcr随机地抽取z
p
的四个值在该实施例中,是由组织实体用于解除投票者实体的匿名性的私有密钥。
[0190]
在步骤ve4期间,组织实体的加密模块mcr计算的加密模块mcr计算
[0191]
在步骤ve6期间,组织实体的加密模块mcr构成密钥对,其中:
[0192]

私有密钥由已经随机地抽取的四个值构成;并且
[0193]

公共密钥由在步骤ve4计算的元素构成:由在步骤ve4计算的元素构成:
[0194]
在步骤ve8期间,组织实体的加密模块mcr通过生成如下定义的零知识证明,来生成其知道与其公共密钥相关联的私有密钥的证明成其知道与其公共密钥相关联的私有密钥的证明成其知道与其公共密钥相关联的私有密钥的证明
[0195]
注册实体以同样的方式进行。
[0196]
在步骤ve2期间,注册实体的加密模块mcr随机地抽取z
p
的四个值在该实施例中,是注册实体用于解除投票者实体的匿名性的私有密钥。
[0197]
在步骤ve4期间,注册实体的加密模块mcr计算的加密模块mcr计算
[0198]
在步骤ve6期间,注册实体的加密模块mcr构成密钥对,其中:
[0199]

私有密钥由已经随机地抽取的四个值构成;以及
[0200]

公共密钥由在步骤ve4计算的元素构成:由在步骤ve4计算的元素构成:
[0201]
在步骤ve8期间,注册实体的加密模块mcr生成其知道与其公共密钥相关联的私有密钥的证明vapπ2。该证明定义如下:
[0202][0203]
在步骤vf4期间,组织实体和注册实体的加密模块mcr在已公开其公共密钥和后,各自针对其部分计算轨迹生成器后,各自针对其部分计算轨迹生成器
[0204]
在步骤vf6期间,当所有撤销实体(尤其是本实施例中的注册实体和组织实体)已经计算了其公共密钥时,这些撤销实体计算组的公共密钥pk
g
。其包括从这些撤销实
体和的私有密钥获得的轨迹生成器
[0205]
其中其中并且
[0206]
与公共组密钥相关联的私有密钥是:
[0207][0208]
在该实施例中,每个投票者实体v
i
具有数字签名算法的独特标识符以及私有、公共密钥对(sk
i
,pk
i
),公共密钥pk
i
已经由认可的认证实体(例如由注册实体和组织实体)先前认证。
[0209]
在这里描述的实施例中,为了获得其私有组密钥,投票者实体v
i
必须与管理实体和组织实体交互。在步骤vg2期间,成员实体v
i
的加密模块mcr随机地抽取值xi∈zp并计算然后其生成零知识证明vepπ
i
,即其知道以x1为基数的ci的离散对数
[0210]
在步骤vg4期间,投票者实体v
i
的加密模块mcr对c
i
生成签名生成签名其中sk
i
指定v
i
的私有密钥。投票者实体v
i
然后将这三个值c
i
、vepπ
i
、传送到管理实体和组织实体
[0211]
在步骤ve10期间,管理实体的加密模块mcr和组织实体的加密模块mcr验证c
i
≠1并且签名和证明ph
i
均是有效的。
[0212]
如果是这种情况,则在步骤ve12期间,管理实体的加密模块mcr和组织实体的加密模块mcr联合地生成z
p
的两个随机值b和x

,并计算,并计算以及(u,u’)对,其中u=h
b
并且其证明了(u,u’)对已被一致地计算,尤其是根据私有密钥x0和x1:
[0213][0214]
需要指出的是,为了联合地生成值(例如值x’),管理实体和组织实体可以利用已知的分布式加密技术。例如,管理实体(相应地,组织实体)随机生成z
p
的值(相应地,z
p
的),并计算(相应地,)。
[0215]
这给出了其中
[0216]
在该实施例中,在步骤ve14期间,管理实体或组织实体的加密模块mcr向投票者实体v
i
传送e、u、u’和证明vepπ3。作为变型,这些值由管理实体和组织实体发送,并且投票者实体v
i
验证从两个实体知接收的值是相同的。
[0217]
在步骤vg6期间,投票者实体v
i
的加密模块验证u≠1,并且证明voapπ3是有效的。如果这两个验证是结论性的,则在步骤vg7期间,投票者实体vi的加密模块对c
i
和e生成签名其中sk
i
表示投票者实体v
i
的私有密钥。在步骤vg75期间,投票者实体v
i
向管理实体和组织实体传送签名
[0218]
在步骤ve13期间,管理实体和组织实体验证签名是有效的,并且如米是这种情况,则管理实体向投票者实体v
i
传送x’。
[0219]
管理实体保持寄存器reg(未示出)包含该组的每个成员实体v
i
的以下值:
[0220]
id
i
,pk
i
和和其中n表示正式注册的投票者实体的数目。
[0221]
在步骤vg8期间,投票者实体v
i
验证并构成其私有组密钥(如果该验证是结论性的)。该私有组密钥由三元组构成,其中s
i
=x
i
+x

mod p。应当注意,所述私有组密钥是由成员实体根据其独自知道的私有密钥xi
i
所获得的。
[0222]
图8以流程图的形式图示了根据本发明的该实施例的投票方法的主要步骤。
[0223]
根据匿名签名方案siga2,为了用其私有组密钥对任何消息msg∈{0,1}
*
进行匿名签名,投票者实体v
i
的加密模块mcr在步骤vh2期间随机地抽取值l∈z
p
,并计算(步骤vh4)值w=u
l
(步骤vh6)以及值w

=(u

)
l

[0224]
在一票的非提名多数投票(one

ballotuninominalmajoritypoll)的情况下,消息可以由投票者实体的投票(可选地以加密的形式)构成,对其的加密可以通过使用公共密钥来计算,其私有密钥将在被配置为执行对投票的计数的几个评估者实体之间共享。
[0225]
在步骤vh8期间,投票者实体v
i
的加密模块mcr计算值和轨迹从轨迹生成器pt计算的、投票者实体v
i
的私有组密钥的元素si的该轨迹t
i
不依赖于消息msg。换句话说,轨迹t
i
构成了投票者实体v
i
发送的签名的不变量。
[0226]
投票者实体v
i
证明以w为基数的c1的离散对数与以p
t
为基数的t
i
的离散对数相同:
[0227]
在这里描述的本发明的实施例中,证明pπ

i
是(c,r)对,其中:
[0228]

z是由成员实体v
i
抽取的z
p
的随机值;
[0229]

t1=w
z

[0230]

[0231]

[0232]

r=z

cs
i mod p
[0233]
如果则该证明是有效的。
[0234]
在步骤vh10期间,投票者实体v
i
的加密模块mcr生成消息msg的匿名签名σ
i
,匿名签名σ
i
由以下五个元素构成:(w,w

,c1,t
i
,pп

i
)。其包括追踪由投票者实体v
i
发送的所有签名的轨迹t
i

[0235]
图9以流程图形式图示了根据本发明的匿名签名的验证方法的主要步骤。
[0236]
在步骤vk2期间,匿名签名的验证设备获得匿名签名σ
i
=(w,w

,c1,t
i
,vepπ

i
)。
[0237]
在步骤vk4期间,在以下情况下认为消息msg的匿名签名σ
i
是有效的:
[0238]

[0239]

[0240]

vepπ

i
有效;以及
[0241]

[0242]
图10以流程图的形式图示了根据本发明的第二实施例的用于解除消息msg的有效签名σ
i
=(w,w

,c1,t
i
,π

i
)的匿名性的方法的主要步骤。该方法由注册实体和组织实体执行。
[0243]
在步骤vz2期间,这些实体和中的每一个都获得签名σ
i

[0244]
在步骤vz4期间,实体和依次计算其中t0=t
i

[0245]

计算并证明即以t
i
为基数的t1的离散对数等于以p1为基数的x1的离散对数。
[0246]

计算并证明即以t1为基数的t2的离散对数等于以p2为基数的p1的离散对数。
[0247]
如果撤销机构产生的所有证明都有效,则:
[0248][0249]
在该实施例中,在步骤vz6期间,组织实体向注册实体传送证明
[0250]
在步骤vz8期间,注册实体在其寄存器reg中检索对应于c

i
:的条目。
[0251]
在步骤vz10期间,注册实体返回标识符证明和以及c
i
、c

i
、x

、pk
i
和如果所有证明都是有效的,如果并且如果签名是有效的,则注册实体认为包括标识符为的投票者实体v
i
是消息msg的签名σ
i
的真实作者。
[0252]
在这里描述的实施例中,管理实体撤销实体组织实体注册实体验证设备dv、成员或投票者实体具有诸如图11中示意性所示的计算机ord的硬件架构。
[0253]
计算机ord具体包括处理器7、死存储器8、活存储器9、非易失性存储器10和通信部件com。这些通信部件com特别允许不同的实体彼此通信。它们可以包括一个或多个电信网络上的一个或多个通信接口(固定或移动、有线或无线等)。
[0254]
计算机ord的死存储器8构成了根据本发明的记录介质,其可由处理器读取,并且在其上登记了根据本发明的计算机程序(这里通常用prog表示),该计算机程序包括用于执行形成本发明主题的方法中的一个的指令。因此:
[0255]

对于管理实体程序prog是程序prog1,其包括用于执行根据本发明的用于生成密钥的方法的步骤e2至e12、以及根据本发明的用于解除匿名性的方法的步骤z8至z10的指令,
[0256]

对于撤销实体程序prog是程序prog1,其包括用于执行根据本发明的用于生成密钥的方法的步骤f2至f6、以及根据本发明的用于解除匿名性的方法的步骤z2至z6的指令,
[0257]

对于组织实体程序prog是程序prog2,其包括用于执行根据本发明的用于生成密钥的方法的步骤ve2至ve12、以及根据本发明的用于解除匿名性的方法的步骤vz2至vz6的指令,
[0258]

对于注册实体程序prog是程序prog3,其包括用于执行根据本发明的用于生成密钥的方法的步骤ve2至ve12、以及根据本发明的用于解除匿名性的方法的步骤vz2至vz10的指令,
[0259]

对于验证设备dv,程序prog是程序prog4,其包括用于执行根据本发明的签名验证方法的步骤k2至k4或vk2至vk4的指令,
[0260]

对于成员实体v
i
,程序prog是程序prog5,其包括用于执行根据本发明的用于生成密钥的方法的步骤g2至g8或vg2至vg8、根据本发明的签名方法的步骤h2至h10或vh2至vh10的指令。
[0261]
以同样的方式,这些程序中的每一个都定义了设备或者其上安装了该设备的模块的功能模块,其能够执行相关方法的步骤,并且基于计算机ord的硬件元件7

10。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1