CN111130791A - 数据签名方法、电子设备及计算机可读存储介质 - Google Patents

数据签名方法、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111130791A
CN111130791A CN201911251991.XA CN201911251991A CN111130791A CN 111130791 A CN111130791 A CN 111130791A CN 201911251991 A CN201911251991 A CN 201911251991A CN 111130791 A CN111130791 A CN 111130791A
Authority
CN
China
Prior art keywords
data
result
hash
processor
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911251991.XA
Other languages
English (en)
Other versions
CN111130791B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201911251991.XA priority Critical patent/CN111130791B/zh
Publication of CN111130791A publication Critical patent/CN111130791A/zh
Application granted granted Critical
Publication of CN111130791B publication Critical patent/CN111130791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及信息安全技术领域,特别是涉及一种数据签名方法、电子设备及计算机可读存储介质。该方法包括:处理器对预置私钥进行哈希运算得到第一哈希结果;将第一哈希结果拆分为第一哈希子结果和第二哈希子结果;根据预置固定点及第一哈希子结果生成公钥;根据公钥及第二哈希子结果生成第一数据;根据预置固定点及第一数据生成第二数据;根据第二数据、公钥及接收端口接收到的待签名数据生成第三数据;根据第三数据、第一哈希子结果、第一数据和预置第一常数生成第四数据;根据第四数据和第二数据构建目标签名结果。本申请中,通过引入哈希运算,避免了采用随机数对私钥处理的安全性问题,保证了对私钥处理的安全,提升了数据签名过程的安全性。

Description

数据签名方法、电子设备及计算机可读存储介质
技术领域
本申请涉及信息安全技术领域,特别是涉及一种数据签名方法、电子设备及计算机可读存储介质。
背景技术
现有技术中,对于智能卡设备而言,在利用私钥进行数据签名时,通常会利用随机数对私钥进行加密处理;然而如此的私钥处理方式,一旦智能卡设备的随机数模块遭到攻击时,会导致数据签名过程的安全性无法得到保障。基于此,为了避免采用随机数加密的安全性问题,是否能够采用其他加密方式来保证数据签名过程的安全成为了当前亟待解决的技术问题。
发明内容
本申请提供了一种数据签名方法、电子设备及计算机可读存储介质,通过引入哈希运算来对私钥进行处理,避免采用随机数对私钥加密的安全性问题,以保证对私钥的加密安全,提升数据签名过程的安全性。
第一方面,提供了一种数据签名方法,应用于智能卡设备上,所述智能卡设备包括处理器、内存、存储区及接收端口,包括如下步骤:
所述处理器对所述存储区中存储的预置私钥进行哈希运算得到第一哈希结果,将所述第一哈希结果存储于内存中;并在所述内存中将所述第一哈希结果拆分为第一哈希子结果和第二哈希子结果;
所述处理器根据所述存储区中存储的预置固定点及所述第一哈希子结果生成公钥,将所述公钥存储于所述内存中;
所述处理器根据所述公钥及所述第二哈希子结果生成第一数据;
所述处理器根据所述预置固定点及生成的第一数据生成第二数据;
所述处理器根据所述第二数据、公钥及所述接收端口接收到的待签名数据生成第三数据;
所述处理器根据所述第三数据、第一哈希子结果、第一数据和预置第一常数生成第四数据;
所述处理器根据所述第四数据和所述第二数据构建目标签名结果。
在一个可能地实现方式中,所述内存中的第一哈希子结果和第二哈希子结果为具有相同字节的数据,所述处理器根据所述存储区中存储的预置固定点及所述第一哈希子结果生成公钥,包括:
所述处理器对所述第一哈希子结果进行字节序转换及置位处理,得到处理后的第一哈希子结果,并将所述处理后的第一哈希子结果存储到所述内存中;
所述智能卡设备的协处理器对所述预置固定点及所述内存中存储的所述处理后的第一哈希子结果进行点乘处理生成公钥点;
所述协处理器对所述公钥点进行点压缩处理生成公钥,并将所述公钥存储到所述内存中。
在一个可能地实现方式中,所述处理器对所述第一哈希子结果进行字节序转换及置位处理,得到处理后的第一哈希子结果,包括:
所述处理器对所述第一哈希子结果进行字节序转换处理,得到相应的第一转换处理结果;
所述处理器将所述第一转换处理结果在第三特定进制下的字节数据中的首位字节的最高位、最后一位字节的倒数三位对应的数值均置零,以及将首位字节的次高位对应的数值置1,得到置位处理后的第一哈希子结果。
在一个可能地实现方式中,所述处理器根据所述预置固定点及生成的第一数据生成第二数据,包括:
所述处理器将生成的第一数据存储到所述内存中;
所述智能卡设备的协处理器对所述预置固定点及生成的第一数据进行点乘处理生成第一数据点;
所述协处理器对所述第一数据点进行点压缩处理生成第二数据,并将所述第二数据存储到所述内存中。
在一个可能地实现方式中,所述处理器根据所述公钥及所述第二哈希子结果生成第一数据,包括:
所述处理器根据所述公钥及所述第二哈希子结果进行哈希运算得到第二哈希结果;
所述处理器对所述第二哈希结果进行字节序转换处理,得到相应的第二转换处理结果;
所述处理器根据所述第二转换处理结果对所述存储区中存储的预置第一常数进行模运算得到第一数据,并将所述第一数据存储于所述内存中。
在一个可能地实现方式中,所述处理器根据所述第二数据、公钥及所述接收端口接收到的待签名数据生成第三数据,包括:
所述处理器对所述第二数据、公钥及接收端口接收到的待签名数据做哈希运算得到第三哈希结果;
所述处理器对所述第三哈希结果进行字节序转换处理,得到相应的第三转换处理结果;
所述处理器根据所述第三转换处理结果对预置第一常数进行模运算得到第三数据,并将所述第三数据存储于所述内存中。
在一个可能地实现方式中,所述处理器根据所述第三数据、第一哈希子结果、第一数据和预置第一常数生成第四数据,包括:
所述处理器计算所述第三数据和所述第一哈希子结果的乘积与所述第一数据的和,得到第一计算结果;
所述处理器根据所述第一计算结果对预置第一常数进行模运算得到第四数据,并将所述第四数据存储于所述内存中。
在一个可能地实现方式中,所述处理器根据所述第四数据和所述第二数据构建目标签名结果,包括:
所述处理器对所述第四数据进行字节序转换处理,得到相应的第三转换处理结果;
所述处理器将所述第三转换处理结果及所述第二数据进行连接得到目标签名结果。
第二方面,提供了一种智能卡设备,包括处理器、内存、存储区及接收端口:
所述处理器,用于对所述存储区中存储的预置私钥进行哈希运算得到第一哈希结果,将所述第一哈希结果存储于所述内存中;并在所述内存中将所述第一哈希结果拆分为第一哈希子结果和第二哈希子结果;
所述处理器,用于根据所述存储区中存储的预置固定点及所述第一哈希子结果生成公钥,将所述公钥存储于所述内存中;
所述处理器,用于根据所述公钥及所述第二哈希子结果生成第一数据;
所述处理器,用于根据所述预置固定点及生成的第一数据生成第二数据;
所述处理器,用于根据所述第二数据、公钥及所述接收端口接收到的待签名数据生成第三数据;
所述处理器,用于根据所述第三数据、第一哈希子结果、第一数据和预置第一常数生成第四数据;
所述处理器,用于根据所述第四数据和所述第二数据构建目标签名结果。
在一个可能地实现方式中,所述内存中的第一哈希子结果和第二哈希子结果为具有相同字节的数据,所述智能卡设备还包括协处理器,
所述处理器,用于对所述第一哈希子结果进行字节序转换及置位处理,得到处理后的第一哈希子结果,并将所述处理后的第一哈希子结果存储到所述内存中;
所述协处理器,用于对所述预置固定点及所述内存中存储的所述处理后的第一哈希子结果进行点乘处理生成公钥点;对所述公钥点进行点压缩处理生成公钥,并将所述公钥存储到所述内存中。
在一个可能地实现方式中,所述处理器,用于对所述第一哈希子结果进行字节序转换处理,得到相应的第一转换处理结果;将所述第一转换处理结果在第三特定进制下的字节数据中的首位字节的最高位、最后一位字节的倒数三位对应的数值均置零,以及将首位字节的次高位对应的数值置1,得到置位处理后的第一哈希子结果。
在一个可能地实现方式中,所述智能卡设备还包括协处理器,
所述处理器,用于将生成的第一数据存储到所述内存中;
所述协处理器,用于对所述预置固定点及生成的第一数据进行点乘处理生成第一数据点;对所述第一数据点进行点压缩处理生成第二数据,并将所述第二数据存储到所述内存中。
在一个可能地实现方式中,所述处理器,用于根据所述公钥及所述第二哈希子结果进行哈希运算得到第二哈希结果;对所述第二哈希结果进行字节序转换处理,得到相应的第二转换处理结果;根据所述第二转换处理结果对所述存储区中存储的预置第一常数进行模运算得到第一数据,并将所述第一数据存储于所述内存中。
在一个可能地实现方式中,所述处理器,用于对所述第二数据、公钥及接收端口接收到的待签名数据做哈希运算得到第三哈希结果;对所述第三哈希结果进行字节序转换处理,得到相应的第三转换处理结果;根据所述第三转换处理结果对预置第一常数进行模运算得到第三数据,并将所述第三数据存储于所述内存中。
在一个可能地实现方式中,所述处理器,用于计算所述第三数据和所述第一哈希子结果的乘积与所述第一数据的和,得到第一计算结果;根据所述第一计算结果对预置第一常数进行模运算得到第四数据,并将所述第四数据存储于所述内存中。
在一个可能地实现方式中,所述处理器,用于将所述第三转换处理结果及所述第二数据进行连接得到目标签名结果。
第三方面,提供了一种电子设备,包括:处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行上述的数据签名方法。
第四方面,提供了一种计算机可读存储介质,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述的数据签名方法。
借由上述技术方案,本申请提供的技术方案至少具有下列优点:
本申请中,通过引入哈希运算来对私钥进行处理,避免了采用随机数对私钥处理的安全性问题,保证了对私钥加密处理的安全,提升了数据签名过程的安全性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请提供的数据签名方法的流程示意图;
图2为本申请提供的数据签名方法的一种可能实现方式的具体处理流程示意图;
图3为本申请提供的一种智能卡设备的结构示意图;
图4为本申请提供的数据签名方法的电子设备的结构示意图。
具体实施方式
本申请提出一种数据签名方法、电子设备及计算机可读存储介质,下面结合附图,对本申请具体实施方式进行详细说明。
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
如图1所示,为本申请提供的数据签名方法的流程示意图,该方法应用于智能卡设备上,该智能卡设备包括处理器、内存、存储区及接收端口,该方法包括如下步骤:
步骤S101,处理器对存储区中存储的预置私钥进行哈希运算得到第一哈希结果,将第一哈希结果存储于内存中;并在内存中将第一哈希结果拆分为第一哈希子结果和第二哈希子结果;
步骤S102,处理器根据存储区中存储的预置固定点及第一哈希子结果生成公钥,将公钥存储于内存中;
步骤S103,处理器根据公钥及第二哈希子结果生成第一数据;
步骤S104,处理器根据预置固定点及生成的第一数据生成第二数据;
步骤S105,处理器根据第二数据、公钥及接收端口接收到的待签名数据生成第三数据;
步骤S106,处理器根据第三数据、第一哈希子结果、第一数据和预置第一常数生成第四数据;
步骤S107,处理器根据第四数据和第二数据构建目标签名结果。
本申请中,通过引入哈希运算来对私钥进行处理,避免了采用随机数加密的安全性问题,保证了对私钥加密处理的安全,提升了数据签名过程的安全性。
基于上述本申请所提供的技术方案,下面对该技术方案进行详尽阐释,如图2所示,为本申请提供的数据签名方法的一个可能地实现方式的具体处理流程图,该方法应用于智能卡设备上,下述实施例中以终端设备(智能卡设备)为例,该终端设备包括处理器、内存、存储区、协处理器、接收端口及发送端口。
对于本申请,在一个可能地实现方式中,前述步骤S101的处理具体包括下述步骤S201~步骤S202的处理。
步骤S201,处理器对存储区中存储的预置私钥进行哈希运算得到第一哈希结果。
在一个可能地实现方式中,在终端设备的存储区中预先配置有私钥,在需要时,终端设备的处理器可以直接从存储区中获取该预先配置的私钥,处理器在获取到预先配置的私钥后,通过对其进行哈希运算,得到相应的哈希运算结果,并将该哈希运算结果存储在内存中。
在一个具体实施例中,该存储区中的预置私钥对应的数据为:
预置私钥:
D2E5B9B6227E3FF8EC6D062D78E6ADB7ABF3750615AE6DA66F3571D43BFD32EE;
处理器对该预置私钥进行哈希运算后得到的第一哈希结果为:
a5dbca0448e7060678e0cb3289e2e6417c17991d9703fa3698c838bf998962b85161c8c7120a59bb68082bfecf2a9d0458c5d6ad916f8b64f33fbc5ca978a317。
步骤S202,处理器对第一哈希结果进行拆分。
在一个可能地实现方式中,处理器在将第一哈希结果存储到内存中后,还要对其进行拆分,得到第一哈希子结果和第二哈希子结果两部分;且处理器在进行拆分时,可以对该第一哈希结果进行均分,使得第一哈希子结果和第二哈希子结果为具有相同字节的数据。
在一个具体实施例中,处理器将上述第一哈希结果拆分后得到第一哈希子结果和第二哈希子结果,其分别对应的数据为:
第一哈希子结果:
a5dbca0448e7060678e0cb3289e2e6417c17991d9703fa3698c838bf998962b8;
第二哈希子结果:
5161c8c7120a59bb68082bfecf2a9d0458c5d6ad916f8b64f33fbc5ca978a317。
对于本申请,在一个可能地实现方式中,前述步骤S102的处理具体包括下述步骤S203~步骤S205的处理。
步骤S203,处理器对第一哈希子结果进行字节序转换及置位处理。
在一个可能地实现方式中,处理器在将第一哈希结果拆分为第一哈希子结果和第二哈希子结果两部分后,首先对第一哈希子结果进行字节序转换和置位处理,得到相应的处理后的第一哈希子结果,并将处理后的第一哈希子结果存储到内存中。
在本申请实施例中,处理器对该第一哈希子结果进行字节序转换和置位处理,得到处理后的第一哈希子结果,可以包括:
处理器对第一哈希子结果进行字节序转换处理,得到相应的第一转换处理结果;其中,该字节序转换处理可以为将第1字节与倒数第1字节交换,将第2字节与倒数第2字节交换,将第3字节与倒数第3字节交换......依次类推,直到交换结束;
处理器将上述第一转换处理结果在第三特定进制下的字节数据中的首位字节的最高位、最后一个字节的倒数三位对应的数值均置零以及将首位字节的次高位对应的数值置1,得到置位处理后的第一哈希子结果。
具体地,上述处理可以具体为处理器在16进制下,将上述第一转换处理结果的字节数据中首位字节的最高位、最后一个字节的倒数三位对应的数值均置零以及将首位字节的次高位的数值置1,从而得到经过上述置位处理后的第一哈希子结果。
在一个具体实施例中,处理器对第一哈希子结果进行字节序转换处理后,得到的第一转换处理结果为:
62b8998938bf98c8fa369703991d7c17e64189e2cb3278e0060648e7ca04a5db;
处理器在对上述第一转换处理结果进行上述的置位处理后,得到的置位处理后的第一哈希子结果为:
01b8998938bf98c8fa369703991d7c17e64189e2cb3278e0060648e7ca04a000。
步骤S204,协处理器对预置固定点及处理后的第一哈希子结果进行点乘处理生成公钥点。
在一个可能地实现方式中,协处理器获取到预先存储的预置固定点,根据该预置固定点及上述置位处理后的第一哈希子结果进行点乘处理,生成对应的公钥点。
在一个具体实施例中,该预置固定点的各坐标对应的数据为:
X1:216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a
Y1:6666666666666666666666666666666666666666666666666666666666666658
Z1:01
具体地,将预置固定点作为被乘点,将待处理数据(置位处理后的第一哈希子结果)作为乘数,对于上述的点乘处理,其可以包括如下处理过程:
步骤S11(图中未示出),协处理器根据被乘点(X1,Y1,Z1)中的坐标X1与坐标Y1进行模乘处理,得到坐标T1,并将坐标T1作为预置固定点对应的第四维坐标,得到四维点(X1,Y1,Z1,T1);
在一个具体实施例中,当被乘点为预置固定点时,四维点(X1,Y1,Z1,T1)为:
X1:216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a
Y1:6666666666666666666666666666666666666666666666666666666666666658
Z1:01
T1:67875f0fd78b766566ea4e8e64abe37d20f09f80775152f56dde8ab3a5b7dda3
步骤S12(图中未示出),协处理器确定乘数在第一特定进制下对应的数值是否大于0;若乘数对应的数值不大于0,转到步骤S17;若乘数对应的数值大于0,转到步骤S13;其中,该第一特定进制可以是10进制。
步骤S13(图中未示出),协处理器确定乘数在第二特定进制下对应的最后一位数值是否为1;若为1,转到步骤S14;否则转到步骤S15;其中,该第二特定进制可以是2进制。
步骤S14(图中未示出),协处理器对四维点(X1,Y1,Z1,T1)及预置初始点(X2,Y2,Z2,T2)进行点加处理,并将点加处理得到的点加处理结果保存到预置初始点(X2,Y2,Z2,T2)中,转到步骤S15;
步骤S15(图中未示出),协处理器对四维点(X1,Y1,Z1,T1)进行点倍处理,并将点倍处理得到的点倍处理结果保存到四维点(X1,Y1,Z1,T1)中,转到步骤S16;
步骤S16(图中未示出),协处理器选取待处理数据在第一特定进制下对应的数值右移一位后,转到步骤S12;
步骤S17(图中未示出),协处理器确定预置初始点(X2,Y2,Z2,T2)为目标点;
其中,X1、Y1、Z1及T1为整数,X2为0,Y2为1,Z2为1,T2为0。
进一步地,对于上述步骤S14中的点加处理,其可以包括:
协处理器获取四维点(X1,Y1,Z1,T1)及预置初始点(X2,Y2,Z2,T2);
计算(Y1-X1)*(Y2-X2),得到结果R1
计算(Y1+X1)*(Y2+X2),得到结果R2
计算T1*2*d*T2,得到结果R3,d为预置第二常数;
计算Z1*2*Z2,得到结果R4
计算R2-R1,得到结果R5
计算R4-R3,得到结果R6
计算R4+R3,得到结果R7
计算R2+R1,得到结果R8
计算R5*R6,得到坐标X4
计算R7*R8,得到坐标Y4
计算R6*R7,得到坐标Z4
计算R5*R8,得到坐标T4
基于上述计算,得到的点加处理结果为(X4,Y4,Z4,T4)。
进一步地,对于上述步骤S15中的点倍处理,其可以包括:
协处理器获取四维点(X1,Y1,Z1,T1);
计算X1*X1,得到结果Q1
计算Y1*Y1,得到结果Q2
计算2*Z1*Z1,得到结果Q3
计算Q1+Q2,得到结果Q4
计算Q4-(X1+Y1)2,得到结果Q5
计算Q1-Q2,得到结果Q6
计算Q3+Q6,得到结果Q7
计算Q5*Q7,得到坐标X3
计算Q4*Q6,得到坐标Y3
计算Q6*Q7,得到坐标Z3
计算Q4*Q5,得到坐标T3
基于上述计算,得到的点倍处理结果为(X3,Y3,Z3,T3)。
步骤S205,协处理器对公钥点进行点压缩处理生成公钥。
在一个具体实施例中,上述生成的公钥对应的数据为:
8af7122837b5289beec288c1119dbbde61150635acd71ef72bc95a714fe65042
在一个可能地实现方式中,对于上述的点压缩处理,其可以包括如下处理:
协处理器获取待压缩点(X,Y,Z);
对坐标Z进行模逆计算,得到结果Zinv
对坐标X与Zinv进行模乘计算,得到x;
对坐标Y与Zinv进行模乘计算,得到y;
处理器将x在第三特定进制下对应的数值中最后一位数值作为y在第三特定进制下对应的数值中的第一位数值,得到处理后的y;
处理器对处理后的y进行字节序转换处理后,得到对应的压缩后数据,确定该压缩后数据为公钥。
对于本申请,在一个可能地实现方式中,前述步骤S103的处理具体包括下述步骤S206~步骤S208的处理。
步骤S206,处理器根据公钥及第二哈希子结果进行哈希运算得到第二哈希结果。
在一个可能地实现方式中,处理器在得到公钥后,根据该公钥及前述拆分后的第二哈希子结果进行如前述步骤S201中的哈希运算,得到相应的第二哈希结果。
步骤S207,处理器对第二哈希结果进行字节序转换处理,得到相应的第二转换处理结果。
在一个可能地实现方式中,对于上述的字节序转换处理,其具体为处理器将对应的各字节数据按照特定的字节排列顺序进行排列。
步骤S208,处理器根据第二转换处理结果对预置第一常数进行模运算得到第一数据。
在一个可能地实现方式中,处理器在得到上述第二转换处理结果后,根据该第二转换处理结果对预先配置的第一常数进行模运算,得到相应的第一数据,处理器将生成的第一数据存储到内存中。
在一个具体实施例中,上述模运算得到的第一数据对应的数据为:
538f3047b245a3b92199eff4af3ccabb4c24dd3e2457682d6ca1800938ef922
对于本申请,在一个可能地实现方式中,前述步骤S104的处理具体包括下述步骤S209~步骤S210的处理。
步骤S209,协处理器对预置固定点及生成的第一数据进行点乘处理生成第一数据点。
在一个可能地实现方式中,协处理器在内存中得到上述第一数据后,根据存储区中存储的预先配置的固定点及该第一数据进行点乘处理,得到相应的第一数据点。其中,上述的点乘处理如前述步骤S204中的点乘处理过程,在该点乘处理过程中,将待处理数据(第一数据)作为乘数,故在此不再详尽赘述。
步骤S210,协处理器对第一数据点进行点压缩处理生成第二数据。
在一个可能地实现方式中,协处理器对经点乘处理得到的第一数据点进行点压缩处理,得到相应的第二数据,并将第二数据存储于内存中。其中,上述的点压缩处理如前述步骤S205中的点压缩处理过程,故在此不再详尽赘述。
在一个具体实施例中,上述得到的第二数据对应的数据为:
429ac4ba16058e6d7a8619b1b967e1bee513739d7aff68d14095d23ddb958f8f
对于本申请,在一个可能地实现方式中,前述步骤S105的处理具体包括下述步骤S211~步骤S213的处理。
步骤S211,处理器对第二数据、公钥及接收端口接收到的待签名数据做哈希运算得到第三哈希结果。
在一个可能地实现方式中,接收端口接收主机发送的待签名数据存储于内存中,处理器对该内存中存储的待签名数据、第二数据及公钥做如前述步骤S201中的哈希运算处理,得到相应的第三哈希结果。
步骤S212,处理器对第三哈希结果进行字节序转换处理,得到相应的第三转换处理结果。
在一个可能地实现方式中,处理器对第三哈希结果进行如前述步骤S207中的字节序转换处理,得到相应的第三转换处理结果。
步骤S213,处理器根据第三转换处理结果对预置第一常数进行模运算得到第三数据。
在一个可能地实现方式中,处理器在得到上述第三转换处理结果后,根据该第三转换处理结果对预先配置的第一常数进行模运算,得到相应的第三数据,并将第三数据存储于内存中。
在一个具体实施例中,上述模运算得到的第三数据对应的数据为:
a3c32fa0af744688bac0285347bfa27395d4e8acd98abb2fb8161276316af19
对于本申请,在一个可能地实现方式中,前述步骤S106的处理具体包括下述步骤S214~步骤S215的处理。
步骤S214,处理器计算第三数据和第一哈希子结果的乘积与第一数据的和,得到第一计算结果。
在一个可能地实现方式中,处理器在得到第三数据后,计算该第三数据和第一哈希子结果的乘积,并将该乘积的结果加上第一数据的和得到第一计算结果。
步骤S215,处理器根据第一计算结果对预置第一常数进行模运算得到第四数据。
在一个可能地实现方式中,处理器在得到上述第一计算结果后,根据该第一计算结果对预先配置的第一常数进行模运算,得到相应的第四数据,并将第四数据存储于内存中。
在一个具体实施例中,上述模运算得到的第四数据对应的数据为:
a1fb8bd1a028eedfda47f07b1300c27ba968fb1e02f7fee1fa7656bdf4d6f50d
对于本申请,在一个可能地实现方式中,前述步骤S107的处理具体包括下述步骤S216~步骤S217的处理。
步骤S216,处理器对第四数据进行字节序转换处理,得到相应的第三转换处理结果。
在一个可能地实现方式中,处理器对第四数据进行如前述步骤S207中的字节序转换处理,得到相应的第三转换处理结果。
步骤S217,处理器将第三转换处理结果及第二数据进行连接得到目标签名结果。
在一个可能地实现方式中,处理器将计算得到的第三转换处理结果与第二数据对应的数据进行连接,构成目标签名结果,并将目标签名结果存储于内存中。
在一个具体实施例中,上述得到的目标签名结果对应的数据为:
429ac4ba16058e6d7a8619b1b967e1bee513739d7aff68d14095d23ddb958f8f a1fb8bd1a028eedfda47f07b1300c27ba968fb1e02f7fee1fa7656bdf4d6f50d
在一个可能地实现方式中,在处理器将构建好的目标签名结果存储于内存后,还包括如下处理:
步骤S218,处理器通过发送端口将目标签名结果发送给主机。
本申请中,通过引入哈希运算来对私钥进行处理,避免了采用随机数加密的安全性问题,保证了对私钥加密处理的安全,提升了数据签名过程的安全性,同时通过四维坐标系的引入,提升了运算处理速度。
基于上述本申请所提供的数据签名方法的技术方案,本申请对应提供了一种智能卡设备的结构示意图,如图3所示,本申请的智能卡设备30可以包括:处理器31、内存32、存储区33、接收端口34及协处理器35;
处理器31,用于对存储区33中存储的预置私钥进行哈希运算得到第一哈希结果,将第一哈希结果存储于内存32中;并在内存32中将第一哈希结果拆分为第一哈希子结果和第二哈希子结果;
处理器31,用于根据存储区33中存储的预置固定点及第一哈希子结果生成公钥,将公钥存储于内存32中;
处理器31,用于根据公钥及第二哈希子结果生成第一数据;
处理器31,用于根据预置固定点及生成的第一数据生成第二数据;
处理器31,用于根据第二数据、公钥及接收端口34接收到的待签名数据生成第三数据;
处理器31,用于根据第三数据、第一哈希子结果、第一数据和预置第一常数生成第四数据;
处理器31,用于根据第四数据和第二数据构建目标签名结果。
在一个可能地实现方式中,内存中的第一哈希子结果和第二哈希子结果为具有相同字节的数据,
处理器31,用于对第一哈希子结果进行字节序转换及置位处理,得到处理后的第一哈希子结果,并将处理后的第一哈希子结果存储到内存32中;
协处理器35,用于对预置固定点及内存32中存储的处理后的第一哈希子结果进行点乘处理生成公钥点;
协处理器35,用于对公钥点进行点压缩处理生成公钥,并将公钥存储到内存32中。
在一个可能地实现方式中,处理器31,用于对第一哈希子结果进行字节序转换处理,得到相应的第一转换处理结果;将第一转换处理结果在第三特定进制下的字节数据中的首位字节的最高位、最后一位字节的倒数三位对应的数值均置零,以及将首位字节的次高位对应的数值置1,得到置位处理后的第一哈希子结果。
在一个可能地实现方式中,处理器31,用于将生成的第一数据存储到内存32中;
协处理器35,用于对预置固定点及生成的第一数据进行点乘处理生成第一数据点;对第一数据点进行点压缩处理生成第二数据,并将第二数据存储到内存32中。
在一个可能地实现方式中,处理器31,用于根据公钥及第二哈希子结果进行哈希运算得到第二哈希结果;对第二哈希结果进行字节序转换处理,得到相应的第二转换处理结果;根据第二转换处理结果对存储区33中存储的预置第一常数进行模运算得到第一数据,并将第一数据存储于内存32中。
在一个可能地实现方式中,处理器31,用于对第二数据、公钥及接收端口34接收到的待签名数据做哈希运算得到第三哈希结果;对第三哈希结果进行字节序转换处理,得到相应的第三转换处理结果;根据第三转换处理结果对预置第一常数进行模运算得到第三数据,并将第三数据存储于内存32中。
在一个可能地实现方式中,处理器31,用于计算第三数据和第一哈希子结果的乘积与第一数据的和,得到第一计算结果;根据第一计算结果对预置第一常数进行模运算得到第四数据,并将第四数据存储于内存32中。
本申请中,通过引入哈希运算来对私钥进行处理,避免了采用随机数加密的安全性问题,保证了对私钥加密处理的安全,提升了数据签名过程的安全性。
下面参考图4,其示出了适于用来实现本申请实施例的电子设备(例如图1中的终端设备)400的结构示意图。本申请实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本申请实施例的方法中限定的上述功能。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
本申请提供的电子设备,适用于上述的密钥设备登录验证方法的任一实施例,在此不再赘述。
本申请中,通过引入哈希运算来对私钥进行处理,避免了采用随机数加密的安全性问题,保证了对私钥加密处理的安全,提升了数据签名过程的安全性,同时通过四维坐标系的引入,提升了运算处理速度。
本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述实施例所示的密钥设备登录验证方法。
本申请提供的计算机可读存储介质,适用于上述的密钥设备登录验证方法的任一实施例,在此不再赘述。
本申请中,通过引入哈希运算来对私钥进行处理,避免了采用随机数加密的安全性问题,保证了对私钥加密处理的安全,提升了数据签名过程的安全性,同时通过四维坐标系的引入,提升了运算处理速度。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本申请公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (18)

1.一种数据签名方法,应用于智能卡设备上,所述智能卡设备包括处理器、内存、存储区及接收端口,其特征在于,包括如下步骤:
所述处理器对所述存储区中存储的预置私钥进行哈希运算得到第一哈希结果,将所述第一哈希结果存储于内存中;并在所述内存中将所述第一哈希结果拆分为第一哈希子结果和第二哈希子结果;
所述处理器根据所述存储区中存储的预置固定点及所述第一哈希子结果生成公钥,将所述公钥存储于所述内存中;
所述处理器根据所述公钥及所述第二哈希子结果生成第一数据;
所述处理器根据所述预置固定点及生成的第一数据生成第二数据;
所述处理器根据所述第二数据、公钥及所述接收端口接收到的待签名数据生成第三数据;
所述处理器根据所述第三数据、第一哈希子结果、第一数据和预置第一常数生成第四数据;
所述处理器根据所述第四数据和所述第二数据构建目标签名结果。
2.如权利要求1所述的方法,其特征在于,所述内存中的第一哈希子结果和第二哈希子结果为具有相同字节的数据,所述处理器根据所述存储区中存储的预置固定点及所述第一哈希子结果生成公钥,包括:
所述处理器对所述第一哈希子结果进行字节序转换及置位处理,得到处理后的第一哈希子结果,并将所述处理后的第一哈希子结果存储到所述内存中;
所述智能卡设备的协处理器对所述预置固定点及所述内存中存储的所述处理后的第一哈希子结果进行点乘处理生成公钥点;
所述协处理器对所述公钥点进行点压缩处理生成公钥,并将所述公钥存储到所述内存中。
3.如权利要求2所述的方法,其特征在于,所述处理器对所述第一哈希子结果进行字节序转换及置位处理,得到处理后的第一哈希子结果,包括:
所述处理器对所述第一哈希子结果进行字节序转换处理,得到相应的第一转换处理结果;
所述处理器将所述第一转换处理结果在第三特定进制下的字节数据中的首位字节的最高位、最后一位字节的倒数三位对应的数值均置零,以及将首位字节的次高位对应的数值置1,得到置位处理后的第一哈希子结果。
4.如权利要求1所述的方法,其特征在于,所述处理器根据所述预置固定点及生成的第一数据生成第二数据,包括:
所述处理器将生成的第一数据存储到所述内存中;
所述智能卡设备的协处理器对所述预置固定点及生成的第一数据进行点乘处理生成第一数据点;
所述协处理器对所述第一数据点进行点压缩处理生成第二数据,并将所述第二数据存储到所述内存中。
5.如权利要求1所述的方法,其特征在于,所述处理器根据所述公钥及所述第二哈希子结果生成第一数据,包括:
所述处理器根据所述公钥及所述第二哈希子结果进行哈希运算得到第二哈希结果;
所述处理器对所述第二哈希结果进行字节序转换处理,得到相应的第二转换处理结果;
所述处理器根据所述第二转换处理结果对所述存储区中存储的预置第一常数进行模运算得到第一数据,并将所述第一数据存储于所述内存中。
6.如权利要求1所述的方法,其特征在于,所述处理器根据所述第二数据、公钥及所述接收端口接收到的待签名数据生成第三数据,包括:
所述处理器对所述第二数据、公钥及接收端口接收到的待签名数据做哈希运算得到第三哈希结果;
所述处理器对所述第三哈希结果进行字节序转换处理,得到相应的第三转换处理结果;
所述处理器根据所述第三转换处理结果对预置第一常数进行模运算得到第三数据,并将所述第三数据存储于所述内存中。
7.如权利要求1所述的方法,其特征在于,所述处理器根据所述第三数据、第一哈希子结果、第一数据和预置第一常数生成第四数据,包括:
所述处理器计算所述第三数据和所述第一哈希子结果的乘积与所述第一数据的和,得到第一计算结果;
所述处理器根据所述第一计算结果对预置第一常数进行模运算得到第四数据,并将所述第四数据存储于所述内存中。
8.如权利要求1所述的方法,其特征在于,所述处理器根据所述第四数据和所述第二数据构建目标签名结果,包括:
所述处理器对所述第四数据进行字节序转换处理,得到相应的第三转换处理结果;
所述处理器将所述第三转换处理结果及所述第二数据进行连接得到目标签名结果。
9.一种智能卡设备,其特征在于,包括处理器、内存、存储区及接收端口:
所述处理器,用于对所述存储区中存储的预置私钥进行哈希运算得到第一哈希结果,将所述第一哈希结果存储于所述内存中;并在所述内存中将所述第一哈希结果拆分为第一哈希子结果和第二哈希子结果;
所述处理器,用于根据所述存储区中存储的预置固定点及所述第一哈希子结果生成公钥,将所述公钥存储于所述内存中;
所述处理器,用于根据所述公钥及所述第二哈希子结果生成第一数据;
所述处理器,用于根据所述预置固定点及生成的第一数据生成第二数据;
所述处理器,用于根据所述第二数据、公钥及所述接收端口接收到的待签名数据生成第三数据;
所述处理器,用于根据所述第三数据、第一哈希子结果、第一数据和预置第一常数生成第四数据;
所述处理器,用于根据所述第四数据和所述第二数据构建目标签名结果。
10.如权利要求9所述的智能卡设备,其特征在于,所述内存中的第一哈希子结果和第二哈希子结果为具有相同字节的数据,所述智能卡设备还包括协处理器,
所述处理器,用于对所述第一哈希子结果进行字节序转换及置位处理,得到处理后的第一哈希子结果,并将所述处理后的第一哈希子结果存储到所述内存中;
所述协处理器,用于对所述预置固定点及所述内存中存储的所述处理后的第一哈希子结果进行点乘处理生成公钥点;对所述公钥点进行点压缩处理生成公钥,并将所述公钥存储到所述内存中。
11.如权利要求10所述的智能卡设备,其特征在于,所述处理器,用于对所述第一哈希子结果进行字节序转换处理,得到相应的第一转换处理结果;将所述第一转换处理结果在第三特定进制下的字节数据中的首位字节的最高位、最后一位字节的倒数三位对应的数值均置零,以及将首位字节的次高位对应的数值置1,得到置位处理后的第一哈希子结果。
12.如权利要求9所述的智能卡设备,其特征在于,所述智能卡设备还包括协处理器,
所述处理器,用于将生成的第一数据存储到所述内存中;
所述协处理器,用于对所述预置固定点及生成的第一数据进行点乘处理生成第一数据点;对所述第一数据点进行点压缩处理生成第二数据,并将所述第二数据存储到所述内存中。
13.如权利要求9所述的智能卡设备,其特征在于,所述处理器,用于根据所述公钥及所述第二哈希子结果进行哈希运算得到第二哈希结果;对所述第二哈希结果进行字节序转换处理,得到相应的第二转换处理结果;根据所述第二转换处理结果对所述存储区中存储的预置第一常数进行模运算得到第一数据,并将所述第一数据存储于所述内存中。
14.如权利要求9所述的智能卡设备,其特征在于,所述处理器,用于对所述第二数据、公钥及接收端口接收到的待签名数据做哈希运算得到第三哈希结果;对所述第三哈希结果进行字节序转换处理,得到相应的第三转换处理结果;根据所述第三转换处理结果对预置第一常数进行模运算得到第三数据,并将所述第三数据存储于所述内存中。
15.如权利要求9所述的智能卡设备,其特征在于,所述处理器,用于计算所述第三数据和所述第一哈希子结果的乘积与所述第一数据的和,得到第一计算结果;根据所述第一计算结果对预置第一常数进行模运算得到第四数据,并将所述第四数据存储于所述内存中。
16.如权利要求9所述的智能卡设备,其特征在于,所述处理器,用于将所述第三转换处理结果及所述第二数据进行连接得到目标签名结果。
17.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行上述权利要求1至权利要求8中任一项所述的数据签名方法。
18.一种计算机可读存储介质,其特征在于,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机执行上述权利要求1至权利要求8中任一项所述的数据签名方法。
CN201911251991.XA 2019-12-09 2019-12-09 数据签名方法、电子设备及计算机可读存储介质 Active CN111130791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911251991.XA CN111130791B (zh) 2019-12-09 2019-12-09 数据签名方法、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911251991.XA CN111130791B (zh) 2019-12-09 2019-12-09 数据签名方法、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111130791A true CN111130791A (zh) 2020-05-08
CN111130791B CN111130791B (zh) 2022-12-20

Family

ID=70497951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911251991.XA Active CN111130791B (zh) 2019-12-09 2019-12-09 数据签名方法、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111130791B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100580A (zh) * 2020-08-13 2020-12-18 宁波吉利汽车研究开发有限公司 一种小内存控制器的验签方法、装置及介质
CN113343259A (zh) * 2021-06-17 2021-09-03 北京宏思电子技术有限责任公司 基于sm2的联合签名实现方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008136193A (ja) * 2006-10-31 2008-06-12 Nippon Telegr & Teleph Corp <Ntt> 署名生成装置、署名検証装置、それらの方法及びプログラム
CN109698751A (zh) * 2018-11-09 2019-04-30 北京中宇万通科技股份有限公司 数字签名生成及验签方法、计算机设备和存储介质
CN110224811A (zh) * 2019-05-13 2019-09-10 中国联合网络通信集团有限公司 物联网加密处理方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008136193A (ja) * 2006-10-31 2008-06-12 Nippon Telegr & Teleph Corp <Ntt> 署名生成装置、署名検証装置、それらの方法及びプログラム
CN109698751A (zh) * 2018-11-09 2019-04-30 北京中宇万通科技股份有限公司 数字签名生成及验签方法、计算机设备和存储介质
CN110224811A (zh) * 2019-05-13 2019-09-10 中国联合网络通信集团有限公司 物联网加密处理方法、装置及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100580A (zh) * 2020-08-13 2020-12-18 宁波吉利汽车研究开发有限公司 一种小内存控制器的验签方法、装置及介质
CN112100580B (zh) * 2020-08-13 2022-08-02 宁波吉利汽车研究开发有限公司 一种小内存控制器的验签方法、装置及介质
CN113343259A (zh) * 2021-06-17 2021-09-03 北京宏思电子技术有限责任公司 基于sm2的联合签名实现方法、装置、电子设备及存储介质
CN113343259B (zh) * 2021-06-17 2023-09-29 北京宏思电子技术有限责任公司 基于sm2的联合签名实现方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111130791B (zh) 2022-12-20

Similar Documents

Publication Publication Date Title
CN110892672B (zh) 提供设备匿名性的密钥认证声明生成
CN110516462B (zh) 用于加密数据的方法和装置
CN109495266B (zh) 基于随机数的数据加密方法及装置
CN111130791B (zh) 数据签名方法、电子设备及计算机可读存储介质
CN112003696A (zh) Sm9密钥生成方法、系统、电子设备、装置及存储介质
CN108880807A (zh) 私钥签名处理方法、装置、设备和介质
CN112865973A (zh) 基于格的加密密钥和数字签名的生成方法
CN114785524A (zh) 电子印章生成方法、装置、设备和介质
CN110545542A (zh) 基于非对称加密算法的主控密钥下载方法、装置和计算机设备
CN110602700B (zh) 种子密钥处理方法、装置及电子设备
CN110796446B (zh) 密钥注入方法、装置、电子设备及计算机可读存储介质
CN111130805A (zh) 安全传输方法、电子设备及计算机可读存储介质
CN113343259B (zh) 基于sm2的联合签名实现方法、装置、电子设备及存储介质
CN116010678B (zh) 一种匿踪查询方法、装置及设备
CN112163046A (zh) 基于区块链的设备数据存储方法、装置及系统
CN116502189A (zh) 软件授权方法、系统、设备和存储介质
CN115525930A (zh) 信息转移方法、装置及相关设备
CN114491421A (zh) 文件加密、文件处理方法、装置、可读介质和电子设备
CN114780124A (zh) 差分升级方法、装置、介质及电子设备
CN112242978B (zh) 一种处理数据的方法和装置
CN111767550A (zh) 数据存储方法和装置
CN110619218B (zh) 用于生成信息的方法和装置
CN113742774B (zh) 数据处理方法、装置、可读介质及电子设备
CN111355584A (zh) 用于生成区块链多重签名的方法和装置
CN113505364B (zh) 密码保护方法、电子设备和计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant