首页> 中国专利> 民主群签名的生成、验证、追踪方法和民主群签名系统

民主群签名的生成、验证、追踪方法和民主群签名系统

摘要

本发明涉及一种民主群签名的生成、验证、追踪方法和民主群签名系统。所述民主群签名的生成方法包括所有群成员根据可信中心生成的公开参数,生成公钥和私钥;签名成员根据所述公开参数和所有群成员的公钥,执行对秘密值的(t,n)秘密共享,得到秘密共享数据,其中,t为所述所有群成员个数的下限值,n为所述所有群成员的个数;所述签名成员根据所述签名成员的私钥、所述秘密值、所述公开参数和所有群成员的公钥,生成对消息的数字签名;所述签名成员发送所述消息的民主群签名,所述民主群签名包括所述秘密共享数据和所述数字签名。本发明可以提供宽严适度、可以定制的追踪能力。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-06

    授权

    授权

  • 2012-03-28

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20100715

    实质审查的生效

  • 2012-02-01

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,尤其涉及一种民主群签名的生成、验证、 追踪方法和民主群签名系统。

背景技术

近年来,计算机网络技术和通信技术的发展带动了组通信技术的迅速 发展,基于组通信技术的应用系统也不断涌现,群体用户如何在不安全信 道上实现满足相应安全属性的通信,就成为了不可避免的问题,面向多方 参与的群体密码协议自然成为了群体通信的技术保证。认证性是密码学研 究的重要课题之一,主要通过数字签名技术实现,随着应用需求的广泛延 伸,传统的面向两方参与的数字签名体制正在朝面向多方参与的群体签名 体制扩展。

一般地,一个群体可能呈现出不同的结构、形式和权利,各个成员之 间存在复杂的关系,因此群体安全服务的实施比对个人安全服务的实施更 为复杂。群签名就是一种特殊的数字签名体制,一个群签名方案一般包含 一个群管理者和若干群成员,他们一起构成的集合称为群。群管理者负责 产生系统参数、群公钥、群私钥,同时要为群成员产生签名私钥或是群成 员身份证书,群成员用自己掌握的签名私钥代表整个群体进行匿名签名; 验证者只能验证签名是由群体中的某个成员签的,但不能确定是哪个成员, 此即群签名的匿名性;在发生争端的情况下群管理者可以打开签名来揭露 签名成员的身份,使得签名成员不能否认自己的签名行为,此即群签名的 追踪性。群签名是一种同时提供匿名性和可追踪性的技术,其匿名性可为 合法用户提供匿名保护,其可追踪性又使得可信机构可以追踪违法行为。

群签名的概念于1991年提出,自从群签名的概念出现以来,研究者基 于不同的困难假设构造了许多群签名体制。然而,这些体制均存在一个共 同的不足:系统必须使用一个可信的群管理者才可实现追踪性。一旦这个 集权式的群管理者不可信,整个系统的安全性无从保障。

针对上述不足,2006年提出了民主群签名的概念,在一个民主群签名 体制中不存在群管理者,仅由若干个成员一起构成群,群中任意成员可以 利用自己的私钥代表该群产生群签名,在发生争端的情况下,群中任一成 员可以对给定的民主群签名执行追踪操作,以揭露产生该签名的真正群成 员的身份,但群体中任一成员都能够执行追踪操作,这是一个非常宽松的 要求,很容易带来滥用追踪能力等问题。2009年又提出一种具有群体追踪 性的民主群签名方案,在该方案中,给定一个民主群签名,所有群成员一 起协作可以恢复出签名成员的真实身份,但是民主群签名的群体追踪性需 要所有群成员均参与进来,这个要求过于严格。

发明内容

本发明提供一种民主群签名的生成、验证、追踪方法和民主群签名系 统,用以实现提供宽严适度、可以定制的追踪能力。

本发明提供一种民主群签名的生成方法,包括:

所有群成员根据可信中心生成的公开参数,生成公钥和私钥;

签名成员根据所述公开参数和所有群成员的公钥,执行对秘密值的(t, n)秘密共享,得到秘密共享数据,其中,t为所述所有群成员个数的下限 值,n为所述所有群成员的个数;

所述签名成员根据所述签名成员的私钥、所述秘密值、所述公开参数 和所有群成员的公钥,生成对消息的数字签名;

所述签名成员发送所述消息的民主群签名,所述民主群签名包括所述 秘密共享数据和所述数字签名。

本发明还提供一种民主群签名的验证方法,包括:

接收并解析消息的民主群签名,得到秘密共享数据和对所述消息的数 字签名;

根据所有群成员的公钥和可信中心生成的公开参数,验证所述秘密共 享数据;

当所述秘密共享数据有效时,根据所有群成员的公钥和所述公开参数, 验证所述数字签名。

本发明还提供一种民主群签名的追踪方法,包括:

t个签名验证者接收并解析消息的民主群签名,得到秘密共享数据和 对所述消息的数字签名;

所述t个签名验证者根据所有群成员的公钥和可信中心生成的公开参 数,验证所述秘密共享数据,当所述秘密共享数据有效时,所述t个签名 验证者根据所有群成员的公钥和所述公开参数,验证所述数字签名;

当所述数字签名有效时,根据所述t个签名验证者的私钥和所述秘密 共享数据,重构秘密值,任一签名验证者根据所述秘密值和所述数字签名, 获取签名成员的公钥,t为所有群成员个数的下限值。

本发明还提供一种民主群签名的生成装置,包括:

密钥生成模块,用于所有群成员根据可信中心生成的公开参数,生成 公钥和私钥;

秘密共享数据生成模块,用于签名成员根据所述公开参数和所有群成 员的公钥,执行对秘密值的(t,n)秘密共享,得到秘密共享数据,其中, t为所述所有群成员个数的下限值,n为所述所有群成员的个数;

数字签名生成模块,用于所述签名成员根据所述签名成员的私钥、所 述秘密值、所述公开参数和所有群成员的公钥,生成对所述消息的数字签 名;

民主群签名发送模块,用于所述签名成员发送所述消息的民主群签名, 所述民主群签名包括所述秘密共享数据和所述数字签名。

本发明还提供一种民主群签名的验证装置,包括:

民主群签名解析模块,用于接收并解析消息的民主群签名,得到秘密 共享数据和对所述消息的数字签名;

秘密共享数据验证模块,用于根据所有群成员的公钥和可信中心生成 的公开参数,验证所述秘密共享数据;

数字签名验证模块,用于当所述秘密共享数据有效时,根据所有群成 员的公钥和所述公开参数,验证所述数字签名。

本发明还提供一种民主群签名的追踪装置,包括:

民主群签名解析模块,用于t个签名验证者接收并解析消息的民主群 签名,得到秘密共享数据和对所述消息的数字签名;

民主群签名验证模块,用于所述t个签名验证者根据所有群成员的公 钥和可信中心生成的公开参数,验证所述秘密共享数据,当所述秘密共享 数据有效时,所述t个签名验证者根据所有群成员的公钥和所述公开参数, 验证所述数字签名;

签名成员获取模块,用于当所述数字签名有效时,根据t个签名验证 者的私钥和所述秘密共享数据,重构秘密值,任一签名验证者根据所述秘 密值和所述数字签名,获取签名成员的公钥,t为所有群成员个数的下限 值。

本发明还提供一种民主群签名系统,包括民主群签名的生成装置、民 主群签名的验证装置和民主群签名的追踪装置,其中:

所述民主群签名的生成装置用于所有群成员根据可信中心生成的公开 参数,生成公钥和私钥;签名成员根据所述公开参数和所有群成员的公钥, 执行对秘密值的(t,n)秘密共享,得到秘密共享数据,其中,t为所述所 有群成员个数的下限值,n为所述所有群成员的个数;所述签名成员根据 所述签名成员的私钥、所述秘密值、所述公开参数和所有群成员的公钥, 生成对消息的数字签名;所述签名成员发送所述消息的民主群签名,所述 民主群签名包括所述秘密共享数据和所述数字签名;

所述民主群签名的验证装置用于接收并解析消息的民主群签名,得到 秘密共享数据和对所述消息的数字签名;根据所有群成员的公钥和可信中 心生成的公开参数,验证所述秘密共享数据;当所述秘密共享数据有效时, 根据所有群成员的公钥和所述公开参数,验证所述数字签名;

所述民主群签名的追踪装置用于t个签名验证者接收并解析消息的民 主群签名,得到秘密共享数据和对所述消息的数字签名;所述t个签名验 证者根据所有群成员的公钥和可信中心生成的公开参数,验证所述秘密共 享数据,当所述秘密共享数据有效时,所述t个签名验证者根据所有群成 员的公钥和所述公开参数,验证所述数字签名;当所述数字签名有效时, 根据所述t个签名验证者的私钥和所述秘密共享数据,重构秘密值,任一 签名验证者根据所述秘密值和所述数字签名,获取签名成员的公钥,t为 所有群成员个数的下限值。

在本发明中,在一个由n个群成员构成的群体中,给定某个民主群签 名,仅当不少于t个群成员一起协作计算才能够追踪出产生该民主群签名的 签名成员的真实身份,从而避免了追踪能力滥用的可能性,亦避免了群体 追踪性的过于严格的要求,提供了宽严适度的追踪能力,另外,不同的应 用系统可以根据安全需要自适应地定制门限值t的大小。

附图说明

图1为本发明民主群签名的生成、验证和追踪方法第一实施例中民主 群签名的生成方法的流程示意图;

图2为本发明民主群签名的生成、验证和追踪方法第一实施例中民主 群签名的验证方法的流程示意图;

图3为本发明民主群签名的生成、验证和追踪方法第一实施例中民主 群签名的追踪方法的流程示意图;

图4为本发明民主群签名系统实施例的结构示意图;

图5为本发明民主群签名的生成装置第一实施例的结构示意图;

图6为本发明民主群签名的验证装置第一实施例的结构示意图;

图7为本发明民主群签名的追踪装置第一实施例的结构示意图。

具体实施方式

下面结合说明书附图和具体实施方式对本发明作进一步的描述。

在下述所有实施例中,n个成员构成一个群体U,群体 U={ID1,ID2,...,IDn},其中,n为大于或等于1的自然数,IDi为群成员的身份, i=1,2,…,n。

民主群签名的生成、验证和追踪方法第一实施例

本实施例提供一种民主群签名的生成方法,如图1所示,为本发明民 主群签名的生成、验证和追踪方法第一实施例中民主群签名的生成方法的 流程示意图,可以包括如下步骤:

步骤11、所有群成员IDi生成公钥和私钥;

具体地,可信中心生成的公开参数,由所有群成员共享,群成员IDi根 据可信中心生成的公开参数,生成公钥和私钥,其中,公钥在可信中心处 注册并公开,私钥由群成员自己秘密保存,可信中心及各个群成员均可以 视为处理或联合处理特定操作步骤的计算机或节点;

步骤12、签名成员IDk执行秘密共享;

具体地,1≤k≤n,群体U中的某一个群成员IDk作为签名成员代表群体 U对消息产生民主群签名,签名成员IDk根据公开参数和所有群成员的公 钥,执行对秘密值的(t,n)秘密共享,得到秘密共享数据,其中,t为所 有群成员个数的下限值,n为所有群成员的个数,该秘密共享数据公开可 验证;

步骤13、签名成员IDk生成对消息的数字签名;

具体地,签名成员IDk根据签名成员的私钥、秘密值、公开参数和所有 群成员的公钥,生成对消息的数字签名;

步骤14、签名成员IDk发送消息的民主群签名;

具体地,该民主群签名为一个二元组,包括秘密共享数据和数字签名。

本实施例还提供一种民主群签名的验证方法,如图2所示,为本发明 民主群签名的生成、验证和追踪方法第一实施例中民主群签名的验证方法 的流程示意图,可以包括如下步骤:

步骤21、签名接收者解析民主群签名;

具体地,签名接收者接收到群体U对消息生成的民主群签名后,解析 该民主群签名,得到秘密共享数据和对消息的数字签名;

步骤22、签名接收者验证秘密共享数据是否有效,若秘密共享数据有 效,执行步骤23,若秘密共享数据无效,结束流程;

具体地,签名接收者根据所有群成员的公钥和可信中心生成的公开参 数,验证秘密共享数据;

步骤23、签名接收者验证数字签名是否有效,若数字签名有效,执行 步骤24,若数字签名无效,结束流程;

具体地,当签名接收者验证秘密共享数据有效时,签名接收者根据所 有群成员的公钥和公开参数,验证数字签名。

步骤24、签名接收者接受该民主群签名。

本实施例还提供一种民主群签名的追踪方法,用于在签名成员的身份 发生争端的情况下,由群体U中若干个群成员协作交互,恢复出产生该民 主群签名的签名成员的身份,该若干个群成员成为签名验证者,签名验证 者的个数为t,t为所有群成员个数的下限值。如图3所示,为本发明民主 群签名的生成、验证和追踪方法第一实施例中民主群签名的追踪方法的流 程示意图,可以包括如下步骤:

步骤31、t个签名验证者解析民主群签名;

具体地,t个签名验证者接收并解析消息的民主群签名,得到对秘密 共享数据和对消息的数字签名;

步骤32、t个签名验证者验证民主群签名是否有效,若民主群签名有 效,执行步骤33,若民主群签名无效,结束流程;

具体地,签名验证者根据所有群成员的公钥和可信中心生成的公开参 数,验证秘密共享数据,当秘密共享数据有效时,根据所有群成员的公钥 和公开参数,验证数字签名,该过程与图2中步骤22-24相同,在此不再 赘述;

步骤33、任一签名验证者获取签名成员的公钥;

具体地,当t个签名验证者验证数字签名有效时,t个签名验证者根据 t个签名验证者的私钥和秘密共享数据,重构秘密值,任一签名验证者根 据秘密值和数字签名,获取签名成员的公钥。

在本实施例中,在一个由n个群成员构成的群体中,给定某个民主群 签名,仅当不少于t个群成员一起协作计算才能够追踪出产生该民主群签名 的签名成员的真实身份,从而避免了追踪能力滥用的可能性,亦避免了群 体追踪性的过于严格的要求,提供了宽严适度的追踪能力,另外,不同的 应用系统可以根据安全需要自适应地定制门限值t的大小。

民主群签名的生成、验证和追踪方法第二实施例

本实施例提供一种民主群签名的生成方法,该方法的流程示意图与图 1所示流程示意图相同,下面详细介绍图1所示流程示意图中各个步骤。

在步骤11中,可信中心生成的公开参数包括G、q、g、h和H,其中, q是长为λ比特的素数,λ为预设的安全参数,G为q阶乘法循环群,g和h为 G上的任意两个生成元,H:{0,1}*→Zq为密码学意义上安全的哈希函数,H将 {0,1}*映射到Zq,其中,Zq={0,1,...,q-1}。群成员IDi选取随机数xi∈Zq作为私 钥,计算作为其公钥,群成员IDi将自己的公钥公开注册于可 信中心以便其他群成员可以在可信中心处检索。

在步骤12中,群体U中的每个群成员均有权以群体的名义对任意消息 m产生民主群签名,例如:合资企业的某个成员要代表合资企业发布支付 现金命令,签名成员IDk以秘密分发者的身份执行一个公开可验证的秘密共 享方案,实现对秘密值hs的(t,n)秘密分发,具体可以包括如下步骤:

步骤121、签名成员IDk在集合Zq中选择随机数s,wi,1≤i≤n和一个Zq上 常数项为s的t-1次随机多项式满足条件α0=s,签名成员IDk计算并广播自己对该多项式的承诺,即1≤j≤t-1,利用这些 承诺值计算i=1,2,...,n其中,τ0=τ;

步骤122、为使得群成员最终能够恢复出秘密值hs,该签名成员IDk计 算多项式值p(i)并用该值加密第i个成员的公钥,即计算并公布 ηi=yip(i),1≤i≤n;

步骤123、签名成员IDk利用所选择的随机数、所有群成员的公钥及公 开参数计算利用所选择的哈希函数计算哈希值 e=H(χ1,...,χn,η1,...,ηn,a11,...,an1,a12,...,an2),并由该哈希值和多项式值获得响应 值ri=wi-p(i)e,1≤i≤n;

步骤123、签名成员IDk置秘密共享数据share=(τ,τ1,...,τt-1,η1,...,ηn,e,r1,...,rn)。

签名成员对不同的消息执行民主群签名操作时,需要使用不同的随机 数s以便在群体U中分发不同的秘密值hs

通过上述步骤121-123,任何人在收到秘密共享数据share后都能够确 信秘密分发者是正确地产生了其输出结果,秘密分发者要想欺骗秘密接收 者接受一个假秘密值在计算上是不可行的。

步骤13可以包括如下步骤:

步骤131、签名成员IDk使用公开参数、自己的公钥和私钥以及共享的 秘密值计算c=hsyk

步骤132、签名成员IDk选择随机数rk,zi,ρi∈Zq,i=1,2,...,n,i≠k,并计算承 诺值和挑战值 zk=rkk(s+xk),签名成员IDk置数字签名sig=(c,ρ1,...,ρn,z1,...,zn)。

签名成员在群体U中分发的秘密值hs以及其中的随机数s在签名过程 中均被使用到,对不同的消息执行签名时使用的整数s应该是随机的,否 则公开可验证的秘密共享数据与签名成员使用自己的私钥计算数字签名就 是相互孤立开来的,这容易带来潜在攻击。

在步骤131-132中,签名成员以自己的私钥和群体U中所有成员的公 钥计算出数字签名sig,这种方法使得任意签名接收者获得数字签名sig后 能够确信是群体U产生了该签名,但是要想精确知晓群体U中哪个成员产 生了数字签名sig在计算上是不可行的。由于签名成员在计算中使用了自己 的私钥,而这个私钥只有他自己才知道,所以不知道该私钥的人无法产生 这样的数字签名。

本实施例还提供一种民主群签名的验证方法,该方法的流程示意图与 图2所示流程示意图相同,下面详细介绍图2所示流程示意图中各个步骤。

在步骤21中,秘密共享数据share=(τ,τ1,...,τt-1,η1,...,ηn,e,r1,...,rn),数字签名 sig=(c,ρ1,...,ρn,z1,...,zn)。

在步骤22中,验证秘密共享数据是否有效:签名接收者利用签名成员 对多项式的承诺值计算其中,τ0=τ,进而重构 最后检查等式e=H(χ1,...,χn,η1,...,ηn,a11,...,an1,a12,...,an2)是 否成立,若等式成立,则秘密共享数据有效,若等式不成立,则秘密共享 数据无效。

在步骤23中,验证数字签名是否有效:签名接收者利用所有群成员的 公钥重构承诺值i=1,2,...,n,最后检查等式 是否成立,若等式不成立,则数字签名无效,拒绝该 民主群签名,若等式成立,则数字签名有效,接受该民主群签名。

任意签名接收者均可以判定上述民主群签名生成方法中输出的民主群 签名是否确实是由群体U中的某个群成员代表整个群体U产生的。但是, 由于在这一验证过程中群体U中所有成员的地位都是对称的,所以,签名 接收者并不能确切知道群体U中的哪一个成员产生了这个民主群签名,这 正是本方案能够提供签名者匿名性的原因。

本实施例还提供一种民主群签名的追踪方法,该方法的流程示意图与 图3相同,下面详细介绍图3所示流程示意图中各个步骤。

在步骤31中,秘密共享数据share=(τ,τ1,...,τt-1,η1,...,ηn,e,r1,...,rn),数字签名 sig=(c,ρ1,...,ρn,z1,...,zn)。

在步骤32中,验证秘密共享数据是否有效:t个签名验证者利用签名 成员对多项式的承诺值计算其中,τ0=τ,进而重构 最后检查等式e=H(χ1,...,χn,η1,...,ηn,a11,...,an1,a12,...,an2)是 否成立,若等式成立,则秘密共享数据有效,若等式不成立,则秘密共享 数据无效。验证数字签名是否有效:t个签名验证者利用所有群成员的公 钥重构承诺值i=1,2,...,n,最后检查等式是否成立,若等式不成立,则数字签名无效,若等式成立,则数字签名有 效。

在步骤33中,t个签名验证者IDi(i=1,...,t)利用自己的私钥为输入计算并 公布t个签名验证者IDi(i=1,...,t)根据t个签名验证者IDi(i=1,...,t)广播 的数据ξi执行拉格朗日插值运算,即计算i=1,...,t,重构出由 签名成员分发的秘密值t个签名验证者IDi(i=1,...,t)中任一签名验 证者利用该秘密值执行解密运算并恢复出签名成员的身份;该解密运算指 的是t个签名验证者IDi(i=1,...,t)中的任一成员都可以利用恢复出的秘密值的 逆元μ-1与密文c做乘积运算y=cμ-1,在群体U={ID1,ID2,...,IDn}中查找公钥等 于y的群成员即为产生该民主群签名的真正签名成员。

在本实施例中,在一个由n个群成员构成的群体中,给定某个民主群 签名,仅当不少于t个群成员一起协作计算才能够追踪出产生该民主群签名 的签名成员的真实身份,从而避免了追踪能力滥用的可能性,亦避免了群 体追踪性的过于严格的要求,提供了宽严适度的追踪能力,另外,不同的 应用系统可以根据安全需要自适应地定制门限值t的大小。

另外,本实施例不需要集权式的群管理者,只由所有群成员一起构成 一个群体,所有群成员之间的地位都是对称的,从而消除了集权式的实体; 本实施例中,签名成员的私钥xk只有签名成员IDk自己掌握,不知道私钥的 人无法产生合法的民主群签名,所以群体外的用户无法产生该群体的民主 群签名;在本实施例中,签名成员产生的民主群签名中含有对自己身份的 加密hsyk,如果他加密的是错误的身份信息,则签名无法通过验证,所以 避免群体中的任一成员假冒群体中的其他成员产生一个有效的民主群签 名。

民主群签名系统实施例

如图4所示,为本发明民主群签名系统实施例的结构示意图,可以包 括民主群签名的生成装置41、民主群签名的验证装置42和民主群签名的 追踪装置43,民主群签名的生成装置41与民主群签名的验证装置42连接, 民主群签名的追踪装置43与民主群签名的验证装置42和民主群签名的生 成装置41连接。

民主群签名的生成装置41用于所有群成员根据可信中心生成的公开 参数,生成公钥和私钥;签名成员根据公开参数和所有群成员的公钥,执 行对秘密值的(t,n)秘密共享,得到秘密共享数据,其中,t为所有群成 员个数的下限值,n为所有群成员的个数;签名成员根据签名成员的私钥、 秘密值、公开参数和所有群成员的公钥,生成对消息的数字签名;签名成 员发送消息的民主群签名,民主群签名包括秘密共享数据和数字签名。

民主群签名的验证装置42用于接收并解析消息的民主群签名,得到秘 密共享数据和对消息的数字签名;根据所有群成员的公钥和可信中心生成 的公开参数,验证秘密共享数据;当秘密共享数据有效时,根据所有群成 员的公钥和公开参数,验证数字签名。

民主群签名的追踪装置43用于t个签名验证者接收并解析消息的民主 群签名,得到秘密共享数据和对消息的数字签名;t个签名验证者根据所 有群成员的公钥和可信中心生成的公开参数,验证秘密共享数据,当秘密 共享数据有效时,t个签名验证者根据所有群成员的公钥和公开参数,验 证数字签名;当数字签名有效时,根据t个签名验证者的私钥和秘密共享 数据,重构秘密值,任一签名验证者根据秘密值和数字签名,获取签名成 员的公钥,t为所有群成员个数的下限值。

在本实施例中,在一个由n个群成员构成的群体中,给定某个民主群 签名,仅当不少于t个群成员一起协作计算才能够追踪出产生该民主群签名 的签名成员的真实身份,从而避免了追踪能力滥用的可能性,亦避免了群 体追踪性的过于严格的要求,提供了宽严适度的追踪能力,另外,不同的 应用系统可以根据安全需要自适应地定制门限值t的大小。

民主群签名的生成装置第一实施例

如图5所示,为本发明民主群签名的生成装置第一实施例的结构示意 图,可以包括密钥生成模块411、秘密共享数据生成模块412、数字签名生 成模块413和民主群签名发送模块414。秘密共享数据生成模块412与密 钥生成模块411连接,数字签名生成模块413与秘密共享数据生成模块412 和密钥生成模块411连接,民主群签名发送模块414与密钥生成模块411 和秘密共享数据生成模块412连接。

其中,密钥生成模块411用于所有群成员根据可信中心生成的公开参 数,生成公钥和私钥。秘密共享数据生成模块412用于签名成员根据公开 参数和所有群成员的公钥,执行对秘密值的(t,n)秘密共享,得到秘密 共享数据,其中,t为所有群成员个数的下限值,n为所有群成员的个数。 数字签名生成模块413用于签名成员根据签名成员的私钥、秘密值、公开 参数和所有群成员的公钥,生成对消息的数字签名。民主群签名发送模块 414用于签名成员发送消息的民主群签名,民主群签名包括秘密共享数据 和数字签名。

民主群签名的验证装置第一实施例

如图6所示,为本发明民主群签名的验证装置第一实施例的结构示意 图,可以包括民主群签名解析模块421、秘密共享数据验证模块422和数 字签名验证模块423。秘密共享数据验证模块422与民主群签名解析模块 421连接,数字签名验证模块423与秘密共享数据验证模块422连接。

民主群签名解析模块421用于接收并解析消息的民主群签名,得到秘 密共享数据和对消息的数字签名。秘密共享数据验证模块422用于根据所 有群成员的公钥和可信中心生成的公开参数,验证秘密共享数据。数字签 名验证模块423用于当秘密共享数据有效时,根据所有群成员的公钥和公 开参数,验证数字签名。

民主群签名的追踪装置第一实施例

如图7所示,为本发明民主群签名的追踪装置第一实施例的结构示意 图,可以包括民主群签名解析模块431、民主群签名验证模块432和签名 成员获取模块433,民主群签名验证模块432与民主群签名解析模块431 连接,签名成员获取模块433与民主群签名验证模块432和民主群签名解 析模块431连接。

民主群签名解析模块431用于t个签名验证者接收并解析消息的民主 群签名,得到秘密共享数据和对消息的数字签名。

民主群签名验证模块432用于t个签名验证者根据所有群成员的公钥 和可信中心生成的公开参数,验证秘密共享数据,当秘密共享数据有效时, t个签名验证者根据所有群成员的公钥和公开参数,验证数字签名。

签名成员获取模块433用于当数字签名有效时,根据t个签名验证者 的私钥和秘密共享数据,重构秘密值,任一签名验证者根据秘密值和数字 签名,获取签名成员的公钥,t为所有群成员个数的下限值。

民主群签名的生成装置第二实施例

在本实施例中,民主群签名的生成装置的结构示意图与图5相同,在 上一实施例的基础上,可信中心生成的公开参数包括G、q、g、h和H,其 中,q是长为λ比特的素数,λ为预设的安全参数,G为q阶乘法循环群,g和 h为G上的任意两个生成元,H:{0,1}*→Zq为密码学意义上安全的哈希函数, H将{0,1}*映射到Zq,其中,Zq={0,1,...,q-1}。

在本实施例中,在密钥生成模块411中,群成员IDi选取随机数xi∈Zq作 为私钥,计算作为其公钥,群成员IDi将自己的公钥公开注册 于可信中心以便其他群成员可以在可信中心处检索。

在秘密共享数据生成模块412中,群体U中的某一个群成员IDk作为签 名成员代表群体U对消息m产生民主群签名,1≤k≤n,例如:合资企业的 某个成员要代表合资企业发布支付现金命令,签名成员IDk以秘密分发者的 身份执行一个公开可验证的秘密共享方案,实现对秘密值hs的(t,n)秘密分 发,具体地,签名成员IDk在集合Zq中选择随机数s,wi,1≤i≤n和一个Zq上常 数项为s的t-1次随机多项式满足条件α0=s,签名成员IDk计 算并广播自己对该多项式的承诺,即1≤j≤t-1,利用这些承 诺值计算i=1,2,...,n,其中,τ0=τ;为使得群成员最终能够恢复出秘 密值hs,该签名成员IDk计算多项式值p(i)并用该值加密第i个成员的公钥, 即计算并公布ηi=yip(i),1≤i≤n;签名成员IDk利用所选择的随机数、所有群 成员的公钥及公开参数计算利用所选择的哈希函数计算 哈希值e=H(χ1,...,χn,η1,...,ηn,a11,...,an1,a12,...,an2),并由该哈希值和多项式值获 得响应值ri=wi-p(i)e,1≤i≤n;签名成员IDk置秘密共享数据share=(τ,τ1,...,τt-1, η1,...,ηn,e,r1,...,rn)。

在数字签名生成模块413中,签名成员IDk使用公开参数、自己的公钥 和私钥以及共享的秘密值计算c=hsyk;签名成员IDk选择随机数 rk,zi,ρi∈Zq,i=1,2,...,n,i≠k,并计算承诺值和挑战值 zk=rkk(s+xk),签名成员IDk置数字签名 sig=(c,ρ1,...,ρn,z1,...,zn)。

民主群签名的验证装置第二实施例

在本实施例中,民主群签名的验证装置与图6所示结构示意图相同, 在上一实施例的基础上,民主群签名解析模块421解析出的秘密共享数据 share=(τ,τ1,...,τt-1,η1,...,ηn,e,r1,...,rn),数字签名sig=(c,ρ1,...,ρn,z1,...,zn)。秘密共享数 据验证模块422利用签名成员对多项式的承诺值计算i=1,2,...,n,其 中,τ0=τ,进而重构最后检查等式 e=H(χ1,...,χn,η1,...,ηn,a11,...,an1,a12,...,an2)是否成立,若等式成立,则秘密共 享数据有效,若等式不成立,则秘密共享数据无效。数字签名验证模块423 利用所有群成员的公钥重构承诺值i=1,2,...,n,最后检查等式 是否成立,若等式不成立,则数字签名无效,若等式 成立,则数字签名有效。

民主群签名的追踪装置第二实施例

在本实施例中,民主群签名的追踪装置与图7所示结构示意图相同, 在上一实施例的基础上,在民主群签名解析模块431中,秘密共享数据 share=(τ,τ1,...,τt-1,η1,...,ηn,e,r1,...,rn),数字签名sig=(c,ρ1,...,ρn,z1,...,zn)。

在民主群签名验证模块432中,t个签名验证者利用签名成员对多项 式的承诺值计算其中,τ0=τ,进而重构最后检查等式e=H(χ1,...,χn,η1,...,ηn,a11,...,an1,a12,...,an2)是否成立,若等式成 立,则秘密共享数据有效,若等式不成立,则秘密共享数据无效。验证数 字签名是否有效:t个签名验证者利用所有群成员的公钥重构承诺值 i=1,2,...,n,最后检查等式是否成立,若 等式不成立,则数字签名无效,若等式成立,则数字签名有效。

在签名成员获取模块433中,t个签名验证者IDi(i=1,...,t)利用自己的私 钥为输入计算并公布t个签名验证者IDi(i=1,...,t)根据t个签名验证 者IDi(i=1,...,t)广播的数据ξi执行拉格朗日插值运算,即计算 i=1,...,t,重构出由签名成员分发的秘密值t个签名 验证者IDi(i=1,...,t)中任一签名验证者利用该秘密值执行解密运算并恢复出签 名成员的身份;该解密运算指的是t个签名验证者IDi(i=1,...,t)中的任一成员 都可以利用恢复出的秘密值的逆元μ-1与密文c做乘积运算y=cμ-1,在群体 U={ID1,ID2,...,IDn}中查找公钥等于y的群成员即为产生该民主群签名的真 正签名成员。

在本发明实施例中,在一个由n个群成员构成的群体中,给定某个民 主群签名,仅当不少于t个群成员一起协作计算才能够追踪出产生该民主群 签名的签名成员的真实身份,从而避免了追踪能力滥用的可能性,亦避免 了群体追踪性的过于严格的要求,提供了宽严适度的追踪能力,另外,不 同的应用系统可以根据安全需要自适应地定制门限值t的大小。

另外,本发明实施例不需要集权式的群管理者,只由所有群成员一起 构成一个群体,所有群成员之间的地位都是对称的,从而消除了集权式的 实体;本发明实施例中,签名成员的私钥xk只有签名成员IDk自己掌握,不 知道私钥的人无法产生合法的民主群签名,所以群体外的用户无法产生该 群体的民主群签名;在本发明实施例中,签名成员产生的民主群签名中含 有对自己身份的加密hsyk,如果他加密的是错误的身份信息,则签名无法 通过验证,所以避免群体中的任一成员假冒群体中的其他成员产生一个有 效的民主群签名。

本发明所述的技术方案并不限于具体实施方式中所述的实施例。本领 域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明 的技术创新范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号