CN107135080A - Sm9解密方法和装置 - Google Patents

Sm9解密方法和装置 Download PDF

Info

Publication number
CN107135080A
CN107135080A CN201710548227.3A CN201710548227A CN107135080A CN 107135080 A CN107135080 A CN 107135080A CN 201710548227 A CN201710548227 A CN 201710548227A CN 107135080 A CN107135080 A CN 107135080A
Authority
CN
China
Prior art keywords
decryption
key
service end
client
random
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
CN201710548227.3A
Other languages
English (en)
Other versions
CN107135080B (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.)
Shenzhen Ao Lian Information Security Technology Co Ltd
Original Assignee
Shenzhen Ao Lian Information Security 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 Shenzhen Ao Lian Information Security Technology Co Ltd filed Critical Shenzhen Ao Lian Information Security Technology Co Ltd
Priority to CN201710548227.3A priority Critical patent/CN107135080B/zh
Publication of CN107135080A publication Critical patent/CN107135080A/zh
Application granted granted Critical
Publication of CN107135080B publication Critical patent/CN107135080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明揭示了一种SM9解密方法和装置,其中方法包括:S1:解密客户端获取其标识对应的标识私钥S_A的第一分片子密钥M,其中,所述标识私钥S_A的第二分片子密钥N由所述解密客户端对应的解密服务端获取;其中,密钥生成中心随机选择主密钥,生成系统参数组;S2:从解密服务端获得密文C和N的部分数据解密密钥种子T_s;S3:从密文C和M获得部分数据解密密钥种子T_c;根据T_s和T_c恢复完整的解密密钥种子T,并使用T对密文进行完整解密。本发明在解密过程中,需要获取到第一分片子密钥M和第二分片子密钥N,然后利用M和N,以及密文C恢复解密密钥种子T进行完整解密,方法简单、安全。

Description

SM9解密方法和装置
技术领域
本发明涉及到SM9的解密领域,特别是涉及到一种SM9解密方法和装置。
背景技术
SM9标识密码算法是一种基于双线性对的标识密码算法,它可以把用户的身份标识用以生成用户的公、私密钥对,主要用于数字签名、数据加密、密钥交换以及身份认证等。
发明内容
本发明的主要目的为提供一种解密简单安全的SM9解密方法和装置。
为了实现上述发明目的,本发明提出一种SM9解密方法,包括:
S1:解密客户端获取其标识对应的标识私钥S_A的第一分片子密钥M,其中,所述标识私钥S_A的第二分片子密钥N由所述解密客户端对应的解密服务端获取;其中,密钥生成中心随机选择主密钥,生成系统参数组;
S2:从解密服务端获得密文C和N的部分数据解密密钥种子T_s;
S3:从密文C和M获得部分数据解密密钥种子T_c;根据T_s和T_c恢复完整的解密密钥种子T,并使用T对密文进行完整解密;
进一步地,所述系统参数组包括<E,e,P1,P2,[s]P1,g=e(P1,[s]P2),H>,其中,E为椭圆曲线,e代表二元映射e:G1·G2→Gt,G1和G2为椭圆曲线E上的两个点群,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q,q为素数,P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s,主密钥包括s,[s]P2表示s个P2相加,H为消息映射函数,用于将比特串映射到[1,q-1]上;
进一步地,在S1中,所述标识私钥S_A通过以下公式计算获得:
S_A=[s/(H(1||ID_A)+s)]P2。
进一步地,在S1中,所述第二分片子密钥N和第一分片子密钥M的获取方法,包括:
所述第一分片子密钥M和第二分片子密钥N的获取方法,包括:
方法1)、所述解密客户端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送N到解密服务端;或者,
方法2)、所述解密服务端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端;或者,
方法3)、所述解密服务端生成秘密kdfs,根据派生函数F,派生a=F(kdfs,FI),计算N=[a]P1或N=[a][s]P1;其中FI包括标识ID_A、请求时间t、请求次数J;F是标准的密钥派生函数KDF、哈希函数或加密函数中的一种,计算M=S_A-N,发送M到解密客户端;或者,
方法4)、利用不同于所述解密客户端和解密服务端的第三方随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端;或者,
方法5)、利用不同于所述解密客户端和解密服务端的第三方生成秘密kdft,根据派生函数F,派生a=F(kdft,FI),计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端。
进一步地,,在S2中,所述解密密钥种子T_s的获取方法,包括:
解密客户端获得密文C后将其解析为<C1,C2,C3>;
将ID_A与C1发送到所述解密服务端;
通过解密服务端将C1的数据类型转换为椭圆曲线E上的点X,检验X∈G1是否成立;若否,则解密失败,否则计算T_s=e(X,N);
进一步地,在S3,包括:
将C1的数据类型转换为椭圆曲线E上的点X,检验X∈G1是否成立;若
是,则计算T_c=e(X,M);
计算w=T_c*T_s;将w的数据类型转换为比特串U;
K1||K2=KDF(C1||U);
计算M=C2⊕K1;
计算C'=MAC(K2,M);
检验C'=C3是否成立,若成立,则验证通过,输出M;否则验证失败,输出错误。
本发明还提供一种SM9解密装置,包括:
第一获取单元,用于解密客户端获取其标识对应的标识私钥S_A的第一分片子密钥M,其中,所述标识私钥S_A的第二分片子密钥N由所述解密客户端对应的解密服务端获取;其中,密钥生成中心随机选择主密钥,生成系统参数组;
第二获取单元,用于从解密服务端获得密文C和N的部分数据解密密钥种子T_s;
获取解密单元,用于从密文C和M获得部分数据解密密钥种子T_c;根据T_s和T_c恢复完整的解密密钥种子T,并使用T对密文进行完整解密;
进一步地,所述系统参数组包括<E,e,P1,P2,[s]P1,g=e(P1,[s]P2),H>,其中,E为椭圆曲线,e代表二元映射e:G1·G2→Gt,G1和G2为椭圆曲线E上的两个点群,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q,q为素数,P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s,主密钥包括s,[s]P2表示s个P2相加,H为消息映射函数,用于将比特串映射到[1,q-1]上;
进一步地,在S1中,所述标识私钥S_A通过以下公式计算获得:
S_A=[s/(H(1||ID_A)+s)]P2。
进一步地,所述第一获取单元,包括:
分片子密钥获取模块,用于所述解密客户端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送N到解密服务端;或者,用于所述解密服务端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端;或者,用于所述解密服务端生成秘密kdfs,根据派生函数F,派生a=F(kdfs,FI),计算N=[a]P1或N=[a][s]P1;其中FI包括标识ID_A、请求时间t、请求次数J;F是标准的密钥派生函数KDF、哈希函数或加密函数中的一种,计算M=S_A-N,发送M到解密客户端;或者,用于利用不同于所述解密客户端和解密服务端的第三方随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端;或者,用于利用不同于所述解密客户端和解密服务端的第三方生成秘密kdft,根据派生函数F,派生a=F(kdft,FI),计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端。
进一步地,所述第二获取单元,包括:
解析模块,用于解密客户端获得密文C后将其解析为<C1,C2,C3>;
发送模块,用于将ID_A与C1发送到所述解密服务端;
T_s获取模块,用于通过解密服务端将C1的数据类型转换为椭圆曲线E上的点X,检验X∈G1是否成立;若否,则解密失败,否则计算T_s=e(X,N);
进一步地,所述获取解密单元,包括:
第一检验模块,用于将C1的数据类型转换为椭圆曲线E上的点X,检验X
∈G1是否成立;若是,则计算T_c=e(X,M);
第一计算模块,用于计算w=T_c*T_s;将w的数据类型转换为比特串U;
第二计算模块,用于K1||K2=KDF(C1||U);
第三计算模块,用于计算M=C2⊕K1;
第四计算模块,用于计算C'=MAC(K2,M);
第二检验模块,用于检验C'=C3是否成立,若成立,则验证通过,输出M;否则验证失败,输出错误。
本发明的SM9解密方法和装置,在解密过程中,需要获取到第一分片子密钥M和第二分片子密钥N,然后利用M和N,以及密文C恢复解密密钥种子T,并使用T对密文进行完整解密,方法简单、安全。
附图说明
图1为本发明一实施例的SM9解密方法的流程示意图;
图2为本发明一实施例的解密密钥种子T_s的获取方法的流程示意图;
图3为本发明一实施例的SM9解密方法的步骤S3的具体流程示意图;
图4为本发明一实施例的SM9解密装置的结构示意框图;
图5为本发明一实施例的第一获取单元的结构示意框图;
图6为本发明一实施例的第二获取单元的结构示意框图;
图7为本发明一实施例的获取解密单元的结构示意框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,本发明实施例提供一种SM9解密方法,包括步骤:
S1:解密客户端获取其标识对应的标识私钥S_A的第一分片子密钥M,其中,所述标识私钥S_A的第二分片子密钥N由所述解密客户端对应的解密服务端获取;其中,密钥生成中心随机选择主密钥,生成系统参数组。
本步骤中,上述所述系统参数组包括<E,e,P1,P2,[s]P1,g=e(P1,[s]P2),H>,其中,E为椭圆曲线,e代表二元映射e:G1·G2→Gt,G1和G2为椭圆曲线E上的两个点群,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q,q为素数,P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s,主密钥包括s,[s]P2表示s个P2相加,H为消息映射函数,用于将比特串映射到[1,q-1]上。上述标识私钥S_A通过以下公式计算获得S_A=[s/(H(1||ID_A)+s)]P2。
本步骤中,上述第一分片子密钥M和第二分片子密钥N的获取方法,包括多种,如下:
方法1)、所述解密客户端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送N到解密服务端;或者,
方法2)、所述解密服务端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端;或者,
方法3)、所述解密服务端生成秘密kdfs,根据派生函数F,派生a=F(kdfs,FI),计算N=[a]P1或N=[a][s]P1;其中FI包括标识ID_A、请求时间t、请求次数J;F是标准的密钥派生函数KDF、哈希函数或加密函数中的一种,计算M=S_A-N,发送M到解密客户端;或者,
方法4)、利用不同于所述解密客户端和解密服务端的第三方随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端;或者,
方法5)、利用不同于所述解密客户端和解密服务端的第三方生成秘密kdft,根据派生函数F,派生a=F(kdft,FI),计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端。
S2:从解密服务端获得密文C和N的部分数据解密密钥种子T_s。
参照图2,本步骤中,上述解密密钥种子T_s的获取方法,包括:
S21、解密客户端获得密文C后将其解析为<C1,C2,C3>;
S22、将ID_A与C1发送到所述解密服务端;
S23、通过解密服务端将C1的数据类型转换为椭圆曲线E上的点X,检验X∈G1是否成立;
S24、若否,则解密失败,否则计算T_s=e(X,N)。
S3:从密文C和M获得部分数据解密密钥种子T_c;根据T_s和T_c恢复完整的解密密钥种子T,并使用T对密文进行完整解密。
参照图3,本步骤中,具体过程为:
S31、将C1的数据类型转换为椭圆曲线E上的点X,检验X∈G1是否成立;
S32,若否,则解密失败;
S33,若是,则计算T_c=e(X,M);
S34、计算w=T_c*T_s;将w的数据类型转换为比特串U;
S35、K1||K2=KDF(C1||U);
S36、计算M=C2⊕K1;
S37、计算C'=MAC(K2,M);
S38、检验C'=C3是否成立,若成立,则验证通过,输出M;否则验证失败,输出错误。
本发明实施例的SM9解密方法,在解密过程中,需要获取到第一分片子密钥M和第二分片子密钥N,其中然后第一分片子密钥M和第二分片子密钥N组合成ID_A对应的标识私钥S_A;利用M和N,以及密文C恢复解密密钥种子T,并使用T对密文进行完整解密,方法简单、安全。
参照图4,本发明还提供一种SM9解密装置,包括:
第一获取单元10,用于解密客户端获取其标识对应的标识私钥S_A的第一分片子密钥M,其中,所述标识私钥S_A的第二分片子密钥N由所述解密客户端对应的解密服务端获取;其中,密钥生成中心随机选择主密钥,生成系统参数组。
在上述第一获取单元10中,上述系统参数组包括<E,e,P1,P2,[s]P1,g=e(P1,[s]P2),H>,其中,E为椭圆曲线,e代表二元映射e:G1·G2→Gt,G1和G2为椭圆曲线E上的两个点群,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q,q为素数,P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s,主密钥包括s,[s]P2表示s个P2相加,H为消息映射函数,用于将比特串映射到[1,q-1]上。
参照图5,上述第一获取单元10,包括:S_A计算模块11,用于计算S_A=[s/(H(1||ID_A)+s)]P2。
分片子密钥获取模块12,用于所述解密客户端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送N到解密服务端;或者,用于所述解密服务端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端;或者,用于所述解密服务端生成秘密kdfs,根据派生函数F,派生a=F(kdfs,FI),计算N=[a]P1或N=[a][s]P1;其中FI包括标识ID_A、请求时间t、请求次数J;F是标准的密钥派生函数KDF、哈希函数或加密函数中的一种,计算M=S_A-N,发送M到解密客户端;或者,用于利用不同于所述解密客户端和解密服务端的第三方随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端;或者,用于利用不同于所述解密客户端和解密服务端的第三方生成秘密kdft,根据派生函数F,派生a=F(kdft,FI),计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端。
第二获取单元20,用于从解密服务端获得密文C和N的部分数据解密密钥种子T_s。
参照图6,上述第二获取单元20,包括:
解析模块21,用于解密客户端获得密文C后将其解析为<C1,C2,C3>;
发送模块22,用于将ID_A与C1发送到所述解密服务端;
T_s获取模块23,用于通过解密服务端将C1的数据类型转换为椭圆曲线E上的点X,检验X∈G1是否成立;若否,则解密失败,否则计算T_s=e(X,N)。
获取解密单元30,用于从密文C和M获得部分数据解密密钥种子T_c;根据T_s和T_c恢复完整的解密密钥种子T,并使用T对密文进行完整解密。
参照图7,上述获取解密单元30,包括:
第一检验模块31,用于将C1的数据类型转换为椭圆曲线E上的点X,检验X∈G1是否成立;若是,则计算T_c=e(X,M);
第一计算模块32,用于计算w=T_c*T_s;将w的数据类型转换为比特串U;
第二计算模块33,用于K1||K2=KDF(C1||U);
第三计算模块34,用于计算M=C2⊕K1;
第四计算模块35,用于计算C'=MAC(K2,M);
第二检验模块36,用于检验C'=C3是否成立,若成立,则验证通过,输出M;否则验证失败,输出错误。
本发明实施例的SM9解密装置,在解密过程中,需要获取到第一分片子密钥M和第二分片子密钥N,其中然后第一分片子密钥M和第二分片子密钥N组合成ID_A对应的标识私钥S_A;利用M和N,以及密文C恢复解密密钥种子T,并使用T对密文进行完整解密,方法简单、安全。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (12)

1.一种SM9解密方法,其特征在于,包括:
S1:解密客户端获取其标识对应的标识私钥S_A的第一分片子密钥M,其中,所述标识私钥S_A的第二分片子密钥N由所述解密客户端对应的解密服务端获取;其中,密钥生成中心随机选择主密钥,生成系统参数组;
S2:从解密服务端获得密文C和N的部分数据解密密钥种子T_s;
S3:从密文C和M获得部分数据解密密钥种子T_c;根据T_s和T_c恢复完整的解密密钥种子T,并使用T对密文进行完整解密。
2.根据权利要求1所述的SM9解密方法,其特征在于,所述系统参数组包括<E,e,P1,P2,[s]P1,g=e(P1,[s]P2),H>,其中,E为椭圆曲线,e代表二元映射e:G1·G2→Gt,G1和G2为椭圆曲线E上的两个点群,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q,q为素数,P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s,主密钥包括s,[s]P2表示s个P2相加,H为消息映射函数,用于将比特串映射到[1,q-1]上。
3.根据权利要求2所述的SM9解密方法,其特征在于,在S1中,所述标识私钥S_A通过以下公式计算获得:
S_A=[s/(H(1||ID_A)+s)]P2。
4.根据权利要求3所述的SM9解密方法,其特征在于,在S1中,所述第一分片子密钥M和第二分片子密钥N的获取方法,包括:
方法1)、所述解密客户端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送N到解密服务端;或者,
方法2)、所述解密服务端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端;或者,
方法3)、所述解密服务端生成秘密kdfs,根据派生函数F,派生a=F(kdfs,FI),计算N=[a]P1或N=[a][s]P1;其中FI包括标识ID_A、请求时间t、请求次数J;F是标准的密钥派生函数KDF、哈希函数或加密函数中的一种,计算M=S_A-N,发送M到解密客户端;或者,
方法4)、利用不同于所述解密客户端和解密服务端的第三方随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端;或者,
方法5)、利用不同于所述解密客户端和解密服务端的第三方生成秘密kdft,根据派生函数F,派生a=F(kdft,FI),计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端。
5.根据权利要求4所述的SM9解密方法,其特征在于,在S2中,所述解密密钥种子T_s的获取方法,包括:
解密客户端获得密文C后将其解析为<C1,C2,C3>;
将ID_A与C1发送到所述解密服务端;
通过解密服务端将C1的数据类型转换为椭圆曲线E上的点X,检验X∈G1是否成立;若否,则解密失败,否则计算T_s=e(X,N)。
6.根据权利要求5所述的SM9解密方法,其特征在于,在S3,包括:
将C1的数据类型转换为椭圆曲线E上的点X,检验X∈G1是
否成立;若是,则计算T_c=e(X,M);
计算w=T_c*T_s;将w的数据类型转换为比特串U;
K1||K2=KDF(C1||U);
计算M=C2⊕K1;
计算C'=MAC(K2,M);
检验C'=C3是否成立,若成立,则验证通过,输出M;否则验证失败,输出错误。
7.一种SM9解密装置,其特征在于,包括:
第一获取单元,用于解密客户端获取其标识对应的标识私钥S_A的第一分片子密钥M,其中,所述标识私钥S_A的第二分片子密钥N由所述解密客户端对应的解密服务端获取;其中,密钥生成中心随机选择主密钥,生成系统参数组;
第二获取单元,用于从解密服务端获得密文C和N的部分数据解密密钥种子T_s;
获取解密单元,用于从密文C和M获得部分数据解密密钥种子T_c;根据T_s和T_c恢复完整的解密密钥种子T,并使用T对密文进行完整解密。
8.根据权利要求1所述的SM9解密装置,其特征在于,所述系统参数组包括<E,e,P1,P2,[s]P1,g=e(P1,[s]P2),H>,其中,E为椭圆曲线,e代表二元映射e:G1·G2→Gt,G1和G2为椭圆曲线E上的两个点群,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q,q为素数,P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s,主密钥包括s,[s]P2表示s个P2相加,H为消息映射函数,用于将比特串映射到[1,q-1]上。
9.根据权利要求8所述的SM9解密装置,其特征在于,所述第一获取单元,包括:
S_A计算模块,用于计算S_A=[s/(H(1||ID_A)+s)]P2。
10.根据权利要求9所述的SM9解密装置,其特征在于,所述第一获取单元,包括:
分片子密钥获取模块,用于所述解密客户端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送N到解密服务端;或者,用于所述解密服务端随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端;或者,用于所述解密服务端生成秘密kdfs,根据派生函数F,派生a=F(kdfs,FI),计算N=[a]P1或N=[a][s]P1;其中FI包括标识ID_A、请求时间t、请求次数J;F是标准的密钥派生函数KDF、哈希函数或加密函数中的一种,计算M=S_A-N,发送M到解密客户端;或者,用于利用不同于所述解密客户端和解密服务端的第三方随机生成G1中的一个元素N,随机生成1<a<q,计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端;或者,用于利用不同于所述解密客户端和解密服务端的第三方生成秘密kdft,根据派生函数F,派生a=F(kdft,FI),计算N=[a]P1或N=[a][s]P1,计算M=S_A-N,发送M到解密客户端,发送N到解密服务端。
11.根据权利要求10所述的SM9解密装置,其特征在于,所述第二获取单元,包括:
解析模块,用于解密客户端获得密文C后将其解析为<C1,C2,C3>;
发送模块,用于将ID_A与C1发送到所述解密服务端;
T_s获取模块,用于通过解密服务端将C1的数据类型转换为椭圆曲线E上的点X,检验X∈G1是否成立;若否,则解密失败,否则计算T_s=e(X,N)。
12.根据权利要求11所述的SM9解密装置,其特征在于,所述获取解密单元,包括:
第一检验模块,用于将C1的数据类型转换为椭圆曲线E上的点X,检验X∈G1是否成立;若是,则计算T_c=e(X,M);
第一计算模块,用于计算w=T_c*T_s;将w的数据类型转换为比特串U;
第二计算模块,用于K1||K2=KDF(C1||U);
第三计算模块,用于计算M=C2⊕K1;
第四计算模块,用于计算C'=MAC(K2,M);
第二检验模块,用于检验C'=C3是否成立,若成立,则验证通过,输出M;否则验证失败,输出错误。
CN201710548227.3A 2017-07-06 2017-07-06 Sm9解密方法和装置 Active CN107135080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710548227.3A CN107135080B (zh) 2017-07-06 2017-07-06 Sm9解密方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710548227.3A CN107135080B (zh) 2017-07-06 2017-07-06 Sm9解密方法和装置

Publications (2)

Publication Number Publication Date
CN107135080A true CN107135080A (zh) 2017-09-05
CN107135080B CN107135080B (zh) 2019-09-27

Family

ID=59737568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710548227.3A Active CN107135080B (zh) 2017-07-06 2017-07-06 Sm9解密方法和装置

Country Status (1)

Country Link
CN (1) CN107135080B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566128A (zh) * 2017-10-10 2018-01-09 武汉大学 一种两方分布式sm9数字签名生成方法与系统
CN107579819A (zh) * 2017-09-13 2018-01-12 何德彪 一种sm9数字签名生成方法及系统
CN107707353A (zh) * 2017-09-26 2018-02-16 深圳奥联信息安全技术有限公司 Sm9算法的实现方法和装置
CN107864037A (zh) * 2017-10-25 2018-03-30 深圳奥联信息安全技术有限公司 Sm9联合数字签名方法和装置
CN107968710A (zh) * 2017-11-27 2018-04-27 武汉理工大学 Sm9数字签名分离交互生成方法及系统
CN109039656A (zh) * 2018-09-19 2018-12-18 深圳奥联信息安全技术有限公司 Sm9联合数字签名方法、装置和计算机设备
CN110266472A (zh) * 2019-04-09 2019-09-20 武汉理工大学 支持混合秘密共享的sm9数字签名协同生成方法及系统
CN111010272A (zh) * 2019-12-20 2020-04-14 武汉理工大学 一种标识私钥生成和数字签名方法及系统和装置
CN112257088A (zh) * 2020-10-26 2021-01-22 上海睿成软件有限公司 一种文件缓存加密系统、设备及存储介质
CN113079003A (zh) * 2021-03-26 2021-07-06 中国科学院信息工程研究所 一种分布式sm9密钥生成方法及系统
CN114697046A (zh) * 2022-06-01 2022-07-01 湖南三湘银行股份有限公司 基于国密sm9的安全认证方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170019253A1 (en) * 2011-12-12 2017-01-19 International Business Machines Corporation Decrypting segmented data in a distributed computing system
CN106549858A (zh) * 2016-12-08 2017-03-29 深圳奥联信息安全技术有限公司 一种基于标识密码的即时通信加密方法
CN106921638A (zh) * 2015-12-28 2017-07-04 航天信息股份有限公司 一种基于非对称加密的安全装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170019253A1 (en) * 2011-12-12 2017-01-19 International Business Machines Corporation Decrypting segmented data in a distributed computing system
CN106921638A (zh) * 2015-12-28 2017-07-04 航天信息股份有限公司 一种基于非对称加密的安全装置
CN106549858A (zh) * 2016-12-08 2017-03-29 深圳奥联信息安全技术有限公司 一种基于标识密码的即时通信加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
袁峰等: "SM9标识密码算法综述", 《信息安全研究》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579819A (zh) * 2017-09-13 2018-01-12 何德彪 一种sm9数字签名生成方法及系统
CN107579819B (zh) * 2017-09-13 2019-11-19 何德彪 一种sm9数字签名生成方法及系统
CN107707353A (zh) * 2017-09-26 2018-02-16 深圳奥联信息安全技术有限公司 Sm9算法的实现方法和装置
CN107707353B (zh) * 2017-09-26 2020-10-23 深圳奥联信息安全技术有限公司 Sm9算法的实现方法和装置
CN107566128A (zh) * 2017-10-10 2018-01-09 武汉大学 一种两方分布式sm9数字签名生成方法与系统
CN107864037A (zh) * 2017-10-25 2018-03-30 深圳奥联信息安全技术有限公司 Sm9联合数字签名方法和装置
CN107968710A (zh) * 2017-11-27 2018-04-27 武汉理工大学 Sm9数字签名分离交互生成方法及系统
CN107968710B (zh) * 2017-11-27 2020-08-25 武汉理工大学 Sm9数字签名分离交互生成方法及系统
CN109039656A (zh) * 2018-09-19 2018-12-18 深圳奥联信息安全技术有限公司 Sm9联合数字签名方法、装置和计算机设备
CN109039656B (zh) * 2018-09-19 2021-06-18 深圳奥联信息安全技术有限公司 Sm9联合数字签名方法、装置和计算机设备
CN110266472B (zh) * 2019-04-09 2021-06-08 武汉理工大学 支持混合秘密共享的sm9数字签名协同生成方法及系统
CN110266472A (zh) * 2019-04-09 2019-09-20 武汉理工大学 支持混合秘密共享的sm9数字签名协同生成方法及系统
CN111010272A (zh) * 2019-12-20 2020-04-14 武汉理工大学 一种标识私钥生成和数字签名方法及系统和装置
CN111010272B (zh) * 2019-12-20 2021-01-12 武汉理工大学 一种标识私钥生成和数字签名方法及系统和装置
CN112257088A (zh) * 2020-10-26 2021-01-22 上海睿成软件有限公司 一种文件缓存加密系统、设备及存储介质
CN112257088B (zh) * 2020-10-26 2022-02-22 上海睿成软件有限公司 一种文件缓存加密系统、设备及存储介质
CN113079003A (zh) * 2021-03-26 2021-07-06 中国科学院信息工程研究所 一种分布式sm9密钥生成方法及系统
CN114697046A (zh) * 2022-06-01 2022-07-01 湖南三湘银行股份有限公司 基于国密sm9的安全认证方法及系统

Also Published As

Publication number Publication date
CN107135080B (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
CN107135080B (zh) Sm9解密方法和装置
CN111740828B (zh) 一种密钥生成方法以及装置、设备、加解密方法
EP2416524B1 (en) System and method for secure transaction of data between wireless communication device and server
CN104767612B (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN101789865B (zh) 一种用于加密的专用服务器及加密方法
CN102523093B (zh) 一种带标签的基于证书密钥封装方法及系统
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
CN110113150B (zh) 基于无证书环境的可否认认证的加密方法和系统
US20140098960A1 (en) Ciphertext Processing Method, Apparatus, and System
CN108173639A (zh) 一种基于sm9签名算法的两方合作签名方法
CN109584978A (zh) 基于签名聚合医疗健康监控网络模型信息处理方法及系统
CN101442522B (zh) 一种基于组合公钥的通信实体标识认证方法
CN105163309B (zh) 一种基于组合密码的无线传感器网络安全通信的方法
CN104767611B (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN101378320B (zh) 一种认证方法和认证系统
CN114268439B (zh) 一种基于格的身份基认证密钥协商方法
CN107864037A (zh) Sm9联合数字签名方法和装置
CN112383397B (zh) 一种基于生物特征的异构签密通信方法
CN113285959A (zh) 一种邮件加密方法、解密方法及加解密系统
CN105554031A (zh) 加密方法、加密装置、解密方法、解密装置和终端
CN107425971A (zh) 终端及其无证书的数据加/解密方法和装置
CN102970144A (zh) 基于身份的认证方法
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CN107508684A (zh) 非对称加解密方法和装置
CN110784314A (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