CN111865579B - 基于sm2算法改造的数据加解密方法及装置 - Google Patents

基于sm2算法改造的数据加解密方法及装置 Download PDF

Info

Publication number
CN111865579B
CN111865579B CN202010662854.1A CN202010662854A CN111865579B CN 111865579 B CN111865579 B CN 111865579B CN 202010662854 A CN202010662854 A CN 202010662854A CN 111865579 B CN111865579 B CN 111865579B
Authority
CN
China
Prior art keywords
identification number
decryption
key
ciphertext
user
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.)
Active
Application number
CN202010662854.1A
Other languages
English (en)
Other versions
CN111865579A (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.)
Zhengzhou Xinda Jiean Information Technology Co Ltd
Original Assignee
Zhengzhou Xinda Jiean Information Technology 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 Zhengzhou Xinda Jiean Information Technology Co Ltd filed Critical Zhengzhou Xinda Jiean Information Technology Co Ltd
Priority to CN202010662854.1A priority Critical patent/CN111865579B/zh
Publication of CN111865579A publication Critical patent/CN111865579A/zh
Application granted granted Critical
Publication of CN111865579B publication Critical patent/CN111865579B/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种能保证解密过程正确性及提高私钥安全性的基于SM2算法改造的数据加解密方法及装置,数据加密存储本地:通过标识号id和私钥d生成第二随机数r;通过预置用户口令PIN生成口令派生密钥pk;通过口令派生密钥pk对标识号id和第二随机数r进行加密生成并保存第一密文;通过公钥p对标识号id和用户本地存储数据m进行加密生成并保存第二密文;数据解密:通过输入用户口令PIN’生成另一口令派生密钥pk’;通过口令派生密钥pk’对第一密文进行解密获得另一标识号id’和第三随机数r’;对SM2解密算法中使用私钥过程进行改造,再对第二密文解密获得存储数据m’和新标识号id’’;能保证本地数据安全,在解密运算中不出现私钥明文信息。

Description

基于SM2算法改造的数据加解密方法及装置
技术领域
本发明属于通信技术领域,具体涉及一种能够有效保证解密过程的正确性以及提高私钥安全性的基于SM2算法改造的数据加解密方法及装置。
背景技术
随着物联网技术的快速发展和智能终端应用的推进,智能终端已经成为人们生活中不可或缺的工具,物联网设备或节点也广泛应用于各类物联网技术领域中。目前,智能终端或物联网设备涉及数据的加解密处理等安全操作大多使用密码模块来实现。
然而,在没有密码模块的智能终端、物联网节点中,如何在保证本地数据安全的同时,增加破解私钥难度是目前急需解决的问题。
发明内容
本发明的目的在于克服现有技术中存在的不足而提供一种能够保证本地存储数据的安全性,而且在数据解密运算过程中不出现私钥明文信息的基于SM2算法改造的数据加解密方法及装置。
本发明的目的是这样实现的:
本发明第一方面提出了一种基于SM2算法改造的数据加解密方法,包括进行数据加密存储本地以及进行数据解密;
在数据加解密方法中,进行数据加密存储本地,具体包括:
步骤1)、获取终端的标识号id和生成第一随机数m;
步骤2)、通过所述第一随机数m生成用户公私钥对;其中,用户公钥p由用户私钥d计算生成;
步骤3)、通过所述标识号id和所述用户私钥d生成第二随机数r;
步骤4)、通过预置的用户口令PIN生成口令派生密钥pk;
步骤5)、通过所述口令派生密钥pk对所述标识号id和所述第二随机数r进行加密后生成并保存第一密文;
步骤6)、通过所述用户公钥p对所述标识号id和用户本地存储数据m进行加密后生成并保存第二密文。
进一步的,在数据加解密方法中,进行数据解密具体包括:
步骤1)、当接收到用户解密请求时,通过输入的用户口令PIN’生成另一口令派生密钥pk’;
步骤2)、通过所述口令派生密钥pk’对所述第一密文进行解密后获得另一标识号id’和第三随机数r’;
步骤3)、通过对SM2解密算法中使用私钥过程进行改造后,再对所述第二密文解密后获得存储数据m’和新标识号id’ ’;其中改造过程由另一标识号id’和第三随机数r’参与运算。
更进一步的,在上述步骤中,对所述第一密文进行解密后获得另一标识号id’和第三随机数r’之后还包括:通过将所述标识号id’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第一密文解密成功;否则,解密失败;
对所述第二密文解密后获得存储数据m’和新标识号id’ ’之后还包括:通过将所述新标识号id’ ’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第二密文解密成功;否则,解密失败。
进一步的,所述用户公钥p由用户私钥d计算生成具体为:p=d[G];
所述通过所述标识号id和所述用户私钥d生成第二随机数r具体为:r=id+d modn;
所述通过预置的用户口令PIN生成口令派生密钥pk具体为:pk=KDF(PIN),KDF为密钥派生函数;
所述通过输入的用户口令PIN’生成另一口令派生密钥pk’具体为:pk’=KDF(PIN’);
通过对SM2解密算法中使用私钥过程进行改造具体为:改造[d]C1=[r’-id’] C1=[r’]C1-[id’]C1;
其中,G为SM2椭圆曲线算法的基点,n为SM2椭圆曲线基点G的阶,KDF为密钥派生函数,C1为从所述第二密文中取出的比特串。
进一步的,所述终端的标识号id至少包括终端的IMSI号、IMEI号、用户身份信息的标识号。
本发明另一方面提出了一种基于SM2算法改造的数据加解密装置,应用于终端中,在数据加密存储本地过程中,所述数据加解密装置包括:
标识读取模块,用于获取终端的标识号id;
参数生成模块,用于生成第一随机数m;还用于通过所述第一随机数m生成用户公私钥对,用户公钥p由用户私钥d计算生成;以及用于通过所述标识号id和所述用户私钥d生成第二随机数r;
派生密钥生成模块,用于通过预置的用户口令PIN生成口令派生密钥pk;
第一密文生成模块,用于通过所述口令派生密钥pk对所述标识号id和所述第二随机数r进行加密后生成并保存第一密文;
第二密文生成模块,用于通过所述用户公钥p对所述标识号id和用户本地存储数据m进行加密后生成并保存第二密文。
进一步的,在数据解密过程中,所述数据加解密装置包括:
派生密钥生成模块,用于当接收到用户解密请求时,通过输入的用户口令PIN’生成另一口令派生密钥pk’;
第一解密模块,用于通过所述口令派生密钥pk’对所述第一密文进行解密后获得另一标识号id’和第三随机数r’;
改造模块,用于对SM2解密算法中使用私钥过程进行改造,改造过程由另一标识号id’和第三随机数r’参与运算;
第二解密模块,用于通过改造的SM2解密算法对所述第二密文解密后获得存储数据m’和新标识号id’ ’。
进一步的,所述参数生成模块具体的生成包括:
所述用户公钥p由用户私钥d计算生成具体为:p=d[G];
所述通过所述标识号id和所述用户私钥d生成第二随机数r具体为:r=id+d modn;
所述通过预置的用户口令PIN生成口令派生密钥pk具体为:pk=KDF(PIN),KDF为密钥派生函数;
所述通过输入的用户口令PIN’生成另一口令派生密钥pk’具体为:pk’=KDF(PIN’);
所述改造过程,用于对SM2解密算法中使用私钥过程进行改造具体为:改造[d]C1=[r’-id’] C1=[r’]C1-[id’]C1;
其中,G为SM2椭圆曲线算法的基点,n为SM2椭圆曲线基点G的阶,KDF为密钥派生函数,C1为从所述第二密文中取出的比特串。
进一步的,所述加解密装置还包括验证模块,用于在对所述第一密文解密获得另一标识号id’和第三随机数r’之后,通过将所述标识号id’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第一密文解密成功;否则,解密失败;
验证模块,还用于在对所述第二密文解密获得存储数据m’和新标识号id’ ’之后,通过将所述新标识号id’ ’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第二密文解密成功;否则,解密失败。
进一步的,所述标识读取模块获取的所述终端的标识号id至少包括终端的IMSI号、IMEI号、用户身份信息的标识号。
本发明具有如下突出的实质性特点和显著的进步:
(1)通过标识号id和用户私钥d生成第二随机数r;通过预置的用户口令PIN生成口令派生密钥pk;通过口令派生密钥pk对标识号id和第二随机数r进行加密后生成并保存第一密文;通过用户公钥p对标识号id和用户本地存储数据m进行加密后生成并保存第二密文;能够有效保证本地存储数据的安全存储,而且在终端中不保存私钥d,防止私钥被窃取;
(2)通过所述口令派生密钥pk’对第一密文进行解密后获得另一标识号id’和第三随机数r’;通过对SM2解密算法中使用私钥过程进行改造后,再对第二密文解密后获得存储数据m’和新标识号id’ ’;其中改造过程仅由另一标识号id’和第三随机数r’参与运算;能够有效保证在对SM2算法改造后,解密过程中不出现私钥明文信息,提高了私钥的安全性;
(3)通过将所述标识号id’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第一密文解密成功;否则,解密失败;以及通过将所述新标识号id’ ’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第二密文解密成功;否则,解密失败;能够有效保证解密过程的正确性。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出本发明一种基于SM2算法改造的数据加解密方法中数据加密存储本地的方法流程图。
图2示出本发明一种基于SM2算法改造的数据加解密方法中数据解密的方法流程图。
图3示出本发明一种基于SM2算法改造的数据加解密方法中另一数据解密的方法流程图。
图4示出本发明一种基于SM2算法改造的数据加解密装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例1:如图1所示,本发明第一方面提出一种基于SM2算法改造的数据加解密方法,包括进行数据加密存储本地以及进行数据解密。
所述数据加解密方法中,进行数据加密存储本地具体包括:
步骤1)、获取终端的标识号id和生成第一随机数m;
步骤2)、通过所述第一随机数m生成用户公私钥对;其中,用户公钥p由用户私钥d计算生成;
步骤3)、通过所述标识号id和所述用户私钥d生成第二随机数r;
步骤4)、通过预置的用户口令PIN生成口令派生密钥pk;
步骤5)、通过所述口令派生密钥pk对所述标识号id和所述第二随机数r进行加密后生成并保存第一密文;
步骤6)、通过所述用户公钥p对所述标识号id和用户本地存储数据m进行加密后生成并保存第二密文。
需要说明的是,用户公钥p可保存,用户私钥d不保存,再通过口令派生密钥对相关参数进行加密,保证了数据的安全存储。
如图2所示,所述数据加解密方法中,进行数据解密具体包括:
步骤1)、当接收到用户解密请求时,通过输入的用户口令PIN’生成另一口令派生密钥pk’;
步骤2)、通过所述口令派生密钥pk’对所述第一密文进行解密后获得另一标识号id’和第三随机数r’;
步骤3)、通过对SM2解密算法中使用私钥过程进行改造后,再对所述第二密文解密后获得存储数据m’和新标识号id’ ’;其中改造过程由另一标识号id’和第三随机数r’参与运算。
具体的,所述用户公钥p由用户私钥d计算生成具体为:p=d[G];
所述通过所述标识号id和所述用户私钥d生成第二随机数r具体为:r=id+d modn;
所述通过预置的用户口令PIN生成口令派生密钥pk具体为:pk=KDF(PIN),KDF为密钥派生函数;
所述通过输入的用户口令PIN’生成另一口令派生密钥pk’具体为:pk’=KDF(PIN’);
通过对SM2解密算法中使用私钥过程进行改造具体为:改造[d]C1=[r’-id’] C1=[r’]C1-[id’]C1;
其中,G为SM2椭圆曲线算法的基点,n为SM2椭圆曲线基点G的阶,KDF为密钥派生函数,C1为从所述第二密文中取出的比特串。
需要说明的是,现有SM2解密算法的过程如下:
输入:SM2结构密文比特串C, 私钥d
输出:明文M’
算法:
1) 从密文比特串C=C1||C3||C2中取出C1,将C1转换成椭圆曲线上的点;
2) 验证C1, 计算S=[h] C1,如果S是无穷远点,出错退出;
3) 计算(x2,y2)=[d] C1;
4) 计算t=KDF(x2||y2, klen), KDF是密钥派生函数,如果t是全0比特串,出错退出;
5) 从C=C1||C3||C2中取出C2,计算M’= C2⊕t;
6) 计算u=Hash(x2||M’||y2),比较u是否与C3相等,不相等则退出;
7) 输出明文M’。
在具体的实施例中,将SM2解密算法中第三步[d]C1的计算进行改造,[d]C1=[r’-id’] C1=[r’]C1-[id’]C1,在解密过程中不会再出现私钥d,仅仅由r’和id’、C1参与运算,因此保证了私钥的安全性。
具体的,对所述第一密文进行解密后获得另一标识号id’和第三随机数r’之后还包括:通过将所述标识号id’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第一密文解密成功;否则,解密失败;
对所述第二密文解密后获得存储数据m’和新标识号id’ ’之后还包括:通过将所述新标识号id’ ’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第二密文解密成功;否则,解密失败。
实施例2:如图3所示,所述数据加解密方法中进行数据加密存储本地不再叙述。在具体的实施例中,数据解密完整的过程为:
步骤1)、当接收到用户解密请求时,通过输入的用户口令PIN’生成另一口令派生密钥pk’;
步骤2)、通过所述口令派生密钥pk’对所述第一密文进行解密后获得另一标识号id’和第三随机数r’;
步骤3)、通过将所述标识号id’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第一密文解密成功;否则,解密失败;
步骤4)、通过对SM2解密算法中使用私钥过程进行改造后,再对所述第二密文解密后获得存储数据m’和新标识号id’ ’;其中改造过程由另一标识号id’和第三随机数r’参与运算;
步骤5)、通过将所述新标识号id’ ’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第二密文解密成功;否则,解密失败。
具体的,所述终端的标识号id至少包括终端的IMSI号、IMEI号、用户身份信息的标识号。
如图4所示,本发明还提出一种基于SM2算法改造的数据加解密装置,应用于终端中,在数据加密存储本地过程中,所述数据加解密装置包括:
标识读取模块,用于获取终端的标识号id;
参数生成模块,用于生成第一随机数m;还用于通过所述第一随机数m生成用户公私钥对,用户公钥p由用户私钥d计算生成;以及用于通过所述标识号id和所述用户私钥d生成第二随机数r;
派生密钥生成模块,用于通过预置的用户口令PIN生成口令派生密钥pk;
第一密文生成模块,用于通过所述口令派生密钥pk对所述标识号id和所述第二随机数r进行加密后生成并保存第一密文;
第二密文生成模块,用于通过所述用户公钥p对所述标识号id和用户本地存储数据m进行加密后生成并保存第二密文。
具体的,在数据解密过程中,所述数据加解密装置包括:
派生密钥生成模块,用于当接收到用户解密请求时,通过输入的用户口令PIN’生成另一口令派生密钥pk’;
第一解密模块,用于通过所述口令派生密钥pk’对所述第一密文进行解密后获得另一标识号id’和第三随机数r’;
改造模块,用于对SM2解密算法中使用私钥过程进行改造,改造过程由另一标识号id’和第三随机数r’参与运算;
第二解密模块,用于通过改造的SM2解密算法对所述第二密文解密后获得存储数据m’和新标识号id’ ’。
具体的,所述参数生成模块具体的生成包括:
所述用户公钥p由用户私钥d计算生成具体为:p=d[G];
所述通过所述标识号id和所述用户私钥d生成第二随机数r具体为:r=id+d modn;
所述通过预置的用户口令PIN生成口令派生密钥pk具体为:pk=KDF(PIN),KDF为密钥派生函数;
所述通过输入的用户口令PIN’生成另一口令派生密钥pk’具体为:pk’=KDF(PIN’);
所述改造过程,用于对SM2解密算法中使用私钥过程进行改造具体为:改造[d]C1=[r’-id’] C1=[r’]C1-[id’]C1;
其中,G为SM2椭圆曲线算法的基点,n为SM2椭圆曲线基点G的阶,KDF为密钥派生函数,C1为从所述第二密文中取出的比特串。
具体的,所述加解密装置还包括验证模块,用于在对所述第一密文解密获得另一标识号id’和第三随机数r’之后,通过将所述标识号id’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第一密文解密成功;否则,解密失败;
验证模块,还用于在对所述第二密文解密获得存储数据m’和新标识号id’ ’之后,通过将所述新标识号id’ ’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第二密文解密成功;否则,解密失败。
具体的,所述标识读取模块获取的所述终端的标识号id至少包括终端的IMSI号、IMEI号、用户身份信息的标识号。
本发明通过标识号id和用户私钥d生成第二随机数r;通过预置的用户口令PIN生成口令派生密钥pk;通过口令派生密钥pk对标识号id和第二随机数r进行加密后生成并保存第一密文;通过用户公钥p对标识号id和用户本地存储数据m进行加密后生成并保存第二密文;能够有效保证本地存储数据的安全存储,而且在终端中不保存私钥明文,防止私钥被窃取;
通过所述口令派生密钥pk’对第一密文进行解密后获得另一标识号id’和第三随机数r’;通过对SM2解密算法中使用私钥过程进行改造后,再对第二密文解密后获得存储数据m’和新标识号id’ ’;其中改造过程由另一标识号id’和第三随机数r’参与运算;能够有效保证在对SM2算法改造后,解密过程中不出现私钥明文信息,提高了私钥的安全性;
通过将所述标识号id’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第一密文解密成功;否则,解密失败;以及通过将所述新标识号id’ ’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第二密文解密成功;否则,解密失败;能够有效保证解密过程的正确性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于SM2算法改造的数据加解密方法,包括进行数据加密存储本地以及进行数据解密,其特征在于,在数据加解密方法中,进行数据加密存储本地具体包括:
步骤1)、获取终端的标识号id和生成第一随机数m;
步骤2)、通过所述第一随机数m生成用户公私钥对;其中,用户公钥p由用户私钥d计算生成;
步骤3)、通过所述标识号id和所述用户私钥d生成第二随机数r;
步骤4)、通过预置的用户口令PIN生成口令派生密钥pk;
步骤5)、通过所述口令派生密钥pk对所述标识号id和所述第二随机数r进行加密后生成并保存第一密文;
步骤6)、通过所述用户公钥p对所述标识号id和用户本地存储数据m进行加密后生成并保存第二密文。
2.根据权利要求1所述的一种基于SM2算法改造的数据加解密方法,其特征在于,在数据加解密方法中,进行数据解密具体包括:
步骤1)、当接收到用户解密请求时,通过输入的用户口令PIN’生成另一口令派生密钥pk’;
步骤2)、通过所述口令派生密钥pk’对所述第一密文进行解密后获得另一标识号id’和第三随机数r’;
步骤3)、通过对SM2解密算法中使用私钥过程进行改造后,再对所述第二密文解密后获得存储数据m’和新标识号id”;其中改造过程由另一标识号id’和第三随机数r’参与运算。
3.根据权利要求2所述的一种基于SM2算法改造的数据加解密方法,其特征在于,对所述第一密文进行解密后获得另一标识号id’和第三随机数r’之后还包括:通过将所述标识号id’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第一密文解密成功;否则,解密失败;
对所述第二密文解密后获得存储数据m’和新标识号id”之后还包括:通过将所述新标识号id”与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第二密文解密成功;否则,解密失败。
4.根据权利要求1或2所述的一种基于SM2算法改造的数据加解密方法,其特征在于,所述用户公钥p由用户私钥d计算生成具体为:p=d[G];
所述通过所述标识号id和所述用户私钥d生成第二随机数r具体为:r=id+dmod n;
所述通过预置的用户口令PIN生成口令派生密钥pk具体为:pk=KDF(PIN),KDF为密钥派生函数;
所述通过输入的用户口令PIN’生成另一口令派生密钥pk’具体为:pk’=KDF(PIN’);
通过对SM2解密算法中使用私钥过程进行改造具体为:改造[d]C1=[r’-id’]C1=[r’]C1-[id’]C1;
其中,G为SM2椭圆曲线算法的基点,n为SM2椭圆曲线基点G的阶,KDF为密钥派生函数,C1为从所述第二密文中取出的比特串。
5.根据权利要求1或2所述的一种基于SM2算法改造的数据加解密方法,其特征在于,所述终端的标识号id至少包括终端的IMSI号、IMEI号、用户身份信息的标识号。
6.一种基于SM2算法改造的数据加解密装置,其特征在于,应用于终端中,在数据加密存储本地过程中,所述数据加解密装置包括:
标识读取模块,用于获取终端的标识号id;
参数生成模块,用于生成第一随机数m;还用于通过所述第一随机数m生成用户公私钥对,用户公钥p由用户私钥d计算生成;以及用于通过所述标识号id和所述用户私钥d生成第二随机数r;
派生密钥生成模块,用于通过预置的用户口令PIN生成口令派生密钥pk;
第一密文生成模块,用于通过所述口令派生密钥pk对所述标识号id和所述第二随机数r进行加密后生成并保存第一密文;
第二密文生成模块,用于通过所述用户公钥p对所述标识号id和用户本地存储数据m进行加密后生成并保存第二密文。
7.根据权利要求6所述的基于SM2算法改造的数据加解密装置,其特征在于,在数据解密过程中,所述数据加解密装置包括:
派生密钥生成模块,用于当接收到用户解密请求时,通过输入的用户口令PIN’生成另一口令派生密钥pk’;
第一解密模块,用于通过所述口令派生密钥pk’对所述第一密文进行解密后获得另一标识号id’和第三随机数r’;
改造模块,用于对SM2解密算法中使用私钥过程进行改造,改造过程由另一标识号id’和第三随机数r’参与运算;
第二解密模块,用于通过改造的SM2解密算法对所述第二密文解密后获得存储数据m’和新标识号id”。
8.根据权利要求7所述的基于SM2算法改造的数据加解密装置,其特征在于,所述参数生成模块具体的生成包括:
所述用户公钥p由用户私钥d计算生成具体为:p=d[G];
所述通过所述标识号id和所述用户私钥d生成第二随机数r具体为:r=id+dmod n;
所述通过预置的用户口令PIN生成口令派生密钥pk具体为:pk=KDF(PIN),KDF为密钥派生函数;
所述通过输入的用户口令PIN’生成另一口令派生密钥pk’具体为:pk’=KDF(PIN’);
所述改造过程,用于对SM2解密算法中使用私钥过程进行改造具体为:改造[d]C1=[r’-id’]C1=[r’]C1-[id’]C1;
其中,G为SM2椭圆曲线算法的基点,n为SM2椭圆曲线基点G的阶,KDF为密钥派生函数,C1为从所述第二密文中取出的比特串。
9.根据权利要求7所述的基于SM2算法改造的数据加解密装置,其特征在于,所述加解密装置还包括验证模块,用于在对所述第一密文解密获得另一标识号id’和第三随机数r’之后,通过将所述标识号id’与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第一密文解密成功;否则,解密失败;
验证模块,还用于在对所述第二密文解密获得存储数据m’和新标识号id”之后,通过将所述新标识号id”与获取的所述终端标识号id进行比对验证,若比对一致,则对所述第二密文解密成功;否则,解密失败。
10.根据权利要求6所述的基于SM2算法改造的数据加解密装置,其特征在于,所述标识读取模块获取的所述终端的标识号id至少包括终端的IMSI号、IMEI号、用户身份信息的标识号。
CN202010662854.1A 2020-07-10 2020-07-10 基于sm2算法改造的数据加解密方法及装置 Active CN111865579B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010662854.1A CN111865579B (zh) 2020-07-10 2020-07-10 基于sm2算法改造的数据加解密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010662854.1A CN111865579B (zh) 2020-07-10 2020-07-10 基于sm2算法改造的数据加解密方法及装置

Publications (2)

Publication Number Publication Date
CN111865579A CN111865579A (zh) 2020-10-30
CN111865579B true CN111865579B (zh) 2022-04-08

Family

ID=73153209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010662854.1A Active CN111865579B (zh) 2020-07-10 2020-07-10 基于sm2算法改造的数据加解密方法及装置

Country Status (1)

Country Link
CN (1) CN111865579B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788046A (zh) * 2021-01-22 2021-05-11 中信银行股份有限公司 一种加密传输信息的方法及系统
CN114513302A (zh) * 2022-01-24 2022-05-17 上海焜耀网络科技有限公司 一种数据加解密方法及设备
CN116032655B (zh) * 2023-02-13 2023-07-25 杭州天谷信息科技有限公司 一种可抵御计时攻击的身份鉴别方法以及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760752B1 (en) * 1999-06-28 2004-07-06 Zix Corporation Secure transmission system
US8971528B2 (en) * 2013-01-29 2015-03-03 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
CN104660397A (zh) * 2013-11-18 2015-05-27 卓望数码技术(深圳)有限公司 密钥管理方法及系统
CN108111524A (zh) * 2017-12-28 2018-06-01 广州江南科友科技股份有限公司 基于私钥动态生成机制的终端数据保护方法及系统
CN108494551A (zh) * 2018-03-16 2018-09-04 数安时代科技股份有限公司 基于协同密钥的处理方法、系统、计算机设备及存储介质
CN109067545A (zh) * 2018-08-10 2018-12-21 航天信息股份有限公司 密钥管理方法、装置及存储介质

Also Published As

Publication number Publication date
CN111865579A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111865579B (zh) 基于sm2算法改造的数据加解密方法及装置
CN111464301B (zh) 一种密钥管理方法及系统
CN107395368B (zh) 无介质环境中的数字签名方法及解封装方法与解密方法
CN108509787B (zh) 一种程序认证方法
CN111526007B (zh) 一种随机数生成方法及系统
CN111181723B (zh) 物联网设备间离线安全认证的方法和装置
CN113472793A (zh) 一种基于硬件密码设备的个人数据保护系统
CN113285959A (zh) 一种邮件加密方法、解密方法及加解密系统
CN114826656A (zh) 一种数据链路可信传输方法和系统
CN112564906A (zh) 一种基于区块链的数据安全交互方法及系统
CN113114475A (zh) 基于比特自检puf身份认证系统及协议
CN111079178B (zh) 一种可信电子病历脱敏和回溯方法
CN109218251B (zh) 一种防重放的认证方法及系统
CN110493177B (zh) 基于非对称密钥池对和序列号的量子通信服务站aka密钥协商方法和系统
US8670567B2 (en) Recovery of expired decryption keys
CN112165386A (zh) 一种基于ecdsa的数据加密方法及系统
CN114499857A (zh) 一种实现大数据量子加解密中数据正确性与一致性的方法
CN107104792B (zh) 一种便携式移动口令管理系统及其管理方法
CN114124513B (zh) 身份认证方法、系统、装置、电子设备和可读介质
CN116192437A (zh) 一种基于区块链及Signal协议的配网作业安全接入方法及系统
CN110890959B (zh) 一种账户改密的方法、系统及装置
CN114386020A (zh) 基于量子安全的快速二次身份认证方法及系统
CN114285557A (zh) 通信加密方法、系统和装置
CN114244509A (zh) 使用移动终端进行sm2一次一密双向认证开锁的方法
CN113505387A (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