CN115442102B - 一种基于sm9算法的等式测试方法 - Google Patents
一种基于sm9算法的等式测试方法 Download PDFInfo
- Publication number
- CN115442102B CN115442102B CN202211043101.8A CN202211043101A CN115442102B CN 115442102 B CN115442102 B CN 115442102B CN 202211043101 A CN202211043101 A CN 202211043101A CN 115442102 B CN115442102 B CN 115442102B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- user
- inputting
- key
- private key
- 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
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 105
- 238000010998 test method Methods 0.000 title claims abstract description 12
- 238000012360 testing method Methods 0.000 claims abstract description 45
- 238000000605 extraction Methods 0.000 claims abstract description 13
- 238000013475 authorization Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 10
- 238000009795 derivation Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 101150025733 pub2 gene Proteins 0.000 claims 2
- 230000006870 function Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
- H04L9/3073—Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
- H04L9/3242—Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及密码算法技术领域,公开了一种基于SM9算法的等式测试方法,包括:使用***初始化算法初始化授权***,输入安全参数,密钥生成中心运行***初始化算法并生成***公开参数、***主密钥和消息空间;在私钥提取算法中输入***公开参数、用户id和***主密钥,密钥生成中心运行私钥提取算法生成用户身份所对应的私钥;在陷门生成算法中输入用户id,用户运行陷门生成算法生成陷门;在加密算法中输入明文、用户id和用户私钥,输出密文;在密文解密算法中输入密文消息、用户id和用户私钥,解密输出明文消息;在等式测试算法中分别输入两位不同用户的陷门以及分别使用两位用户公钥加密的密文,云服务器执行等式测试算法输出判等结果。
Description
技术领域
本发明涉及密码算法技术领域,具体地说,是一种基于SM9算法的等式测试方法,用于云辅助的物联网环境,为基于云的物联网环境的用户提供机密性、完整性、可搜索行和访问控制服务,具有可观的商业价值和良好的应用前景。
背景技术
随着以云计算为代表的信息技术的飞速发展,越来越多的组织和个人开始将自己的数据存储到云服务器上,以减少管理和运行上的成本和开销。云服务器的应用使得用户能够高效快捷的共享自己的数据。但是出于安全考虑,这些数据都是以加密的形式进行存储的,因此如何在加密数据上进行安全高效的搜索成为了一个亟待解决的问题。
等式测试(Public Key Encryption with Equality Test,PKE-ET)最早由Yang等人提出。相较于只能在由相同公钥加密的密文中进行搜索的传统的可搜索加密算法,等式测试算法除了能够在由相同公钥加密的密文中进行搜索,还可以在由不同公钥加密的密文中进行搜索,判断两个密文中是否包含相同的信息。由于其独特的特性,等式测试算法常被用于云服务器上加密数据的搜索。但是现有的等式测试加密方法大多数是基于传统的公钥密码体制提出的。传统的公钥密码体制依赖公钥基础设施来提供服务,而这导致了昂贵的证书管理开销。
国密算法SM9是中华人民共和国政府采用的一种标识密码标准,是一种基于双线性对的标识密码算法,它可以把用户的身份标识用以生成用户的公、私密钥对,主要用于数字签名、数据加密、密钥交换以及身份认证等,可以非常良好的与等式测试结合,实现可搜索加密技术。
到目前为止,还没有研究人员提出支持等式测试的国密算法,因此,本发明创造性的提出了一种基于SM9算法的等式测试方法,用于云辅助的物联网环境,为基于云的物联网环境的用户提供机密性、完整性、可搜索行和访问控制服务,具有可观的商业价值和良好的应用前景。
发明内容
本发明的目的在于提供一种基于SM9算法的等式测试方法,本发明将等式测试与国密算法SM9结合,允许获得授权的第三方实体测试由不同公钥加密的密文中是否包含相同的信息。同时,本发明不仅保护了密文的机密性,还解决了密文难以搜索的问题,更好的满足了云环境中的安全需求。
本发明通过下述技术方案实现:一种基于SM9算法的等式测试方法,包括以下步骤:
步骤S1,使用***初始化算法初始化授权***,输入安全参数,密钥生成中心运行***初始化算法并生成***公开参数、***主密钥和消息空间;
步骤S2,在私钥提取算法中输入***公开参数、用户id和***主密钥,密钥生成中心运行私钥提取算法生成用户身份所对应的私钥;
步骤S3,在陷门生成算法中输入用户id,用户运行陷门生成算法生成陷门;
步骤S4,在加密算法中输入明文、用户id和用户私钥,输出密文;
步骤S5,在密文解密算法中输入密文消息、用户id和用户私钥,解密输出明文消息;
步骤S6,在等式测试算法中分别输入两位不同用户的陷门以及分别使用两位用户公钥加密的密文,云服务器执行等式测试算法输出判等结果。
为了更好地实现本发明,进一步地,所述步骤S1包括:
在***初始化算法中输入安全参数k;
构造阶数为N的群G1、G2、GT,调用SM9规定的密钥派生函数KDF消息认证码函数MAC;
使用G1、G2、GT获取双线性对映射e,并表示为e:G1×G2→GT;
获取G1的生成元P1,获取G2的生成元P2;
密钥生成中心随机选取s,s′∈[1,N-1],作为主私钥对(s,s′),并计算主公钥Ppub1和Ppub2,并表示为Ppub1=[s]P1,Ppub2=[s′]P1
密钥生成中心在***初始化算法中根据G1、G2、GT、密钥派生函数KDF、消息认证码函数MAC、双线性对映射e、生成元P1、生成元P2、主公钥Ppub1和Ppub2运行***初始化算法Setup(k)生成***公开参数params和消息空间M,***公开参数params表示为params:<G1,G2,GT,e,P1,P2,Ppub1,Ppub2,KDF,MAC>,消息空间M表示为
为了更好地实现本发明,进一步地,所述步骤S2包括:
在私钥提取算法中输入***公开参数params,用户id和***主密钥,将用户id输入为用户身份IDA;
在有限域FN上计算中间变量t1和t2,t1=H1(IDA)+s,若t1=0则需要重新产生主私钥,否则计算然后根据dA1和dA2计算用户身份IDA的私钥dA,并表示为dA=(dA1,dA2);
dA1的表达式为dA1=[t2]P2=[s·(H1(IDA)+s)-1]P2;
dA2的表达式为dA2=[t′2]P2=[s′·(H1(IDA)+s)-1]P2。
为了更好地实现本发明,进一步地,所述步骤S3包括:
在陷门生成算法中输入用户id,将用户id输入为用户身份IDA;
用户运行陷门生成算法生成陷门tdA,并表示为:tdA=[t′2]P2。
为了更好地实现本发明,进一步地,所述步骤S4包括:
在加密算法中输入明文、用户id和用户私钥d,将用户id输入为用户身份IDA,输出密文C作为密文消息发送给解密用户。
为了更好地实现本发明,进一步地,所述步骤S5包括:
在解密算法中输入密文C,用户id和用户私钥d,解密输出明文M。
为了更好地实现本发明,进一步地,所述步骤S6包括:
在等式测试算法中输入两个用户的密文和两个陷门,对两个密文执行相等性测试,以判断这对密文中是否包含相同的明文。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明实现了可搜索加密功能。获得授权的第三方实体可以在***露任何有关明文信息的条件下,判断由不同公钥所加密的密文中是否包含相同的明文。既保证了密文的机密性,又提供了可搜索性;
(2)本发明基于SM9加密算法,结合了云服务器上实施等式测试的方法。本方案以用户身份为参数生成公私钥对,提取用户私钥的一部分生成等式测试的陷门,创造性的实现了等式测试与国密算法的结合;
(3)本发明所提出的方法在通信上具有计算开销的优势,与现有的等式测试算法相比,本发明在加密、解密和等式测试过程中具有计算开销的优势;
(4)本发明所提出的方法提供了密文的消息完整性认证,利用消息认证码函数,防止信息在传输过程中被篡改。
附图说明
本发明结合下面附图和实施例做进一步说明,本发明所有构思创新应视为所公开内容和本发明保护范围。
图1为本发明提供的一种基于SM9算法的等式测试方法流程图。
图2为本发明提供的等式测试方法中加密时间对比图。
图3为本发明提供的等式测试方法中解密时间对比图。
图4为本发明提供的等式测试方法中等式测试时间对比图。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,因此不应被看作是对保护范围的限定。基于本发明中的实施例,本领域普通技术工作人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;也可以是直接相连,也可以是通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1:
本实施例的一种基于SM9算法的等式测试方法,如图1所示,本发明一共构造了6个算法,分别是***建立算法Setup、私钥提取算法KeyExtract、陷门生成算法Trapdoor、加密算法Encrypt、密文解密算法Decrypt和等式测试算法Test。
本发明共涉及四种实体:用户,数据上传者,云服务器和密钥生成中心(KeyGeneration Center,KGC)。所述方法的具体步骤包括:
(1)***建立Setup:输入安全参数,KGC运行该算法并生成***公开参数和***主密钥,包括消息空间;
(2)私钥提取KeyExtract:输入***公开参数,用户ID和主密钥,KGC运行该算法生成用户身份所对应的私钥;
(3)陷门生成Trapdoor:输入用户ID,用户运行该算法生成陷门;
(4)加密Encrypt:输入明文、用户ID和用户私钥,输出密文;
(5)密文解密Decrypt:输入密文消息,用户ID和用户私钥,解密输出明文消息;
(6)等式测试Test:分别输入两位不同用户的陷门以及分别使用两位用户公钥加密的密文,云服务器执行等式测试,输出判等结果。
本发明允许第三方实体在获得授权后,对两段密文执行等式测试,在***露任何明文信息的情况下,实现了密文的可搜索性。在本实施例中,发送方使用接收方的身份生成公钥对消息加密,在加密时,使用国家密码管理局批准的密钥派生函数KDF生成密钥对,分别对密文进行加密以及消息完整性认证,使用用户私钥的一部分生成陷门,从而对两个密文执行相等性测试,以判断这对密文中是否包含相同的明文。本发明可用于云辅助的物联网环境,为基于云的物联网环境的用户提供机密性、完整性、可搜索行和访问控制服务,具有可观的商业价值和良好的应用前景。
实施例2:
本实施例在实施例1的基础上做进一步优化,使用***初始化算法初始化授权***,输入安全参数,密钥生成中心运行***初始化算法并生成***公开参数、***主密钥和消息空间的过程如下:
***建立Setup:通过运行Setup算法,KGC初始化密码***。输入安全参数k,KGC运行该算法,输出***公开参数params:<G1,G2,GT,e,P1,P2,Ppub1,Ppub2,KDF,MAC>、***主密钥和消息空间
私钥提取KeyExtract:通过运行KeyExtract算法,KGC生成用户身份所对应的私钥d,并将其发送给用户,用户使用私钥d对密文解密。输入***公开参数params,用户ID,输出用户身份所对应的私钥d;
陷门生成Trapdoor:通过运行Trapdoor算法,用户生成陷门td以执行等式测试。输入用户ID以及用户私钥d,输出对应的陷门td;
加密Encrypt:通过运行Encrypt算法,用户将消息M加密为密文C。输入明文M和用户ID,输出密文C;
密文解密Decrypt:通过运行Decrypt算法,用户解密密文C生成消息M。输入密文C,用户ID和用户私钥d,解密输出明文M;
等式测试Test:通过运行Test算法,云服务器执行等式测试以判断两段密文中是否包含相同的明文。输入IDA对应的密文CA和陷门tdA,IDB对应的密文CB和陷门tdB,云服务器执行等式测试,若CA和CB的内容为相同的明文,则输出1,否则输出0。
首先执行***建立算法,输入安全参数k,初始化***并输出***参数params,并表示为params:<G1,G2,GT,e,P1,P2,Ppub1,Ppub2,KDF,MAC>,其中,G1、G2、GT是构造阶数为N的群,Mac为消息认证码函数。
其中e为双线性对映射e:G1×G2→GT,G1,G2的阶均为N,P1为G1的生成元,P2为G2的生成元。消息空间用户的身份id∈{0,1}*均为比特串。
密钥生成中心随机选取s,s′∈[1,N-1],作为主私钥对(s,s′),并计算主公钥Ppubl=[s]P1,Ppub2=[s′]P1。
获取密钥生成中心公布的五个哈希函数:H2:GT→G2,H3:G1→{0,1}*,H4:{0,1}*→G2,H5:GT→{0,1}*。
调用SM9规定的密钥派生函数KDF(Z,klen),输入比特串Z、非负整数klen,输出长度为klen的密钥数据比特串K。
消息认证码函数MAC(K2,Z),输入为比特长度K2_len的密钥K2,比特串消息Z。其作用是防止消息数据Z被非法篡改。
本实施例的其他部分与实施例1相同,故不再赘述。
实施例3:
本实施例在上述实施例1或2的基础上做进一步优化,在私钥提取算法KeyExtract中输入***公开参数params、用户id和主密钥,密钥生成中心运行私钥提取算法生成用户身份所对应的私钥。
输入***公开参数params、用户身份IDA和***主密钥,密钥生成中心按如下方式生成用户身份IDA的私钥dA:
在有限域FN上计算t1=H1(IDA)+s,若t1=0则需要重新产生主私钥;否则计算然后计算dA=(dA1,dA2),此处的(s,s′)是主私钥对。
dA1=[t2]P2=[s·(H1(IDA)+s)-1]P2;
dA2=[t′2]P2=[s′·(H1(IDA)+s)-1]P2;
本实施例的其他部分与上述实施例1或2相同,故不再赘述。
实施例4:
本实施例在上述实施例1-3任一项的基础上做进一步优化,在陷门生成算法中输入用户id,用户运行陷门生成算法生成陷门。
本实施例的其他部分与上述实施例1-3任一项相同,故不再赘述。
实施例5:
本实施例在上述实施例1-4任一项基础上做进一步优化,在加密算法中输入明文、用户id和用户私钥,输出密文。
输入***公开参数params、用户身份IDA,运算生成用户公钥QA。对于消息长度为mlen比特的比特串M∈{0,1}*,mlen为密钥K1的比特长度,K2_len为MAC(K2,Z)中密钥K2的比特长度按如下计算过程运算:
-QA=[H1(IDA)]P1+Ppub1;
-随机选取r1,r2∈[1,N-1];
-C1=[r1]QA;
-g=e(Ppub1,P2);
-
-计算K1,K2:
①klen=mlen+K2_len,
②K1||K2=KDF(H3(C1)||H5(w)||IDA,klen)。
-
-C3=MAC(K2,C2);
-
-C5=[r1]P1;
-C6=[r2]QA;
-输出C=(C1,C2,C3,C4,C5,C6)作为密文。
本实施例的其他部分与上述实施例1-4任一项相同,故不再赘述。
实施例6:
本实施例在上述实施例1-5任一项基础上做进一步优化,在密文解密算法中输入密文消息、用户id和用户私钥,解密输出明文消息。
在密文解密算法中输入C=(C1,C2,C3,C4,C5,C6),私钥dA=(dA1,dA2)和用户身份IDA:
验证C1∈G1,若不成立则无法解密;
w′=e(C1,dA1);
klen=mlen+K2_len;
K′1||K′2=KDF(H3(C1)||H5(w′)||IDA,klen);
u=MAC(K′2,C2),若u≠C3,则解密失败,密文完整性有误;
输出M′作为消息的明文。
本实施例的其他部分与上述实施例1-5任一项相同,故不再赘述。
实施例7:
本实施例在上述实施例1-6任一项基础上做进一步优化,在等式测试算法中分别输入两位不同用户的陷门以及分别使用两位用户公钥加密的密文,云服务器执行等式测试算法输出判等结果。
在等式测试算法中输入两个用户的密文σα=(Cα,1,Cα,2,Cα,3,Cα,4,Cα,5,Cα,6),σβ=(Cβ,1,Cβ,2,Cβ,3,Cβ,4,Cβ,5,Cβ,6)和两个陷门tdα,tdβ:
若e(Cα,5,Xβ)=e(Cβ,5,Xα),则Mα=Mβ。
本实施例的其他部分与上述实施例1-6任一项相同,故不再赘述。
实施例7:
本实施例在上述实施例1-6任一项基础上做进一步优化,在本发明的另一些具体实施例中,将本发明与CLE-ET、IBE-ET、PKE-ET对比,实验环境在处理器为Intel(R)Core(TM)i7-8750H,内存为16GB,操作***为Windows10下运行,选用Eclipse作为平台,Java作为编程语言,调用JPBC(Java Pairing-Based Cryptography Library)库中实现双线性对的接口,实现了双线性对公钥密码体制的有效仿真,达到了1024位RSA安全。
在多个对比实验中,以消息的规模作为变量,分别对本发明的加密算法,解密算法和等式测试算法进行模拟运行,对比了本方案的计算效率,如图2至图4可见,本方案在提供了等式测试的情况下,在效率上任然具有一定的优势。
本实施例的其他部分与上述实施例1-6任一项相同,故不再赘述。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (4)
1.一种基于SM9算法的等式测试方法,其特征在于,包括以下步骤:
步骤S1,使用***初始化算法初始化授权***,输入安全参数,密钥生成中心运行***初始化算法并生成***公开参数、***主密钥和消息空间;
步骤S2,在私钥提取算法中输入***公开参数、用户id和***主密钥,密钥生成中心运行私钥提取算法生成用户身份所对应的私钥;
步骤S3,在陷门生成算法中输入用户id,用户运行陷门生成算法生成陷门;
步骤S4,在加密算法中输入明文、用户id和用户私钥,输出密文;
步骤S5,在密文解密算法中输入密文消息、用户id和用户私钥,解密输出明文消息;
步骤S6,在等式测试算法中分别输入两位不同用户的陷门以及分别使用两位用户公钥加密的密文,云服务器执行等式测试算法输出判等结果;
所述步骤S1包括:
在***初始化算法中输入安全参数k;
构造阶数为N的群G1、G2、GT,调用SM9规定的密钥派生函数KDF、消息认证码函数MAC;
使用G1、G2、GT获取双线性对映射e,并表示为e:G1×G2→GT;
获取G1的生成元P1,获取G2的生成元P2;
密钥生成中心随机选取s,s′∈[1,N-1],作为主私钥对(s,s′),并计算主公钥Ppub1和Ppub2,并表示为Ppub1=[s]P1,Ppub2=[s′]P1;
密钥生成中心在***初始化算法中根据G1、G2、GT、密钥派生函数KDF、消息认证码函数MAC、双线性对映射e、生成元P1、生成元P2、主公钥Ppub1和Ppub2运行***初始化算法Setup(k)生成***公开参数params和消息空间M,***公开参数params表示为params:<G1,G2,GT,e,P1,P2,Ppub1,Ppub2,KDF,MAC>,消息空间M表示为
所述步骤S2包括:
在私钥提取算法中输入***公开参数params,用户id和***主密钥,将用户id输入为用户身份IDA;
在有限域FN上计算中间变量t1和t2,t1=H1(IDA)+s,H1表示哈希函数;若t1=0则需要重新产生主私钥,否则计算 然后根据dA1和dA2计算用户身份IDA的私钥dA,并表示为dA=(dA1,dA2);
dA1的表达式为dA1=[t2]P2=[s·(H1(IDA)+s)-1]P2;
dA2的表达式为dA2=[t′2]P2=[s′·(H1(IDA)+s)-1]P2;
在陷门生成算法中输入用户id,将用户id输入为用户身份IDA;
用户运行陷门生成算法生成陷门tdA,并表示为:tdA=[t′2]P2。
2.根据权利要求1所述的一种基于SM9算法的等式测试方法,其特征在于,所述步骤S4包括:
在加密算法中输入明文、用户id和用户私钥d,将用户id输入为用户身份IDA,输出密文C作为密文消息发送给解密用户。
3.根据权利要求1所述的一种基于SM9算法的等式测试方法,其特征在于,所述步骤S5包括:
在密文解密算法中输入密文C,用户id和用户私钥d,解密输出明文M。
4.根据权利要求1所述的一种基于SM9算法的等式测试方法,其特征在于,所述步骤S6包括:
在等式测试算法中输入两个用户的密文和两个陷门,对两个密文执行相等性测试,以判断这对密文中是否包含相同的明文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211043101.8A CN115442102B (zh) | 2022-08-29 | 2022-08-29 | 一种基于sm9算法的等式测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211043101.8A CN115442102B (zh) | 2022-08-29 | 2022-08-29 | 一种基于sm9算法的等式测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115442102A CN115442102A (zh) | 2022-12-06 |
CN115442102B true CN115442102B (zh) | 2024-05-17 |
Family
ID=84244335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211043101.8A Active CN115442102B (zh) | 2022-08-29 | 2022-08-29 | 一种基于sm9算法的等式测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115442102B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019104674A1 (zh) * | 2017-11-30 | 2019-06-06 | 深圳大学 | 一种密文搜索权限验证方法及其*** |
CN109889332A (zh) * | 2019-01-21 | 2019-06-14 | 电子科技大学 | 基于证书的等式测试加密方法 |
CN112398637A (zh) * | 2020-07-08 | 2021-02-23 | 电子科技大学 | 一种基于无证书签密的等式测试方法 |
CN114095161A (zh) * | 2021-11-12 | 2022-02-25 | 电子科技大学 | 一种支持等式测试的身份基可穿刺加密方法 |
-
2022
- 2022-08-29 CN CN202211043101.8A patent/CN115442102B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019104674A1 (zh) * | 2017-11-30 | 2019-06-06 | 深圳大学 | 一种密文搜索权限验证方法及其*** |
CN109889332A (zh) * | 2019-01-21 | 2019-06-14 | 电子科技大学 | 基于证书的等式测试加密方法 |
CN112398637A (zh) * | 2020-07-08 | 2021-02-23 | 电子科技大学 | 一种基于无证书签密的等式测试方法 |
CN114095161A (zh) * | 2021-11-12 | 2022-02-25 | 电子科技大学 | 一种支持等式测试的身份基可穿刺加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115442102A (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109831430B (zh) | 一种云计算环境下的安全可控高效的数据共享方法及*** | |
US20140192976A1 (en) | Method and system for id-based encryption and decryption | |
CN107154845B (zh) | 一种基于属性的bgn型密文解密外包方案 | |
CN110719295B (zh) | 一种基于身份的面向食品数据安全的代理重加密方法与装置 | |
CN113067702B (zh) | 支持密文等值测试功能的身份基加密方法 | |
CN106878322B (zh) | 一种基于属性的定长密文与密钥的加密、解密方法 | |
CN114095181B (zh) | 一种基于国密算法的门限环签名方法及*** | |
CN111786786A (zh) | 云计算环境下支持等式判定的代理重加密方法及*** | |
CN110851845A (zh) | 一种轻量级单用户多数据的全同态数据封装方法 | |
CN111314050A (zh) | 一种加解密方法及装置 | |
CN112383397A (zh) | 一种基于生物特征的异构签密通信方法 | |
CN114697042A (zh) | 一种基于区块链的物联网安全数据共享代理重加密方法 | |
CN116846556A (zh) | 一种基于sm9的数据条件代理重加密方法、***及设备 | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
CN112804052B (zh) | 一种基于合数阶群的用户身份加密方法 | |
CN116346336B (zh) | 一种基于多层密钥生成中心的密钥分发方法及相关*** | |
CN115336224A (zh) | 自适应抗攻击分布式对称加密 | |
CN110048852B (zh) | 基于非对称密钥池的量子通信服务站数字签密方法和*** | |
CN114362912A (zh) | 基于分布式密钥中心的标识密码生成方法、电子设备及介质 | |
JP7276423B2 (ja) | 暗号システム、鍵生成装置、鍵生成方法、鍵生成プログラム、および準同型演算装置 | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
CN115296809B (zh) | 支持两端异步解密的智慧工程建设信息***数据传输方法 | |
CN114826611B (zh) | 一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法 | |
CN115442102B (zh) | 一种基于sm9算法的等式测试方法 | |
Purnamasari et al. | Secure data sharing scheme using identity-based encryption for e-health record |
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 |