CN113852465A - 一种基于sm9的分层加密方法 - Google Patents
一种基于sm9的分层加密方法 Download PDFInfo
- Publication number
- CN113852465A CN113852465A CN202111151511.XA CN202111151511A CN113852465A CN 113852465 A CN113852465 A CN 113852465A CN 202111151511 A CN202111151511 A CN 202111151511A CN 113852465 A CN113852465 A CN 113852465A
- Authority
- CN
- China
- Prior art keywords
- group
- key
- private key
- user
- layer
- 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
Images
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
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- 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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开一种基于SM9的分层加密方法,在不改变SM9公钥加密算法整体架构的基础上,对用户私钥生成算法进行改进,使其支持分层加密功能。用户的解密私钥可由其上一层的用户生成。该私钥的有效性等同于通过密钥中心生成的私钥。同一层用户之间合谋也无法获取上一层用户的私钥。在不影响安全性的前提下,有效的降低了密钥生成中心的负担,提高了系统效率,有助于进一步完善SM9系列密码。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于SM9的分层加密方法。
背景技术
SM9系列密码算法是我自主设计的密码算法,包括数字签名算法、密钥交换协议、密钥封装机制和公钥加密算法,具有较高的安全性和高效率性。其中,密钥封装机制和公钥加密算法可以看成是同一个算法,首先通过密钥封装机制生成数据加密密钥,然后利用该加密密钥作用于对称加密技术进而完成数据加密,有效保护存储和传输数据的隐私性。SM9系列密码算法已成为我国密码行业标准,广泛应用于我国政府、金融等领域。
SM9密码算法属于标识密码,用户的公钥是能唯一标识该用户的任意字符串,比如邮箱地址、电话号码等。但是,用户的私钥是由可信第三方密钥生成中心生成,并通过安全信道传送给用户,密钥生成中心负责系统里所有用户的私钥生成。当系统用户数量较大时,密钥生成中心的负担较大,导致系统效率较低,影响了SM9密码算法的应用。
发明内容
本发明的目的在于提供一种基于SM9的分层加密方法,解决SM9加密算法中密钥生成中心负担过大的问题。
本发明采用的技术方案是:
一种基于SM9的分层加密方法,包括步骤:
S1、密钥生成中心生成系统主公私钥对,将生成的主公钥公开给系统中的用户,并秘密保存主私钥,主公钥中包含对最大层数L的描述;
S2、第t-1层用户利用主公钥、第t-1层用户私钥和第t层用户标识,生成第t层用户的私钥,并通过安全信道发送给第t层用户,其中t不大于L;
S3、为加密数据给第t层用户,加密者利用主公钥和第t层用户标识生成密文,并将密文通过公开信道发送给该用户,其中t不大于L;
S4、为解密发送给第t层用户的密文,第t层用户利用主公钥和私钥对密文进行解密获取明文数据。
进一步地,步骤S1具体包括以下步骤:
S1-1,选取双线性群BP=(G1,G2,GT,e,p),群G1和群G2的生成元P1和P2;
其中,mpk:系统主公钥;BP:双线性群;p:循环群G1,G2,GT的阶,且p>2191的素数;G1:阶为素数p的加法循环群;G2:阶为素数p的加法循环群;GT:阶为素数p的乘法循环群;e:从G1×G2到GT的双线性映射;不小于1且不大于p-1的整数集合;a,xi:系统主私钥,属于中的元素;P1:群G1的生成元;P2:群G2的生成元;Ppub:群G1中的元素;Pi,1:群G1中的元素;Pi,2:群G2中的元素;L:层数的最大值;n:每一层标识的比特长度;klen:封装密钥的长度;H:{0,1}*到由密码杂凑函数派生的密码函数;KDF:{0,1}*到{0,1}klen的密钥派生函数。
进一步地,步骤S2中第t层用户私钥生成具体包括以下步骤:
S2-1,设第t层标识为IDt=bt,1bt,2…bt,n,其中t≤L,则该用户的标识为ID|ID1|…|IDt,记为ID|t|bt,1bt,2…bt,n;设第t-1层用户的私钥为:
进一步地,步骤S3中密文生成具体包括以下步骤:
C0=r·(H(ID)+a)P0,1;
C1=r·(H(ID|1|1b1,1)+a)(H(ID|1|2b1,2)+a)…(H(ID|1|nb1,n)+a)P1,1;
C2=r·(H(ID|2|1b2,1)+a)(H(ID|2|2b2,2)+a)…(H(ID|2|nb2,n)+a)P2,1;
Ct=r·(H(ID|t|1bt,1)+a)(H(ID|t|2bt,2)+a)…(H(ID|t|nbt,n)+a)Pt,1;
S3-2,计算w=e(aP1,P2)r,计算会话密钥K=KDF(C0||C1||…Ct||w||ID1|…|IDt,klen),并输出封装密文CT=(C0,C1,…,Ct);
进一步地,步骤S4中封装密文解密具体包括以下步骤:
S4-1,设待解密的密文为CT=(C0,C1,…,Ct),接收者为第t层用户ID|ID1|…|IDt,
S4-2,接收者利用私钥计算:
w'=w0·w0·…·wt=e(P1,P2)ar=w.
S4-3,计算K'=KDF(C0||C1||…Ct||w'||ID1|…|IDt,klen);
其中,wi,w':临时变量,属于群GT中的元素;K':解密恢复出的封装密钥。
本发明在不改变SM9公钥加密算法整体架构的基础上,改进用户私钥生成算法,提出了一种实现SM9分层加密功能的方法。即,系统用户根据标识进行分层,上一层的用户可为下一层用户生成私钥。该私钥的有效性和通过密钥生成中心生成的私钥的有效性是等价的,且同一层用户之间的私钥相互独立。此外,即使同一层用户之间合谋也无法计算出上一层用户的私钥。该方法在不影响用户私钥安全的前提下,极大的降低了密钥生成中心的负担,同时有效提高了系统的整体效率,有助于进一步完善SM9系列算法。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1一种基于SM9的分层加密方法流程图;
图2用户私钥生成算法流程图;
图3分层加密算法流程图;
图4解密算法流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。
SM9公钥加密算法作为我国的商用密码算法,具有较强的安全性和高效率性,在我国得到了广泛的应用。SM9公钥加密算法属于标识加密,所有用户的私钥都是由可信的密钥生成中心生成并通过安全信道传输。当系统中用户数量较大时,导致密钥生成中心负担较大,系统效率低下,无法满足物联网等应用的新需求,限制了SM9公钥加密算法的应用。
本发明最关键的构思在于:实现SM9公钥加密算法的分层加密,用户的私钥可由上一层用户生成,降低密钥生成中心的负担。
如图1至图4之一所示,本发明公开了一种基于SM9的分层加密方法,包括步骤:
S1、密钥生成中心生成系统主公私钥对,将生成的主公钥公开给系统中的用户,并秘密保存主私钥,主公钥中包含对最大层数L的描述;
S2、第t-1层用户利用主公钥、第t-1层用户私钥和第t层用户标识,生成第t层用户的私钥,并通过安全信道发送给第t层用户,其中t不大于L;
S3、为加密数据给第t层用户,加密者利用主公钥和第t层用户标识生成密文,并将密文通过公开信道发送给第t层用户,其中t不大于L;
S4、为解密发送给第t层用户的密文,第t层用户利用主公钥和私钥对密文进行解密获取明文数据。
进一步的,所述步骤S1具体包括:
首先选取双线性群BP=(G1,G2,GT,e,p),群G1和群G2的生成元P1和P2。产生随机数α,作为主私钥,计算G1中的元素Ppub=aP1,对任意的i∈[0,L],计算{Pi,1,aPi,1,a2Pi,1,…,anP1,n},Pi,2=xiP2,则有选取密码函数H和密钥派生函数KDF,系统主公钥为
其中,mpk:系统主公钥;BP:双线性群;p:循环群G1,G2,GT的阶,且p>2191的素数;G1:阶为素数p的加法循环群;G2:阶为素数p的加法循环群;GT:阶为素数p的乘法循环群;e:从G1×G2到GT的双线性映射;不小于1且不大于p-1的整数集合;a,xi:系统主私钥,属于中的元素;P1:群G1的生成元;P2:群G2的生成元;Ppub:群G1中的元素;Pi,1:群G1中的元素;Pi,2:群G2中的元素;L:层数的最大值;n:每一层标识的比特长度;klen:封装密钥的长度;H:{0,1}*到由密码杂凑函数派生的密码函数;KDF:{0,1}*到{0,1}klen的密钥派生函数。
所述步骤S2中第t层用户私钥生成具体包括:
设第t层标识为IDt=bt,1bt,2…bt,n,其中t≤L,则该用户的标识为ID|ID1|…|IDt,记为ID|t|bt,1bt,2…bt,n。设第t-1层用户的私钥为
所述步骤S3中密文生成具体包括:
C0=r·(H(ID)+a)P0,1;
C1=r·(H(ID|1|1b1,1)+a)(H(ID|1|2b1,2)+a)…(H(ID|1|nb1,n)+a)P1,1;
C2=r·(H(ID|2|1b2,1)+a)(H(ID|2|2b2,2)+a)…(H(ID|2|nb2,n)+a)P2,1;
Ct=r·(H(ID|t|1bt,1)+a)(H(ID|t|2bt,2)+a)…(H(ID|t|nbt,n)+a)Pt,1;
计算w=e(aP1,P2)r,计算会话密钥K=KDF(C0||C1||…Ct||w||ID1|…|IDt,klen),并输出封装密文CT=(C0,C1,…,Ct)。
所述步骤S4中封装密文解密具体包括:
设待解密的密文为CT=(C0,C1,…,Ct),接收者为第t层用户ID|ID1|…|IDt,接收者利用私钥计算:
w'=w0·w0·…·wt=e(P1,P2)ar=w.
最后计算K'=KDF(C0||C1||…Ct||w'||ID1|…|IDt,klen)。
其中,wi,w':临时变量,属于群GT中的元素;K':解密恢复出的封装密钥。
此处对公式计算中需要说明的是:令G1,G2,GT均是阶为大素数p的循环群,P1,P2分别是群G1,G2的生成元,为包含p个元素的整数域,双线性群BP由五元组(G1,G2,GT,e,p)组成。其中映射e:G1×G2→GT为双线性映射,满足以下3个条件:
(2)非退化性:至少存在元素P∈G1,Q∈G2满足e(P,Q)≠1;
(3)可计算性:对于任意的P∈G1,Q∈G2,存在多项式时间算法高效计算e(P,Q)。
本发明在不改变SM9公钥加密算法整体架构的基础上,改进用户私钥生成算法,提出了一种实现SM9分层加密功能的方法。即,系统用户根据标识进行分层,上一层的用户可为下一层用户生成私钥。该私钥的有效性和通过密钥生成中心生成的私钥的有效性是等价的,且同一层用户之间的私钥相互独立。此外,即使同一层用户之间合谋也无法计算出上一层用户的私钥。该方法在不影响用户私钥安全性的前提下,降低了密钥生成中心的负担,同时有效提高了系统的整体效率,有助于进一步完善SM9系列算法。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
Claims (5)
1.一种基于SM9的分层加密方法,其特征在于:其包括以下步骤:
S1、密钥生成中心生成系统主公私钥对,将生成的主公钥公开给系统中的用户,并秘密保存主私钥,主公钥中包含对最大层数L的描述;
S2、第t-1层用户利用主公钥、第t-1层用户私钥和第t层用户标识,生成第t层用户的私钥,并通过安全信道发送给第t层用户,其中t不大于L;
S3、为加密数据给第t层用户,加密者利用主公钥和第t层用户标识生成密文,并将密文通过公开信道发送给该用户,其中t不大于L;
S4、为解密发送给第t层用户的密文,第t层用户利用主公钥和私钥对密文进行解密获取明文数据。
2.根据权利要求1所述的一种基于SM9的分层加密方法,其特征在于:步骤S1具体包括以下步骤:
S1-1,选取双线性群BP=(G1,G2,GT,e,p),群G1和群G2的生成元P1和P2;
S1-2,产生随机数α,作为主私钥,计算G1中的元素Ppub=aP1,对任意的i∈[0,L],计算{Pi,1,aPi,1,a2Pi,1,…,anP1,n},Pi,2=xiP2,则有S1-3,选取密码函数H和密钥派生函数KDF,系统主公钥为mpk=(BP,L,n,H,KDF,klen,P1,P2,Ppub,{Pi,1,aPi,1,a2Pi,1,…,anP1,n}i=0,1,…,L);
3.根据权利要求1所述的一种基于SM9的分层加密方法,其特征在于:步骤S2中第t层用户私钥生成具体包括以下步骤:
S2-1,设第t层标识为IDt=bt,1bt,2…bt,n,其中t≤L,则该用户的标识为ID|ID1|…|IDt,记为ID|t|bt,1bt,2…bt,n;设第t-1层用户的私钥为:
4.根据权利要求1所述的一种基于SM9的分层加密方法,其特征在于:步骤S3中密文生成具体包括以下步骤:
C0=r·(H(ID)+a)P0,1;
C1=r·(H(ID|1|1b1,1)+a)(H(ID|1|2b1,2)+a)…(H(ID|1|nb1,n)+a)P1,1;
C2=r·(H(ID|2|1b2,1)+a)(H(ID|2|2b2,2)+a)…(H(ID|2|nb2,n)+a)P2,1;
Ct=r·(H(ID|t|1bt,1)+a)(H(ID|t|2bt,2)+a)…(H(ID|t|nbt,n)+a)Pt,1;
S3-2,计算w=e(aP1,P2)r,计算会话密钥K=KDF(C0||C1||…Ct||w||ID1|…|IDt,klen),并输出封装密文CT=(C0,C1,…,Ct);
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111151511.XA CN113852465B (zh) | 2021-09-29 | 2021-09-29 | 一种基于sm9的分层加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111151511.XA CN113852465B (zh) | 2021-09-29 | 2021-09-29 | 一种基于sm9的分层加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113852465A true CN113852465A (zh) | 2021-12-28 |
CN113852465B CN113852465B (zh) | 2023-05-30 |
Family
ID=78977159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111151511.XA Active CN113852465B (zh) | 2021-09-29 | 2021-09-29 | 一种基于sm9的分层加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113852465B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726510A (zh) * | 2022-03-03 | 2022-07-08 | 浙江零跑科技股份有限公司 | 一种基于sm9算法的密钥分发和数据传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010161523A (ja) * | 2009-01-07 | 2010-07-22 | Nippon Telegr & Teleph Corp <Ntt> | 鍵生成装置、暗号化装置、復号化装置、暗号化システム、鍵生成方法、暗号化方法、復号化方法、プログラム、および記録媒体 |
CN103684764A (zh) * | 2013-12-03 | 2014-03-26 | 中国电子科技集团公司第三十研究所 | 一种具有前向安全的高效公钥加密方法 |
CN103986574A (zh) * | 2014-05-16 | 2014-08-13 | 北京航空航天大学 | 一种基于身份的分层广播加密方法 |
CN105406967A (zh) * | 2015-12-10 | 2016-03-16 | 西安电子科技大学 | 一种分层属性加密方案 |
-
2021
- 2021-09-29 CN CN202111151511.XA patent/CN113852465B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010161523A (ja) * | 2009-01-07 | 2010-07-22 | Nippon Telegr & Teleph Corp <Ntt> | 鍵生成装置、暗号化装置、復号化装置、暗号化システム、鍵生成方法、暗号化方法、復号化方法、プログラム、および記録媒体 |
CN103684764A (zh) * | 2013-12-03 | 2014-03-26 | 中国电子科技集团公司第三十研究所 | 一种具有前向安全的高效公钥加密方法 |
CN103986574A (zh) * | 2014-05-16 | 2014-08-13 | 北京航空航天大学 | 一种基于身份的分层广播加密方法 |
CN105406967A (zh) * | 2015-12-10 | 2016-03-16 | 西安电子科技大学 | 一种分层属性加密方案 |
Non-Patent Citations (1)
Title |
---|
赵茭茭等: "基于密钥共享的分层混合认证模型", 《计算机科学》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726510A (zh) * | 2022-03-03 | 2022-07-08 | 浙江零跑科技股份有限公司 | 一种基于sm9算法的密钥分发和数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113852465B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108173639B (zh) | 一种基于sm9签名算法的两方合作签名方法 | |
JP4405810B2 (ja) | 階層型の同一性に基づく暗号化および署名スキーム | |
CN104767612B (zh) | 一种从无证书环境到公钥基础设施环境的签密方法 | |
CN114039730B (zh) | 一种基于sm9的密钥策略属性基加密方法 | |
WO2016112734A1 (zh) | 一种具有选择和排除功能的群组加解密方法及系统 | |
Hwang | Cryptosystem for group oriented cryptography | |
CN104767611B (zh) | 一种从公钥基础设施环境到无证书环境的签密方法 | |
CN102523093A (zh) | 一种带标签的基于证书密钥封装方法及系统 | |
CN111585759A (zh) | 一种高效的基于sm9公钥加密算法的线上线下加密方法 | |
CN110851845A (zh) | 一种轻量级单用户多数据的全同态数据封装方法 | |
Hoobi | Efficient hybrid cryptography algorithm | |
CN113852465B (zh) | 一种基于sm9的分层加密方法 | |
CN114095171A (zh) | 一种基于身份的可穿刺代理重加密方法 | |
CN110460442B (zh) | 一种基于格的密钥封装方法 | |
CN113852466B (zh) | 基于国密sm9的用户撤销方法 | |
CN114826611B (zh) | 一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法 | |
CN111555882A (zh) | 抵抗有界敏感信息泄露的无证书密钥封装方法 | |
Wade et al. | The Iso-ElGamal Cryptographic Scheme | |
CN112511310B (zh) | 一种加密身份盲签名的混淆方法 | |
CN113824559B (zh) | 基于sm9的高效分层加密方法 | |
Muthukumarn et al. | A Secure and Enhanced Public Key Cryptosystem Using Double Conjugacy Search Problem Near-Ring | |
JP2004246350A (ja) | 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法 | |
Jasra et al. | Mapping images over elliptic curve for encryption | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
CN114039725B (zh) | 一种基于sm9的模糊身份基加密方法 |
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 |