生成数字签名的制作方法

文档序号:7978755阅读:1269来源:国知局
生成数字签名的制作方法
【专利摘要】公开了用于生成数字签名的方法、系统和计算机程序。在一些方面,访问对称密钥。对称密钥基于临时公钥。临时公钥与临时私钥相关。基于对称密钥和消息生成密文。独立于哈希函数基于密文获取输入值。根据临时私钥、输入值和长期私钥生成数字签名。
【专利说明】生成数字签名

【背景技术】
[0001] 本说明书涉及在加密系统中生成和验证数字签名。加密系统使能公共通道上的安 全通信。例如可以在公共密钥加密系统中实现数字签名方案。许多数字签名方案利用哈希 函数,如哈希函数的传统SHA族。

【专利附图】

【附图说明】
[0002] 图1是示例数据通信系统的示意图。
[0003] 图2是不例签名过程的不意图。
[0004] 图3是示例验证过程的示意图。
[0005] 图4是示出生成数字签名的示例过程的流程图。
[0006] 类似的参考数字和标记在各个附图中指示类似的元素。

【具体实施方式】
[0007] 本公开呈现了用于生成和验证数字签名的技术。在一些实施方式中,当签名方案 利用独立于哈希函数获得的输入值时,可以提高数字签名方案的效率或安全性,或两者兼 而有之。例如在一些情况下,可以更快地并使用相比于估计更复杂的函数(例如哈希函数) 所消耗的处理资源更少的处理资源,获得输入值。此外,已经实现了对一些类型哈希函数的 成功攻击,表明可能的安全性弱点。
[0008] 图1是示例数据通信系统100的示意图。所述数据通信系统100包括第一终端 102和第二终端104。数据通信系统100可以包括附加的、更少的或不同的组件。例如,数 据通信系统100可以包括数据网络、存储设备、服务器(例如证书授权服务器等)、附加终端 以及图中未示出的其他特征。
[0009] 终端102和104可以经由数据网络或另一种类型的通信链路彼此通信以及与数据 通信系统100中的其他组件通信。在图1所示的示例中,终端102向终端104发送签名的 消息106。数据通信系统100可以支持额外的或不同类型的通信。
[0010] 终端102和104可以实现为计算设备,计算设备通常可以包括数据处理装置、数据 存储介质、以及数据通信接口。例如,图1中示出的终端102和104可以各自包括处理器、 存储器、输入/输出控制器、以及其他组件。存储器可以包括例如:随机访问存储器(RAM)、 存储设备(例如可写只读存储器(ROM)等)、硬盘或其他类型的存储介质。可以通过从其他 源(例如从⑶-R0M,通过数据网络从另一计算设备,或者以另一方式)加载程序,以对计算 设备进行预编程或编程(和重新编程)。输入/输出控制器可以与输入/输出设备(例如, 监视器、键盘等)以及数据网络连接。输入/输出设备可以通过诸如串行链路、无线(例如 红外、射频等)链路、并行链路或其他类型的链路接收和发送模拟或数字形式的数据。
[0011] 计算设备的存储器可以存储与计算机应用、程序以及计算程序模块和其他资源相 关联的指令(例如计算机代码)。例如,存储器可以存储与计算机程序模块相关联的指令。 存储器还可以存储可由应用、程序、模块或虚拟机解译的应用数据和数据对象。存储器可以 存储例如与操作系统、设备驱动器、存档数据或其他类型信息相关联的文件和指令之类的 附加信息。
[0012] 计算设备的处理器可以执行指令,以基于数据输入生成输出数据。例如,处理器可 以通过运行或解译软件、脚本、函数、可执行文件以及其他类型的计算机程序模块运行应用 和程序。例如,处理器可以执行图2、3和4中所示出的操作中的一个或更多。由处理器接 收的输入数据以及由处理器生成的输出数据可以存储在例如存储器或存储设备的计算机 可读介质中。
[0013] 数据通信系统100可以包括任何合适的数据通信网络或其他通信链路。例如,数 据网络可以包括无线或有线网络、蜂窝网、电信网、企业网络、专用公共网络、局域网(LAN)、 广域网(WAN)、私有网络、公共网络(例如互联网)、WiFi网络、包括卫星链路的网络或另一 类型的数据通信网络。数据网络可以包括由防火墙或者实现各种安全等级的类似特性的分 层结构。在一些实施方式中,终端102和104可以独立于网络通信。例如,终端102和104 可以通过短距离无线通信链路(例如光链路、红外链路、邻近射频链路、或其他类型无线或 有线通信链路)直接彼此通信。
[0014] 终端102和104通常可操作用于接收、发送、处理和存储信息。图1示出的示例终 端102和104可以基于由加密系统指定的通信方案彼此通信。尽管图1示出了两个终端 102和104,数据通信系统100可以包括任意数量的终端。数据通信系统100可以包括终端 的组或子组,其中的终端可以彼此通信但不必与其它组或子组中的终端通信。数据通信系 统100可以包括不同类型的终端、不同类型的硬件和软件配置以及各种不同位置。在一些 情况下,多个设备或子系统可以一起被识别为单个终端。
[0015] 终端可以包括例如监视器、触摸屏、鼠标或键盘之类的用户接口设备。终端可以包 括例如智能电话、个人数字助理(PDA)、便携媒体播放器、膝上型电脑、笔记本电脑、平板电 脑及其他之类的手持设备。终端可以包括工作站、大型机、非便携计算系统、安装在建筑物、 车辆及其他类型的安装上的设备。终端可以包括嵌入式系统。例如,终端可以实现为嵌入 博彩游戏芯片或另一类型的系统或组件的计算设备。还可以使用其他类型的终端。
[0016] 签名消息106可以包括任何类型的电子文档、数据文件、数据对象或者其他类型 的信息。在一些情况下,签名消息106是电子邮件消息、电子文档或能够由适合的软件应用 编辑和呈现的电子数据文件。在一些情况下,签名消息106是数据消息或者用于硬件组件 中信令应用的数据消息的组合。例如,签名消息可能包括由博彩游戏芯片发送的标识符或 状态信息。视情况而定,可以发送其他类型的消息。
[0017] 在操作的一方面,终端102向终端104发送签名消息106。终端102可以通过生 成数字签名形成签名消息106。视情况而定,数字签名可以与其它数据结合。例如,数字签 名可以与明文消息、密文消息、寻址信息或其他类型的数据的全部或部分结合,以形成签名 消息106。在一些实施方式中,数字签名与底层消息分别发送。终端104接收签名消息106 并验证数字签名。
[0018] 签名消息106的数字签名可以基于椭圆曲线加密或其他类型的加密方案生成。在 椭圆曲线加密(ECC)方案中,在椭圆曲线群的椭圆曲线点中对信息进行编码。可以根据有 限域(例如质数有限域或特征-2有限域)方程的解来描述椭圆曲线群。椭圆曲线群的每 个点可以表示为与椭圆曲线方程解对应的一对域元素。椭圆曲线群还包括标识元素。作 为特定示例,假设:代表质数有限域,其中P为奇质数,并假设

【权利要求】
1. 一种用于生成数字签名的方法,所述方法包括: 访问对称密钥,所述对称密钥基于临时公钥,并且所述临时公钥与临时私钥相关; 基于所述对称密钥和消息生成密文; 独立于哈希函数并基于所述密文获得输入值;以及 根据所述临时私钥、输入值和长期私钥,在计算设备处生成数字签名值。
2. 根据权利要求1所述的方法,其中所述密文是基于所述对称密钥和消息的第一部分 生成的,并且获得输入值包括:产生所述密文与消息的第二部分的连结。
3. 根据权利要求2所述的方法,其中获得输入值包括:以整数η为模约简所述密文与 消息的第二部分的连结。
4. 根据权利要求3所述的方法,其中整数η代表发生器点G的阶数,所述临时私钥是整 数k,并且所述临时公钥是椭圆曲线点R = kG。
5. 根据权利要求2所述的方法,其中获得输入值包括:将所述密文与消息的第二部分 的连结截短到特定长度。
6. 根据权利要求2所述的方法,包括:发起所述数字签名值、密文、以及消息的第二部 分从计算设备向另一计算设备的传输。
7. 根据权利要求1所述的方法,其中生成数字签名值包括计算s = k-de mod η,其中 s表示数字签名值,k表示临时私钥,d表示与实体相关联的长期私钥,e表示输入值,以及η 表示整数。
8. 根据权利要求7所述的方法,其中所述临时公钥是第一椭圆曲线点R = kG,并且G 是η阶的发生器点。
9. 根据权利要求1所述的方法,还包括通过基于所述临时公钥估计密钥导出函数来生 成所述对称密钥。
10. -种包括数据处理装置的计算设备,操作用于: 访问对称密钥,所述对称密钥基于临时公钥,并且所述临时公钥与临时私钥相关; 基于所述对称密钥和消息生成密文; 独立于哈希函数并基于所述密文获得输入值;以及 根据所述临时私钥、输入值和长期私钥生成数字签名值。
11. 根据权利要求10所述的计算设备,其中所述密文是基于对称密钥和消息的第一部 分生成的,并且获取输入值包括产生所述密文与消息的第二部分的连结。
12. 根据权利要求11所述的计算设备,其中获得输入值包括:以整数η为模约简所述 密文与消息的第二部分的连结。
13. 根据权利要求12所述的计算设备,其中整数η代表发生器点G的阶数,所述临时私 钥是整数k,并且所述临时公钥是椭圆曲线点R = kG。
14. 根据权利要求11所述的计算设备,其中获得输入值包括:将所述密文与消息的第 二部分的连结截短到特定长度。
15. -种存储由数据处理装置运行时操作用于执行生成数字签名的操作的指令的非瞬 时性计算机可读介质,所述操作包括: 访问对称密钥,所述对称密钥基于临时公钥,并且所述临时公钥与临时私钥相关; 基于所述对称密钥和消息生成密文; 独立于哈希函数并基于所述密文获得输入值;以及 根据所述临时私钥、输入值和长期私钥生成数字签名值。
16. 根据权利要求15所述的计算机可读介质,其中所述密文是基于所述对称密钥和消 息的第一部分生成的,并且获得输入值包括产生所述密文和消息的第二部分的连结。
17. 根据权利要求16所述的计算机可读介质,其中获得输入值包括:以整数η为模约 简所述密文和消息的第二部分的连结。
18. 根据权利要求17所述的计算机可读介质,其中整数η表示代表发生器点G的阶数, 所述临时私钥是整数k,并且所述临时公钥是椭圆曲线点R = kG。
19. 根据权利要求15所述的计算机可读介质,其中获得输入值包括:将所述密文和消 息的第二部分的连结截短到特定长度。
【文档编号】H04L9/32GK104126284SQ201180076454
【公开日】2014年10月29日 申请日期:2011年12月28日 优先权日:2011年12月28日
【发明者】丹尼尔·理查德·L·布朗, 安德鲁·安蒂帕 申请人:塞尔蒂卡姆公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1