电子签名系统的制作方法_2

文档序号:9602807阅读:来源:国知局
[0034] 在一个实施例中,数字签名包括至少两个单变量签名多项式,并且签名验证器被 配置为对签名执行另一测试。
[0035] 签名验证器被配置为通过以下方式验证至少两个单变量签名多项式之间的一致 性:针对至少两个单变量签名多项式的第一特定单变量签名多项式和第二特定单变量签名 多项式,将与第一特定签名多项式相对应的散列值代入第二特定签名多项式,获得第一代 入结果,将与第二特定签名多项式相对应的散列值代入第一特定签名多项式,获得第二代 入结果,验证第一一致性结果与第二一致性结果相匹配,其中签名验证设备需要匹配来验 证数字签名。
[0036] 该测试验证签名是否一致且来自相同的私钥材料。该测试不仅自己验证与数字数 据的链路,而且显著地降低攻击者提供伪造签名的机率。通过以上给出的第一测试的伪造 签名可能却在一致性测试中失败。
[0037]为了执行两种测试,需要至少两个不同的单变量签名多项式,因此需要两个散列。 当至少两个单变量签名多项式和至少一个承诺整数和对应的公有多项式可用时,公有多项 式上的两次签名验证是可能的,并且签名多项式上一次验证。
[0038]作为在不同环上相加的多项式结果,两个代入结果不需要准确地相等以相匹配。 然而,两个代入结果相互接近。给定一个代入结果,针对第二代入结果仅存在有限可能性。 可能性的准确数目取决于如何选择参数;具体地,归约整数的私有集合1和公有全局归约 整数N。其还取决于保留系数的多少比特。
[0039] 以下测试可以用于查明两个代入结果是否匹配。签名验证器可以被配置为:通过 验证乘数的存在,使得第一代入结果的预定数量的最低有效位加上乘数乘以公有全局归约 整数等于第二代入结果的预定数量的最低有效位,来验证匹配。签名验证器还可以被配置 为:通过验证乘数的存在,使得第二代入结果的预定数量的最低有效位加上乘数乘以公有 全局归约整数等于第一代入结果的预定数量的最低有效位,来验证匹配。
[0040] 密钥生成、签名生成和签名验证设备是电子设备,具体地,它们可以是移动电子设 备,例如移动电话、机顶盒、计算机。
[0041] 本发明的一个方面涉及一种密钥生成、签名生成和签名验证的方法。
[0042] 根据本发明的方法可以在计算机上作为计算机实现方法、在专用硬件中或在两者 的组合中实现。针对根据本发明的方法的可执行代码可以存储在计算机程序产品上。计算 机程序产品的示例包括:存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选 地,计算机程序产品包括在计算机可读介质上存储的用于当所述程序产品在计算机上运行 时执行根据本发明的方法的非暂时性性程序代码装置。
[0043] 在优选实施例中,计算机程序包括:计算机程序代码装置,其适于当计算机程序在 计算机上运行时,执行根据本发明的方法的所有步骤。优选地,计算机程序实现在计算机可 读介质上。
[0044] 提供了一种电子签名系统,包括:电子密钥生成设备,用于生成用于对数字数据进 行数字签名的数字签名密钥和用于对所述数字签名数据进行数字验证的对应验证密钥;电 子签名生成设备,用于使用从电子密钥生成设备获得的数字签名密钥来生成用于数字数据 的数字签名;以及电子签名验证设备,用于验证由电子签名生成设备生成的数字签名。验证 器可以访问承诺整数和根据私钥材料推导的对应多项式,使得能够实现推导自相同私有密 钥化材料的签名多项式的验证。
【附图说明】
[0045] 发明的这些和其他方面从下文所描述的实施例中是显而易见的,并且将参考下文 所描述的实施例进行阐明。在附图中, 图la是签名系统的示意性框图, 图lb是公钥生成器120的细节的示意性框图, 图2是集成电路400的示意性框图, 图3是密钥生成方法500的示意性流程图, 图4是签名生成方法600的示意性流程图, 图5是签名验证方法700的不意性流程图。
[0046] 应当注意的是,在不同附图中具有相同附图标记的项具有相同的结构特征和相同 的功能或是相同的信号。在已经解释了这种项的功能和/或结构的情况下,不必须在详细 描述中对其进行重复解释。
【具体实施方式】
[0047] 尽管本发明能有许多不同形式的实施例,在附图中示出并将在本文中详细描述一 个或更多个特定实施例,将理解本公开内容将被认为是本发明的原理的示例,而不旨在将 本发明限制于所示出的和所描述的特定实施例。
[0048] 图la用示意性框图图示了签名系统101。签名系统101包括电子密钥生成设备 100、电子签名生成设备200和电子签名验证设备300。
[0049] 电子密钥生成设备1〇〇生成私钥和公钥,电子签名生成设备200使用私钥来生成 数字签名,电子签名验证设备300使用公钥来验证数字签名。签名系统是所谓的公钥-私 钥加密系统。密钥以公钥和私钥成对生成。在给定一些数字数据的情况下,私钥的知识 (knowledge)使一方创建数字签名。公钥的知识使一方验证签名。然而,在仅能访问公钥的 情况下,人们不能生成签名。私钥还被称为数字签名密钥,公钥还被称为验证密钥。
[0050] 形容词公有和私有的使用旨在帮助理解:甚至在能够访问所有公有数据的情况下 也不能计算私有数据,至少在没有极高资源的情况下是不能的,所述极高资源给出应用的 安全性或与密钥生成、加密和解密所需要的资源相当。然而,"公有"不意味着必须使对应数 据可用于除了电子签名生成设备200和电子签名验证设备300之外的任何人。具体而言, 将公有数据对非授信方保持秘密会增加安全性。类似地,对私有数据的访问可以受限于生 成该数据的一方,这增加了安全性。然而,授信方可以被允许访问私有数据。对私有数据的 访问危害安全性。在系统101中,电子密钥生成设备100和电子签名生成设备200能够访 问私有数据。
[0051] 密钥生成设备100包括密钥材料获取器110、公钥生成器120和密钥管理器130。 密钥材料获取器110被配置为以电子形式获得双变量多项式的第一私有集合116 (以公式 形式表示为&(,))、归约整数的第二私有集合114 (表示为qj)和公有全局归约整数112。 公有全局归约整数112与归约整数中的每一个均不同;更优选的,其大于第二私有集合114 中的归约整数1中的每一个。对于第一集合中的每一个双变量多项式,存在与之相关联的 第二集合的归约整数。
[0052] 在密钥生成期间,以每一个双变量多项式相关联的归约整数取模来求该每一个双 变量多项式的值。然后,以整数算术或以公有全局归约整数112取模将所评估的多项式相 加。该操作混合不同环中的计算。重构原始的归约整数的第二私有集合114或双变量多项 式的第一私有集合116是非常困难的。签名生成设备200接收对该秘密信息的访问,并可 以用其执行计算。另一方面,电子签名验证设备300不接收对归约整数的第二私有集合114 和双变量多项式的第一私有集合116的访问,因此其不能执行与电子签名生成设备200相 同的计算。该系统被设计使得电子签名验证设备300具有足够的信息来验证电子签名生成 设备200的计算。
[0053] 双变量多项式116优选地是对称的。在这种情况下,实现不需要管哪一方应当使 用哪一坐标。然而,并不要求对称,如果双变量多项式的第一私有集合116具有一个或更多 个非对称多项式,则系统仍将工作。为了易于说明,假定双变量多项式的第一私有集合116 中的多项式是对称的,但记住这不是必需的。
[0054] 双变量多项式是通过两个变量来定义的。这些是其自身不具备意义的形式变量。 当变量未被填入时,其常会被省略。如果写出变量会增加清楚程度,我们将它们表示为X和 y。如果仅填入一个变量,则我们将常选择X。应当注意的是,对于对称多项式,这是无关紧 要的。
[0055]选择了多项式的数量。多项式的数量将表示为'm'。m的实际选择是2。更安全的 应用可以使用更高的m值,例如3或4甚至更高。
[0056] 应当注意的是,例如针对资源受限设备的应用可以使用m=l。值m=l尽管是可能 的,但不推荐,且仅应当针对低安全应用而被考虑。安全性参数α和m的更高值增加系统 的复杂度,并相应地增加其难控制程度。更复杂的系统更难以分析并因此更抗拒加密分析。 在下文中,假定m多2。
[0057]对于公有全局归约整数112、归约整数的第二私有集合114和双变量多项式的第 一私有集合116,存在不同可能选择。不同选择使验证更强或更弱,相应地根据安全性需要, 它们使签名更短或更长。
[0058] -种具体有益的选择如下。
?比特的整数作为公有全局归约整数
优选地,Ν恰好具有该比特数,
通常,密钥长 度b、次数α和多项式的数量m将例如由系统设计者预确定并作为输入提供给密钥材料获 取器110。公有模数还可以是固定的(例如在标准中),但更一般地将是在参数的生成期间选 择的。
[0059] 可以选择归约整数114使得它们中任意两个的差具有公约数,具体而言如 取α深形式的整数,其中爲是秘密的b比特数。
[0060] 数α是双变量多项式的第一私有集合116中的双变量多项式的单个变量的最高 次数,例如对于多项式x2y,该次数将是2。数b是安全性参数。其确定单个验证步骤在签 名的真实性上给出的信息量。更高的b值给出更安全的签名。另一方面,利用低的b值,单 个签名在安全性参数上提供较少信息,因此这还是更安全的。根据经验,较高的b值应当与 较高的α值一起使用。
[0061] 对于m>l,系统更复杂,因此更安全,因为针对不同模量的模运算被组合,即使这样 的运算在常见数学意义上不是兼容的。因此,选择所选择的私有模量q]作为成对差别是有 益的。
[0062]生成次数为,的m个双变量多项式匕,f2,…,圪。所有次数满足%<1且对于至少 一个j,我们有更好的选择是采用次数为α的每一个多项式。双变量多项式是具 有两个变量的多项式。对称多项式f满足每一个多项式具有整数系 数,并在通过整数模q,形成的(通过计算模q获得的)有限环中被评估。在一个实施例中, 多项式fj由从〇直到qfl的系数表示。可以例如通过在这些边界中选择随机系数来随机 地选择双变量多项式。
[0063] 签名的安全性取决于这些双变量多项式的保密性,因为它们是系统的根密钥材 料;因此优选地采取强有力的手段来保护它们,例如控制进程、防篡改设备等。优选地,所选 择的整数1 (包括与1相对应的值β,)也保持秘密。我们还将以以下形式表示双变量多 项式:对于j=l,2,…m,我们记为:???气
[0064] 可以以多种方式对以上实施例进行变形。可以以多种方式选择对公有模量和私有 模量的限制,使得单变量多项式的进一步模糊处理是可能的,并使得所获得的签名仍足够 强。是否足够将取决于应用、所需的安全等级和在设备处可用的计算资源。以上实施例对 正整数进行组合,使得当通过整数对模运算进行相加时,以非线性方式对当生成多项式共 享(即公有多项式和签名多项式)时执行的模运算进行组合,创建在网络设备上存储的本地 密钥材料的非线性结构。以上对N和qj的选择具有以下属性:(i)N的大小对于所有网络 设备是固定的并与α链接;(ii)非线性效应出现在形成在设备上存储的密钥材料的系数 中。
[0065] 密钥材料获得器110生成密钥材料中的全部或部分和/或从外部源获得密钥材料 中的全部或部分。例如,密钥材料获得器110适于从外部源接收公有全局归约整数114,并 生成归约整数的第二私有集合114和双变量多项式的第一私有集合116自身。后者允许用 固定的公有全局归约整数112来制造所有网络设备,降低成本。
[0066] 密钥材
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1