生成针对消息的签名的方法和装置以及验证这种签名的方法和装置的制作方法

文档序号:7734571阅读:107来源:国知局
专利名称:生成针对消息的签名的方法和装置以及验证这种签名的方法和装置的制作方法
技术领域
本发明总体上涉及密码术,更具体地涉及不依赖于随机预言的在线/离线签名方案。
背景技术
本节旨在向读者介绍与以下描述和/或要求保护的本发明的各个方面有关的现 有技术的各个方面。相信此处的讨论有助于向读者提供背景知识,以便读者能够更好的理 解本发明的各个方面。因此,应当理解的是应该据此阅读这些说明,而不应将其视为对现有 技术的认可。在线/离线签名方案允许数字签名的2-阶段生成。在获知要签名的消息之前,可 以执行成本较高的计算;这是离线阶段。一旦获知该消息,则在在线阶段中执行相对快速的 计算。本领域技术人员将理解,限制时间型的应用(例如,电子支付,或者在驶向自动收费 亭时)需要这种特性,并且不具有太多计算资源的低成本设备也需要这种特性。在"On the Fly Authentication and Signature Schemes Based On Groups of Unknown Order,,Journal of Cryptology, 19(4) :463-487, 2006 中,M. Girault、G. Poupard 和J. Stern提出了被称作GPS方案的在线/离线签名方案。该方案的缺陷在于,其安全保 障在于随机预言模型。由 B. ChevalIier-Mames 禾口 M. Joye 在M.Abe (编辑)的"A Practical and Tightly Secure Signature Scheme Without Hash Function,,,Topics in Crypto 1 οgy-CT-RSA 2007, volume 4377 of Lecture Notes in Computer Science, pages 399—356, Springer-Verlag,2007中提出了标准模型中的一种在线/离线签名方案(即,不依赖于随 机预言)。这种方案的缺陷在于,其参数、公钥和私钥的大小,以及作为结果的签名的大小 (在离线和在线阶段皆如此)。此外,应当注意,签名大小的增大导致计算、存储和传输的效 率损耗。K. Kurosawa 和 K. Schmidt-Samoa 在 M. Yung 等人的"New On-line/Off-line Signature Schemes Without Random Oracles,,,Public Key Cryptography-PKC 2006, volume 3958 of Lecture Notes in Computer Science, pages 330—346, Springer-Verlag, 2006中提出了标准模型中的另一种在线/离线签名方案。这种方案的缺 陷在于,在线阶段涉及模乘法,其比整数乘法成本更高。Marc Joye 禾口 Hung-Mei Lin 在"On the TYS Signature Scheme,,中提出了其他在 线/离线签名方案。这些方案是原始形式和修改后形式的Tan-Yi-Siew(TYS)签名方案。原始TYS方案首先生成公钥和私钥。选择两个随机素数ρ = 2p’+l和q = 2q’+l, 其中,P和q’是素数,并且,10 p’q’ >2I+l,N = pq。选择Zjv中的两个二次剩余g和x, 使得g的秩是P’q’。最后,选择随机I比特整数z,并计算h = g_zmod N。公钥是pk = {g, h,χ, N},并且私钥是sk = {p,q,z}。m表示要签名的消息。随机挑选出I比特整数k和I比特素数e,并且计算以下值y= (Xg^k)1/6 mod N、c = H(pk,y,m)和t = k+cz。则与消息 m相关的签名是σ = (t,y,e)。然而,作者发现TYS方案是完全不安全的,并因此提供了修 改的方案。修改的方案利用四个安全参数(IN、IH、Ie和Ικ),它们满足Ie彡IH+2和Ik > > IN+IH。修改的方案首先生成公钥和私钥。选择两个随机素数P = 2p’ +1和q = 2q’ +1,其 中,P’和q’是等长的素数,使得N = pq的长度为、。随机选择ZIv中的两个二次剩余g和 X0最后,针对随机整数ζ modp' q’计算h = g_zmod N。公钥仍是pk = {g,h,χ, Ν},私钥 是sk= {p,q,z}。m表示要签名的消息。随机挑选出Ik比特整数t和Ie比特素数e,并且 计算以下值-.1 = (Xg^t)1/6 mod N、c = H(pk,m)和k = t+cz。则与消息m相关的签名是σ =(k,y,e)。如将理解的,这主要改变了一些参数的长度,但是这事实上确实提供了 TYS方 案所缺乏的安全性。然而,可以被看作Camenishch-Lysyanskaya签名方案的变型的该修改 方案仍需要相当多的计算,并且提供十分长的签名。例如,典型参数长度(IN = 1024,Ih = 160,Ie = 162,和 Ik = 1344),针对 1024 比特 RSA 模数,给出 1344+1024+162 = 2530 比特 的签名长度。因此,可以理解,需要一种提供在线/离线数字签名的改善的解决方案。本发明提 供了这样的解决方案。

发明内容
在第一方面中,本发明涉及一种用于生成针对消息m的签名O的方法。获得三个 整数y、e、t,它们满足y = (Xg^t)1/e mod N,其中,c取决于e,并且χ、g和N是公钥的元素, χ和g是乙;;中的二次剩余,N是IN比特整数;计算签名σ的第一部分k,其中,k的计算包 括m与Iz比特整数ζ的整数乘法,以及与t的加法;以及,输出签名0,签名ο包括至少三 个值k、y和e。k、e、z、N和h(h是公钥的整数元素)的长度分别表示为IK、IE、Iz、In和IH, 针对给定值b满足以下关系,其中该关系表示c和e之间的关系IN ^ 2(IE+2);b(IE_l)彡 Ικ+1 ;以及ΙΝ-4 彡 Ik >> ΙΖ+ΙΗ。在第一优选实施例中,e是素数,c等于e的正整数b次幂。使用e的b次幂使得 更短的签名成为可能。在第二优选实施例中,N是包括至少两个素数ρ和q的RSA模数。有利的是,ρ = 2ρ,+1和q = 2q,+1,其中,ρ,和q,是素数。在第三优选实施例中,通过生成素数e和整数t来获得三个值y、e、t ;以及计算y =(xg_t)1/c mod N。在第四优选实施例中,从存储在存储器中的票据获得三个值y、e、t。在第五优选实施例中,在获得三个值y、e、t与计算签名的第一部分k的步骤之间, 接收消息m。在第六优选实施例中,输出具有签名σ的消息m。在第二方面中,本发明涉及一种用于验证消息m的签名σ的方法,所述签名是由 根据本发明第一方面的方法所生成的。验证yegkhmEX(mod N),其中,c取决于e,并且h是公钥的元素。在第七优选实施例中,还验证e是奇数。在第十优选实施例中,还验证e是Ie比特整数,k是Ik比特整数。在第三方面中,本发明涉及一种用于生成针对消息m的签名σ的设备。签名设备 包括处理器,适于获得三个整数y、e、t,它们满足y= (xg-t) Vemod N,其中,c取决于e,并 且x、g和N是公钥的元素,是Zjv*的二次剩余,N是IN比特整数;以及计算签名ο的 第一部分k,其中,k的计算包括111与Iz比特整数ζ的整数乘法,以及与t的加法。签名设 备还包括输出单元,适于输出签名σ,签名ο包括至少三个值k、y和e。k、e、z、N和h(h 是公钥的整数元素)的长度分别表示为IK、IE、Iz、In和ΙΗ,针对给定值b满足以下关系,其 中该关系表示c和e之间的关系In ^ 2 (Ie+2);b(IE_l)彡 Ικ+1 ;以及ΙΝ-4 彡 Ik >> ΙΖ+ΙΗ。在第四方面中,本发明涉及一种用于验证消息m的签名σ的设备,所述签名是由 根据本发明第一方面的方法所生成的。验证设备包括处理器,适于验证y^-ExOnod N),其中,c取决于e,并且h是公钥的元素。在第五方面中,本发明涉及一种存储指令的计算机程序支持,当在处理器中执行 时,所述指令执行本发明第一方面的对消息m进行签名的方法。在第六方面中,本发明涉及一种存储指令的计算机程序支持,当在处理器中执行 时,所述指令执行本发明的第二方面的验证消息m的签名σ的方法。


现在将参照附图,描述作为非限制示例的本发明的优选特征,在附图中图1示出了根据本发明优选实施例的用于生成针对消息m的数字签名以及验证该 数字签名的方法;图2示出了根据本发明优选实施例的用于生成至少一个数字签名的单元;以及图3示出了根据本发明优选实施例的用于验证消息m的数字签名的单元。在图2和3中,所示出的模块是纯功能实体,其不一定与物理上分离的实体相对 应。可以将这些功能实体实现为硬件、软件或软件和硬件的组合;此外,这些功能实体可以 在一个或更多集成电路中实现。
具体实施例方式如上所述,在线/离线签名方案具有离线阶段和在线阶段,离线阶段在接收要签 名的消息之前执行(但是自然也可以在接收之后执行),在线阶段在一旦获知消息m时就执 行。本领域技术人员将理解,消息m可以是较长消息的摘要。离线阶段的第一部分是密钥生成。首先,生成两个随机素数ρ和q。优选地,ρ = 2p’ +1和q = 2q’ +1,其中,ρ’和q’是等长的素数,使得N = pq的长度为IN。然后,选择 乙;;中的两个随机二次剩余g和χ。最后,针对Iz比特整数z,计算h = g^mod N。则公钥pk 是{g,h,χ, N},并且私钥 sk 是{p, q,ζ}。
离线阶段的第二部分是计算签名的离线部分y。选择随机Ik比特整数t和随机Ie 比特素数e。则如下计算离线签名部分y:y = (xg-t)1/ebmodN其中,b是签名方案中预定的大于0的整数。现在,该方案准备用于接收要签名的消息m;m e M,其中,M表示消息空间 M = {0,1}Ih,也可以将其视为在区间0,2Ih -1中的整数集合。然后可以如下计算签名的在线 部分k:k = t+mz并且与消息m相关的签名是σ = (k,y,e)。有利地,在传输之前,验证签名的在线部分k是、比特整数;如果不是,优选地基 于其他值生成另一签名。本方案的优点在于,可以在无需散列法的情况下执行在线阶段。然后返回签名ο来进行验证;如果需要,还提供公钥,并且此外也可以提供消息 m。当且仅当以下情况,接受与消息m相关的签名σ = (k,y,e)1. e是Ie比特奇整数,2. k是Ik比特整数,以及3. yebgkhm = χ (modN) o在该方案中,参数IK、IE、Iz、In和ΙΗ(后者表示输入消息m的最大比特长度)针对 预定值b应当满足以下关系In ^ 2(Ie+2);b(IE_l)彡 Ικ+1 ;以及IN-4 > Ik >> ΙΖ+ΙΗ。应当注意到,值b也是可变的,在这种情况下,值b可以是公钥pk的一部分,或者 包括在签名σ中。应当理解,上述关系不是随机选择的,并且这些关系也不是本领域技术人员所能 做出的修改,这是由于本领域技术人员没有动机提出这些特定关系。毕竟,如关于TYS方案 所示,签名方案是微妙的,并且不能轻易进行对签名方案的修改。这些关系使得对方案安全 性的保障成为可能,可以将其称作本发明的有创造性的重要部分。示例性地,典型值Ih = 160,In = 1024,Iz = 160,Ik = 380,Ie = 128 和 b = 3,对 于IOM比特RSA模数,给出了仅1532比特的签名。图1示出了根据本发明优选实施例的用于生成针对消息m的数字签名以及验证该 数字签名的方法。流程图示出了上文中的过程。在步骤110中,生成公钥pk和私钥sk。然 后在步骤120中生成数字签名的离线部分y。一旦在步骤130中接收到消息m,则可以计算 在线部分k,并将其用于在步骤140中生成完整的数字签名σ。在步骤150中发送数字签 名σ和公钥,并且在步骤160中验证数字签名ο。图2示出了根据本发明优选实施例的用于生成至少一个数字签名的单元210。数 字签名单元210包括输入单元230,适于接收要签名的消息m ;以及输出单元M0,适于发 送数字签名σ。输出单元240可以适于发送用于签名的公钥pk。输出单元240也可以适 于与相应数字签名ο —起或分离地发送消息m(以及公钥pk,根据具体情况而定)。应当理解,可以将输入单元230和输出单元240组合为输入/输出单元(未示出)。数字签名单元210还包括至少一个处理器220(下文中被称作“处理器”),适于 执行用于生成针对接收到的消息m的数字签名的计算。数字签名单元还包括存储器250, 适于存储计算所必需的数据。本领域技术人员将理解,数字签名单元210能够存储一定数量的所谓的票据 (coupon),S卩,预先计算的离线签名部分。还应当理解,可以例如在制造期间由在数字签名 单元210外部的源来提供这种票据,在这种情况下,输入单元230 (或者另一适合的单元;未 示出)适于接收这种票据。本领域技术人员应当理解,数字签名单元210还能够生成其签名的消息m。在这种 情况下,输出单元240还有利地适于发送消息m。图2还示出了存储指令的计算机程序支持260 (例如,示例⑶-ROM),当在处理器 220中执行时,所述指令执行上述对消息m进行签名的方法。图3示出了根据本发明优选实施例的用于验证消息m的数字签名的单元310。验 证单元310包括输入330,适于接收数字签名ο,以及如果需要则适于接收用于签名的公 钥pk。应当理解,验证单元310可以拥有与数字签名单元相对应的一定数量的公钥。验证 单元310还包括输出单元340,适于输出接收到的数字签名ο是否正确的信息。验证单 元310还可以包括用于发送要签名的消息m的单元(可以包括在输出单元340中)。输入 单元330还可以适于与相应数字签名σ —起或分离地接收消息m(以及公钥pk,根据具体 情况而定)。验证单元310还包括至少一个处理器320(下文中被称作“处理器”),适于执行 验证数字签名σ所必需的计算;以及存储器350,适于存储验证消息m所必需的数据,具体 地,存储消息m本身。图3还示出了存储指令的计算机程序支持360 (例如,示例⑶-ROM),当在处理器 320中执行时,所述指令执行如上所述的验证签名消息m的签名ο的方法。可以将说明书(适当的地方)和权利要求以及附图中所公开的每个特征以独立或 者以任何适当组合的方式来加以提供。还可以将被描述为以硬件实现的特征用软件来实 现,并且反之亦然。可以将连接(可应用的地方)实现为无线连接或有线连接(不一定是 直接的或专用的)。应当理解,在说明书和权利要求中,应当将表述“随机”视为“随机或伪随机”。权利要求中出现的引用标号仅是示意性的,其不应对权利要求的范围起到限制性作用。
权利要求
1.一种用于生成针对消息m的签名σ的方法,所述方法包括以下步骤-获得(110、120)三个整数y、e、t,它们满足y = (xg^)1/c mod N,其中,c取决于e,并且χ、g和N是公钥的元素,χ和g是工;;中的二次剩余,N是In比特整数;-计算(140)签名σ的第一部分k,其中,k的计算包括m与Iz比特整数ζ的整数乘 法,以及与t的加法;以及-输出(150)所述签名σ,所述签名σ包括至少三个值k、y和e, 其中,k、e、ζ、N和h的长度分别表示为IK、IE、Iz、In和IH,h是所述公钥的整数元素,针 对给定值b满足以下关系,其中该关系表示c和e之间的关系 In ≥ 2(Ie+2); b (Ie-I)≥ Ικ+1 ;以及 ΙΝ-4 ≥ ΙΚ>>ΙΖ+ΙΗ。
2.根据权利要求1所述的方法,其中,e是素数,c等于e的正整数b次幂。
3.根据前述权利要求中任一项所述的方法,其中,N是包括至少两个素数ρ和q的RSA 模数。
4.根据权利要求3所述的方法,其中,ρ= 2p’ +1和q = 2q’ +1,其中,ρ和q’是素数。
5.根据前述权利要求中任一项所述的方法,其中,获得(120)三个值y、e、t的步骤包 括以下步骤-生成素数e和整数t;以及 -计算 y = (Xg^t)1/c mod N。
6.根据权利要求1所述的方法,其中,从存储在存储器(250)中的票据获得所述三个值 y、e、t0
7.根据前述权利要求中任一项所述的方法,还包括在所述获得步骤(120)与所述计 算步骤(140)之间接收(130)所述消息m的步骤。
8.根据前述权利要求中任一项所述的方法,其中,所述输出步骤(150)还包括输出所 述消息m。
9.一种用于验证消息m的签名σ的方法,所述签名是由根据前述权利要求中任一项所 述的方法生成的,所述验证方法包括以下步骤-验证(Ieo)yW^ χ (mod N),其中,c取决于e,并且h是所述公钥的元素。
10.根据权利要求9所述的方法,还包括验证(160)e是奇数的步骤。
11.根据权利要求9或10所述的方法,还包括验证(160)e是Ie比特整数以及k是Ik 比特整数的步骤。
12.一种用于生成针对消息m的签名σ的设备010),所述签名设备包括 -处理器(220),适于-获得三个整数y、e、t,它们满足y = (Xg-tPe mod N,其中,c取决于e,并且χ、g和N 是公钥的元素,χ和g是Z;/中的二次剩余,N是In比特整数;以及-计算签名σ的第一部分k,其中,k的计算包括m与Iz比特整数ζ的整数乘法,以及 与t的加法;以及-输出单元040),适于输出所述签名ο,所述签名ο包括至少三个值k、y和e,其中,k、e、z、N和h的长度分别表示为IK、IE、Iz、In和IH,h是公钥的整数元素,针对给 定值b满足以下关系,其中该关系表示c和e之间的关系 In ^ 2(IE+2); b (Ie-I)彡 Ικ+1 ;以及 ΙΝ-4 彡 ΙΚ>>ΙΖ+ΙΗ。
13.一种用于验证消息m的签名σ的设备(310),所述签名是由根据权利要求1-8中 任一项所述的方法生成的,所述验证设备包括处理器(320),适于-验证yegkhm ^ χ (mod N),其中,c取决于e,并且h是所述公钥的元素。
14.一种存储指令的计算机程序支持060),当在处理器中执行时,所述指令执行权利 要求1-8中任一项所述的对消息m进行签名的方法。
15.一种存储指令的计算机程序支持(360),当在处理器中执行时,所述指令执行权利 要求9-11中任一项所述的验证消息m的签名σ的方法。
全文摘要
本发明提供了一种用于生成针对消息m的签名σ的方法,该方法使得在线/离线签名成为可能。生成两个随机素数,p和q,其中,N=pq;在中选择两个随机二次剩余g和x,对于整数z,计算h=g mod N。这给出了公钥{g,h,x,N}和私钥{p,q,z}。然后,选择整数t和素数e。则可以根据方程(I)计算离线签名部分y,其中,b是签名方案中预确定的大于0的整数。然后根据k=t+mz计算与消息m相关的签名的在线部分k,根据σ=(k,y,e)生成与消息m相关的签名σ,并返回。为了验证该签名,检查1)e是奇数IE比特整数,2)k是IK比特整数,以及3)方程(II)。该方法的优点在于,可以在无需散列法的情况下执行。本发明还提供了签名设备(210)、验证设备(310)、以及计算机程序支持(260;360)。
文档编号H04L9/32GK102057620SQ200980121388
公开日2011年5月11日 申请日期2009年6月2日 优先权日2008年6月9日
发明者马克·乔伊 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1