CN107135080A - Sm9解密方法和装置 - Google Patents
Sm9解密方法和装置 Download PDFInfo
- 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
Links
Classifications
-
- 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/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/3247—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 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解密方法,包括:
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;否则验证失败,输出错误。
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)
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)
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 | 航天信息股份有限公司 | 一种基于非对称加密的安全装置 |
-
2017
- 2017-07-06 CN CN201710548227.3A patent/CN107135080B/zh active Active
Patent Citations (3)
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)
Title |
---|
袁峰等: "SM9标识密码算法综述", 《信息安全研究》 * |
Cited By (18)
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 |