电子签名系统的制作方法

文档序号:9602807阅读:683来源:国知局
电子签名系统的制作方法
【技术领域】
[0001] 本发明涉及包括电子签名生成设备和电子签名验证设备的签名系统。
【背景技术】
[0002] 数字签名是用于展示数字数据(例如消息或文档)的真实性的数学方案。有效的数 字签名应当使接收者信任数据是由已知的发送者创建的(认证),使得发送者不能否认已经 发送了消息(不可抵赖)以及消息在传输中未被改变(完整性)。数字签名用于软件分发、财 务交易和检测伪造或篡改是重要的其他情形。
[0003] 数字签名是一种非对称加密。经数字签名的消息可以表示为比特串:示例包括电 子邮件、合同或经由一些其他加密协议发送的消息。
[0004] 已知的数字签名系统包括在1977年由RonaldRivest、AdiShamir和Len Adleman引入的RSA系统。系统需要模幂运算。因此,需要使用大数(一般1024比特或甚至 更大的数)来进行计算。
[0005] 此外,已经使用多项式来定义签名系统,例如椭圆曲线数字签名算法(ECDSA),其 是使用椭圆曲线加密的数字签名算法(DSA)的变体。ECDSA需要人们计算椭圆曲线上的多 个有理点。这种计算是复杂的。
[0006] 需要更容易实现的并在存储或在计算上需要较少资源的签名方案。

【发明内容】

[0007] 具有改进的电子签名系统将是有益的。提供了 一种包括电子签名生成设备和电子 签名验证设备的签名系统。系统的实施例包括电子密钥生成设备。
[0008] 所述电子密钥生成设备被配置为生成用于对数字数据进行数字签名的数字签名 密钥和用于对所述数字签名数据进行数据验证的对应验证密钥。密钥生成设备包括密钥材 料获取器、公钥生成器和密钥管理器。
[0009] 所述密钥材料获取器获得需要用于推导公钥并对数据进行签名的密钥材料。所述 密钥材料获取器被配置为:以电子形式获得双变量多项式的第一私有集合和归约整数的第 二私有集合,对于第一集合中的每一个双变量多项式,存在与之相关联的第二集合的归约 整数。
[0010] 所述公钥生成器根据所获得的密钥材料来推导允许一方验证签名而不是创建签 名的信息。公钥生成器被配置为:获得承诺整数的第三公有集合,并针对第三公有集合中的 每一个特定整数计算对应的单变量公有多项式。通过以下方式根据特定整数以及第一私有 集合和第二私有集合来计算单变量公有多项式:通过对于第一私有集合的每一个特定多项 式将所述特定整数代入所述特定多项式并以与所述特定多项式相关联的归约整数取模来 归约,获得单变量多项式的另一集合;以及对所述单变量多项式的另一集合的单变量多项 式求和。
[0011] 最后,密钥管理器使能签名和验证多方。它被配置为使双变量多项式的第一私有 集合和归约整数的第二私有集合可用于电子签名生成设备,以用作用于对数字数据进行数 字签名的签名密钥,并使由公钥生成器根据承诺整数的第三公有集合计算的公有多项式中 的至少一个的至少部分可用于电子签名验证设备,以用作用于对由签名生成设备签名的数 字数据进行数字验证的验证密钥。
[0012] 对已经在不同环上部分地评估的多项式进行求和是非线性运算。在求和进行之 后,难以恢复原始材料。然而,能够验证在多项式上保持的关系,如下文所述。具体地,能够 访问承诺整数和对应的双变量多项式的情况下,一方可以验证由签名者产生的签名多项式 是否与相同的私钥材料相关联。
[0013] 签名系统仅需要基本的多项式评估,而不是例如由多项式定义的曲线上的点的乘 法。该系统是基于该新的难题的高效签名系统。
[0014] 在一个实施例中,电子密钥生成设备被配置为:还获得比第二私有集合中的归约 整数中的每一个都大的公有全局归约整数,所述密钥管理器被配置为:使所述公有全局归 约整数可用于所述签名验证设备。优选地,所述密钥管理设备被配置为:使所述公有全局归 约整数可用于所述电子签名生成设备,并且所述公钥生成器被配置为:以所述公有全局归 约整数取模来对单变量多项式的另一集合求和的结果进行归约。这归约签名的大小。
[0015] 在一个实施例中,公钥生成器被配置为:以所述公有全局归约整数取模来对单变 量多项式的另一集合求和的结果进行归约。该步骤归约系数的大小。该步骤还移除与求和 的绝对大小有关的信息。
[0016] 在多项式的求和之后,存在要进行的不同选项。例如,可能在将求和的结果变为规 范形式(例如按照次数排序的系数的数组)之后,人们可以直接继续求和的结果。例如,人们 可以以数(例如公有全局归约整数)取模来对求和的结果进行归约。人们还可以忽略(例如 移除)多项式的部分。在后一种情况下,可以首先以公有全局归约整数取模来归约,之后移 除系数的部分。这些选项越来越多地归约验证密钥的大小。例如,在一个实施例中,忽略多 项式的系数的最高有效位和最低有效位之间的比特(如果比特串既不包括最高有效位也不 包括最低有效位,则我们将比特串指代为中间比特)。在一个实施例中,所述所移除的部分 的大小随着与系数相对应的单项式的次数减小。例如,人们可以保持系数的b个最低有效 位和ib个最高有效位,其中i表示与系数相对应的单项式的次数。
[0017] 在一个实施例中,单变量多项式求和忽略单变量多项式的另一集合的系数的预定 部分。优选地,以所述公有全局归约整数取模来对求和进行归约,并然后移除系数的预定部 分。
[0018] 实际上,在一个实施例中,密钥生成设备被配置为:在使公有多项式中的至少一个 的至少部分可用于电子签名验证设备之前,通过移除至少一个系数的比特的至少部分,归 约公有多项式中的至少一个的比特大小。例如,选择公有多项式中的特定一个的特定系数; 针对该系数,通过移除(例如忽略)它的部分来获得较小比特大小。该部分优选地是中间部 分,如以下实施例中进一步解释。通过从多于一个系数中和/或针对多于一个多项式移除 比特,获得较大的大小归约。在一个实施例中,所述所移除的部分的大小随着与系数相对应 的单项式的次数减小。可以通过密钥生成设备(例如公钥生成器或密钥管理器等)的合适部 分,完成对系数的部分的移除。在减小之后,系数保留其最低有效位的至少部分。
[0019] 密钥管理器可以供应其他信息连同密钥信息(例如,签名者使用的散列的数量(见 下文))。验证器可以使用该信息来验证他接收到正确数量的散列。
[0020] 在一个实施例中,双变量多项式是双变量单项式。
[0021] 电子签名生成设备被配置为:使用从电子密钥生成设备获得的数字签名密钥,生 成针对数字数据的数字签名。签名生成设备包括散列化设备和签名生成器。
[0022] 散列化设备被配置为:通过将多个不同的散列函数应用于数字数据,确定散列的 第四集合。散列链接到数字数据。优选地,使用加密散列,例如sha-2、sha_256等。可以以 各种方式获得不同的散列函数。在一个实施例中,通过以下方式来根据一个散列函数(h)推 导不同的散列函数:将数字数据与标识该散列函数的标示符进行组合,并使用该组合作为 到该散列函数(h)的输入。标示符可以是数字(例如序列号)。还可以推导不同的散列函数 作为散列链。在该实施例中,通过将散列函数应用到数字数据来获得第一散列。通过将之 前散列的结果散列进行散列化,获得下一散列。
[0023] 签名生成器被配置为:针对第四集合中的每一个特定散列,计算单变量签名多项 式。通过以下方式根据特定散列以及第一私有集合和第二私有集合来计算与特定散列相对 应的单变量签名多项式:通过对于第一私有集合的每一个特定多项式将所述特定散列代入 所述特定多项式并以与所述特定多项式相关联的归约整数取模来归约并对所述单变量多 项式的另一集合进行求和来获得单变量多项式的另一集合,其中所述所生成的数字签名包 括签名多项式的第五集合,签名多项式的第五集合包括由签名密钥生成器针对散列的第四 集合生成的每一个签名多项式的至少部分。
[0024] 如同从承诺整数获得的公有多项式一样,在对签名生成设备中的多项式求和之后 也存在要继续进行的不同选项。例如,可能在将求和的结果变为规范形式(例如按照次数排 序的系数的数组)之后,人们可以直接继续求和的结果。例如,人们可以以数(例如公有全局 归约整数)取模来对求和的结果进行归约。人们还可以忽略(例如移除)多项式的部分。在 后一种情况下,可以首先以公有全局归约整数取模来归约求和结果,之后移除系数的部分。 这些选项越来越多地归约验证密钥的大小。例如,在一个实施例中,忽略多项式的系数的中 间的部分。在一个实施例中,被忽略的多项式的系数的部分随着多项式的次数减少而增加。
[0025] 在一个实施例中,单变量多项式求和忽略单变量多项式的另一集合的系数的预定 部分。优选地,以所述公有全局归约整数取模来对求和进行归约,然后移除系数的预定部 分。在一个实施例中,不使用移除步骤。
[0026] 实际上,在一个实施例中,电子签名生成设备可以访问由电子密钥生成设备所生 成的公有全局归约整数。公钥生成器被配置为:以所述公有全局归约整数取模来对单变量 多项式的另一集合求和的结果进行归约。电子签名生成设备被配置为:通过移除至少一个 系数的比特的至少部分,归约签名多项式中至少一个签名多项式的比特大小。
[0027]例如,选择签名多项式中的特定一个的特定系数;针对该系数,通过移除(例如忽 略)它的部分来获得更小的比特大小。该部分优选地是中间有效部分,如以下实施例中进一 步解释。通过从多于一个系数中和/或针对多于一个多项式移除比特,获得较大大小归约。 在一个实施例中,所述所移除的部分的大小随着与系数相对应的单项式的次数减小。可以 通过密钥生成设备(例如签名生成器等)的合适部分,完成移除系数的部分。
[0028]生成单变量签名多项式和/或单变量公有多项式可以包括其他步骤,例如在求和 之后的归约步骤。在归约步骤之后,可以跟随又一步骤,例如系数的部分移除。在一个实施 例中,系数的部分移除包括多项式的系数中至少一个系数的一个或更多个中间有效位的部 分移除。例如,人们可以保持系数的b个最低有效位和ib个最高有效位,其中i表示与系 数相对应的单项式的次数。
[0029] 电子签名验证设备被配置为:验证由电子签名生成设备生成的数字签名。签名验 证设备可以访问至少一个承诺整数和由电子密钥生成设备生成的至少一个对应单变量公 有多项式。数字签名包括至少一个单变量签名多项式。签名验证设备包括散列化设备和签 名验证器。
[0030] 散列化设备被配置为:通过将散列函数应用于数字数据,确定与签名多项式相对 应的散列。如果在签名之后尚未变更数字数据,则散列化设备应当获得与签名设备相同的 散列。
[0031] 签名验证器被配置为通过以下方式来验证至少一个单变量签名多项式和至少一 个单变量公有多项式之间的匹配:针对至少一个单变量签名多项式的特定单变量签名多项 式和至少一个单变量公有多项式的特定单变量公有多项式,将与特定签名多项式相对应的 散列代入特定公有多项式,因此获得第一代入结果,将与特定公有多项式相对应的承诺整 数代入特定签名多项式,获得第二代入结果,验证第一代入结果与第二代入结果相匹配,其 中签名验证设备需要匹配来验证数字签名。
[0032] 以这种方式,验证了签名多项式和公有多项式源自与例如由密钥材料获取器所获 得的密钥材料相同的密钥材料。
[0033] 如以上所指出,密钥生成设备和签名生成设备两者均可以通过移除对验证结果具 有极小影响或没有影响的系数的部分,分别归约验证密钥和签名多项式的大小。验证设备 这样的大小归约仅具有针对匹配步骤的边界可能在某种程度上改变的结果,然而需要执行 的计算并不改变。
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1