CN115694827A - 一种基于sm2的证书加密方法及系统 - Google Patents
一种基于sm2的证书加密方法及系统 Download PDFInfo
- Publication number
- CN115694827A CN115694827A CN202211180107.XA CN202211180107A CN115694827A CN 115694827 A CN115694827 A CN 115694827A CN 202211180107 A CN202211180107 A CN 202211180107A CN 115694827 A CN115694827 A CN 115694827A
- Authority
- CN
- China
- Prior art keywords
- certificate
- upk
- user
- mpk
- encryption
- 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.)
- Pending
Links
Images
Abstract
本发明适用于信息安全技术领域,提供了一种基于SM2的证书加密方法及系统,包括如下步骤:步骤S100,系统初始化,确定私钥,依据私钥计算主公钥,接着确定秘密值,计算公户公钥;步骤S200,证书授权,用户A提供个人信息以及公钥信息,依据上述信息颁发证书确定授权信息,生成授权证书并反馈给用户A;步骤S300,信息加密等步骤。本发明本方案基于国密算法SM2的公钥加密结构,结合了传统公钥加密和基于身份加密技术的优点,利用了CBE技术结合了PKC和IBC的优点,无需使用昂贵的证书链验证过程并移除了密钥托管安全性问题,适用于计算能力有限或通信带宽昂贵的环境;弥补了SM2在基于证书密码学体系中的空缺。
Description
技术领域
本发明属于信息安全技术领域,尤其涉及一种基于SM2的证书加密方法及系统。
背景技术
近年来,数据安全与隐私泄露事件层出不穷,复杂网络环境下数据全生命周期保护愈加困难。加密算法可以保障数据安全的机密性、完整性和可用性。随着信息化应用的多样化发展,迫切需要提出创新型功能型国密化密码学原语,为提升我国数据安全保障能力提供基础支撑。
Gentry提出的基于证书加密(CBE)的密码学原语,其同时保留了公钥加密 (PKE)和基于身份加密(IBE)的大部分优点。用户生成自己的公钥和私钥并向证书颁发机构(CA)请求证书。而CA使用基于身份加密(IBE)方案的密钥生成算法来生成证书。与传统的公钥基础设施(PKI)体系不同,CBE中的证书隐式作为用户私钥的一部分进行解密。虽然CA知道证书,但它没有用户私钥,因此它不能解密任何东西。CA不需要将证书状态信息提供给整个系统,只需联系证书持有者进行吊销和更新即可。CBE结合了PKC和IBC的优点,无需进行昂贵的证书链验证并移除了密钥托管的安全问题,适用于计算能力有限或通信带宽昂贵的环境。
综上所述,本发明公开了一种基于SM2的证书加密方法及系统。
发明内容
本发明实施例提供一种基于SM2的证书加密方法及系统,基于国密算法 SM2的公钥加密结构,结合了传统公钥加密和基于身份加密技术的优点,无需使用昂贵的证书链验证过程并移除了密钥托管安全性问题。
本发明实施例是这样实现的,一种基于SM2的证书加密方法,包括如下步骤:
步骤S100,系统初始化,确定私钥,依据私钥计算主公钥,接着确定秘密值,计算公户公钥;
步骤S200,证书授权,用户A提供个人信息以及公钥信息,依据上述信息颁发证书确定授权信息,生成授权证书并反馈给用户A;
步骤S300,信息加密,用户B通过上述用户的公钥对信息进行加密,并计算输出密文;
步骤S400,信息解密,用户A使用基于自己证书体系的私钥解密密文。
作为本发明所述的一种优选实施方案,本方法参数选取与SM2签名算法标准参数保持一致,具体符号描述如下:
q:一个大素数。
G=(xG,yG):椭圆曲线的一个基点。
a,b:椭圆曲线方程参数。
[k]P:椭圆曲线上点P的k倍点,k是正整数。
A,B:用户。
CA:证书颁发机构。
msk:由CA秘密持有的系统主私钥。
mpk:由CA公开的系统主公钥,计算公式为mpk=(xmpk,ympk)=[msk]G。
AliceInfo:用户A的个人信息。
(usk,upk):用户A的公私钥对,upk=(xupk,yupk)
CertA:用户A的证书。
usk1:用户A的秘密值。
m:待签名的消息。
C=(C1,C2,C3):消息m对应的密文。
mod q:模q运算。例如,23 mod 7三2。
x||y:x与y的拼接,其中x,y可以是比特串或字节串。
KDF(·):密钥派生函数。
作为本发明所述的一种优选实施方案,所述步骤S100详细步骤如下:
作为本发明所述的一种优选实施方案,所述步骤S200详细步骤如下:
f)用户A提供信息AliceInfo和公钥upk给CA,其中包括任何必要的附加身份信息,如她的姓名;
g)CA验证信息;
h)如果验证通过,CA计算Z=H1(AliceInfo||upk||a||b||xG||yG|| xmpk||ympk);
i)计算λ=H2(xupk||yupk||Z);
j)CA生成证书CertA=λ·msk mod q并发送给A。
作为本发明所述的一种优选实施方案,所述步骤S300的详细步骤如下:
a)用户B计算Z=H1(AliceInfo||upk||a||b||xG||yG||xmpk||ympk);
b)计算λ=H2(xupk||yupk||Z);
d)计算C1=[r]G;
e)计算R=upk+[λ]mpk;
f)计算Q=(xQ,yQ)=[r]R;
g)计算f=KDF(xQ||yQ);
i)计算C3=H(xQ||m||yQ);
j)输出密文C=(C1,C2,C3)。
作为本发明所述的一种优选实施方案,所述步骤S400计算步骤如下:
a)计算usk=(usk1+CertA);
b)计算Q=(xQ,yQ)=[usk]C1;
c)计算f=KDF(xQ||yQ);
e)计算C′3=H(xQ||m||yQ);
f)如果C′3=C3,则输出m。
作为本发明所述的一种优选实施方案,所述步骤S400中正确性判断,即Q 的计算步骤如下:
Q=[r](upk+[λ]mpk) =[r]([usk1]G+[λ·msk]G) =[r·(usk1+λ·msk)]G =[(usk1+CertA)·r]G =[usk]C1。
一种基于SM2的证书加密系统,所述系统用于执行权利要求1-7所述的方法,其包括:
初始化单元,所述初始单元用于执行系统初始化计算;
证书授权单元,所述证书授权单元用于进行证书授权计算;
加密单元,所述加密单元用于进行加密计算;
解密单元,所述解密单元用于进行解密计算。
作为本发明所述的一种优选实施方案,本系统中参数选取与SM2公钥加密算法标准参数保持一致。
本发明的有益效果:本方案基于国密算法SM2的公钥加密结构,结合了传统公钥加密和基于身份加密技术的优点,利用了CBE技术结合了PKC和IBC 的优点,无需使用昂贵的证书链验证过程并移除了密钥托管安全性问题,适用于计算能力有限或通信带宽昂贵的环境;弥补了SM2在基于证书密码学体系中的空缺。
附图说明
图1是本发明一种基于SM2的证书加密方法的方法步骤图;
图2是本发明一种基于SM2的证书加密方法的原理图;
图3是本发明一种基于SM9的无证书签名生成系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明基于国密算法SM2的公钥加密结构,结合了传统公钥加密和基于身份加密技术的优点,无需使用昂贵的证书链验证过程并移除了密钥托管安全性问题。
本发明实施例是这样实现的一种基于SM2的证书加密方法,包括如下步骤:
步骤S100,系统初始化,确定私钥,依据私钥计算主公钥,接着确定秘密值,计算公户公钥;
步骤S200,证书授权,用户A提供个人信息以及公钥信息,依据上述信息颁发证书确定授权信息,生成授权证书并反馈给用户A;
步骤S300,信息加密,用户B通过上述用户的公钥对信息进行加密,并计算输出密文;
步骤S400,信息解密,用户A使用基于自己证书体系的私钥解密密文。
进一步的,本方法参数选取与SM2签名算法标准参数保持一致,具体符号描述如下:
q:一个大素数。
G=(xG,yG):椭圆曲线的一个基点。
a,b:椭圆曲线方程参数。
[k]P:椭圆曲线上点P的k倍点,k是正整数。
A,B:用户。
CA:证书颁发机构。
msk:由CA秘密持有的系统主私钥。
mpk:由CA公开的系统主公钥,计算公式为mpk=(xmpk,ympk)=[msk]G。
AliceInfo:用户A的个人信息。
(usk,upk):用户A的公私钥对,upk=(xupk,yupk)
CertA:用户A的证书。
usk1:用户A的秘密值。
m:待签名的消息。
C=(C1,C2,C3):消息m对应的密文。
mod q:模q运算。例如,23mod 7≡2。
x||y:x与y的拼接,其中x,y可以是比特串或字节串。
KDF(·):密钥派生函数。
进一步的,所述步骤S100详细步骤如下:
进一步的,所述步骤S200详细步骤如下:
a)用户A提供信息AliceInfo和公钥upk给CA,其中包括任何必要的附加身份信息,如她的姓名;
b)CA验证信息;
c)如果验证通过,CA计算Z=H1(AliceInfo||upk||a||b||xG||yG|| xmpk||ympk);
d)计算λ=H2(xupk||yupk||Z);
e)CA生成证书CertA=λ·msk mod q并发送给A。
进一步的,所述步骤S300的详细步骤如下:
a)用户B计算Z=H1(AliceInfo||upk||a||b||xG||yG||xmpk||ympk);
b)计算λ=H2(xupk||yupk||Z);
d)计算C1=[r]G;
e)计算R=upk+[λ]mpk;
f)计算Q=(xQ,yQ)=[r]R;
g)计算f=KDF(xQ||yQ);
i)计算C3=H(xQ||m||yQ);
j)输出密文C=(C1,C2,C3)。
进一步的,所述步骤S400计算步骤如下:
a)计算usk=(usk1+CertA);
b)计算Q=(xQ,yQ)=[usk]C1;
c)计算f=KDF(xQ||yQ);
e)计算C′3=H(xQ||m||yQ);
f)如果C′3=C3,则输出m。
进一步的,所述步骤S400中正确性判断,即Q的计算步骤如下:
Q=[r](upk+[λ]mpk) =[r]([usk1]G+[λ·msk]G) =[r·(usk1+λ·msk)]G =[(usk1+CertA)·r]G =[usk]C1。
一种基于SM2的证书加密系统,所述系统用于执行权利要求1-7所述的方法,其包括:
初始化单元,所述初始单元用于执行系统初始化计算;
证书授权单元,所述证书授权单元用于进行证书授权计算;
加密单元,所述加密单元用于进行加密计算;
解密单元,所述解密单元用于进行解密计算。
进一步的,本系统中参数选取与SM2公钥加密算法标准参数保持一致。
实施例一
参阅图1-图3,本发明一种基于SM2的证书加密方法及系统。它基于国密算法SM2的公钥加密结构,结合了传统公钥加密和基于身份加密技术的优点,无需使用昂贵的证书链验证过程并移除了密钥托管安全性问题。
为保证通用性,本专利的参数选取与SM2公钥加密算法标准参数保持一致。具体符号描述如下:
q:一个大素数。
G=(xG,yG):椭圆曲线的一个基点。
a,b:椭圆曲线方程参数。
[k]P:椭圆曲线上点P的k倍点,k是正整数。
A,B:用户。
CA:证书颁发机构。
msk:由CA秘密持有的系统主私钥。
mpk:由CA公开的系统主公钥,计算公式为mpk=(xmpk,ympk)=[msk]G。
AliceInfo:用户A的个人信息。
(usk,upk):用户A的公私钥对,upk=(xupk,yupk)
CertA:用户A的证书。
usk1:用户A的秘密值。
m:待签名的消息。
C=(C1,C2,C3):消息m对应的密文。
mod q:模q运算。例如,23mod 7≡2。
x||y:x与y的拼接,其中x,y可以是比特串或字节串。
KDF(·):密钥派生函数。
Z:关于用户A的身份信息、部分椭圆曲线系统参数和用户A公钥的杂凑值。具体方案流程如下所示:
A,B表示用户,CA表示证书颁发机构。
1)初始化
2)证书授权
a)用户A提供信息AliceInfo和公钥upk给CA,其中包括任何必要的附加身份信息,如她的姓名。
b)CA验证信息。
c)如果验证通过,CA计算Z=H1(AliceInfo||upk ||a||b||xG||yG|| xmpk||ympk)。
d)计算λ=H2(xupk||yupk||Z)。
e)CA生成证书CertA=λ·msk mod q并发送给A。
3)加密
a)用户B使用用户A的公钥upk对消息m进行加密。
b)用户B计算Z=H1(AliceInfo||upk||a||b||xG||yG||xmpk||ympk)。
c)计算λ=H2(xupk||yupk||Z)。
e)计算C1=[r]G。
f)计算R=upk+[λ]mpk。
g)计算Q=(xQ,yQ)=[r]R。
h)计算f=KDF(xQ||yQ)。
j)计算C3=H(xQ||m||yQ)。
k)输出密文C=(C1,C2,C3)。
4)解密
a)用户A使用自己基于证书体系的私钥usk解密密文C。
b)计算usk=(usk1+CertA)。
c)计算Q=(xQ,yQ)=[usk]C1。
d)计算f=KDF(xQ||yQ)。
f)计算C′3=H(xQ||m||yQ)。
g)如果C′3=C3,则输出m。
正确性:
Q=[r](upk+[λ]mpk) =[r]([usk1]G+[λ·msk]G) =[r·(usk1+λ·msk)]G =[(usk1+CertA)·r]G =[usk]C1。
实施例二
请参阅图3,本发明还提供一种基于SM2的证书加密系统,所述系统用于执行权利要求1-7所述的方法,其中,所述初始单元用于执行系统初始化计算;所述证书授权单元用于进行证书授权计算;所述加密单元用于进行加密计算;所述解密单元用于进行解密计算;本系统中参数选取与SM2公钥加密算法标准参数保持一致息。
综上所述,本发明具有如下优点:
基于SM2的公钥加密结构,结合了传统公钥加密技术和基于身份的加密技术,无需使用昂贵的证书链验证过程和移除了密钥托管安全性问题;弥补了SM2 在基于证书密码学体系中的空缺。
本应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于SM2的证书加密方法,其特征在于,包括如下步骤:
步骤S100,系统初始化,确定私钥,依据私钥计算主公钥,接着确定秘密值,计算公户公钥;
步骤S200,证书授权,用户A提供个人信息以及公钥信息,依据上述信息颁发证书确定授权信息,生成授权证书并反馈给用户A;
步骤S300,信息加密,用户B通过上述用户的公钥对信息进行加密,并计算输出密文:
步骤S400,信息解密,用户A使用基于自己证书体系的私钥解密密文。
2.如权利要求1所述的一种基于SM2的证书加密方法,其特征在于,本方法参数选取与SM2签名算法标准参数保持一致,具体符号描述如下:
q:一个大素数。
G=(xG,yG):椭圆曲线的一个基点。
a,b:椭圆曲线方程参数。
[k]P:椭圆曲线上点P的k倍点,k是正整数。
A,B:用户。
CA:证书颁发机构。
msk:由CA秘密持有的系统主私钥。
mpk:由CA公开的系统主公钥,计算公式为mpk=(xmpk,ympk)=[msk]G。
AliceInfo:用户A的个人信息。
(usk,upk):用户A的公私钥对,upk=(xupk,yupk)
CertA:用户A的证书。
usk1:用户A的秘密值。
m:待签名的消息。
C=(C1,C2,C3):消息m对应的密文。
mod q:模q运算。例如,23 mod 7≡2。
x||y:x与y的拼接,其中x,y可以是比特串或字节串。
KDF(·):密钥派生函数。
4.如权利要求3所述的一种基于SM2的证书加密方法,其特征在于,所述步骤S200详细步骤如下:
a)用户A提供信息AliceInfo和公钥upk给CA,其中包括任何必要的附加身份信息;
b)CA验证信息;
c)如果验证通过,CA计算Z=H1(AliceInfo||upk||a||b||xG||yG||xmpk||ympk);
d)计算λ=H2(xupk||yupk||Z);
e)CA生成证书CertA=λ·msk mod q并发送给A。
7.如权利要求6所述的一种基于SM2的证书加密方法,其特征在于,所述步骤S400中正确性判断,即Q的计算步骤如下:
Q=[r](upk+[λ]mpk)
=[r]([usk1]G+[λ·msk]G)
=[r·(usk1+λ·msk)]G
=[(usk1+CertA)·r]G
=[usk]C1。
8.一种基于SM2的证书加密系统,其特征在于,所述系统用于执行权利要求1-7所述的方法,其包括:
初始化单元,所述初始单元用于执行系统初始化计算;
证书授权单元,所述证书授权单元用于进行证书授权计算;
加密单元,所述加密单元用于进行加密计算;
解密单元,所述解密单元用于进行解密计算。
9.如权利要求7所述的一种基于SM2的证书加密系统,其特征在于,本系统中参数选取与SM2公钥加密算法标准参数保持一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211180107.XA CN115694827A (zh) | 2022-09-26 | 2022-09-26 | 一种基于sm2的证书加密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211180107.XA CN115694827A (zh) | 2022-09-26 | 2022-09-26 | 一种基于sm2的证书加密方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115694827A true CN115694827A (zh) | 2023-02-03 |
Family
ID=85062603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211180107.XA Pending CN115694827A (zh) | 2022-09-26 | 2022-09-26 | 一种基于sm2的证书加密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115694827A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116743505A (zh) * | 2023-08-14 | 2023-09-12 | 上海特高信息技术有限公司 | 一种基于国密的安全传输加密方法 |
-
2022
- 2022-09-26 CN CN202211180107.XA patent/CN115694827A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116743505A (zh) * | 2023-08-14 | 2023-09-12 | 上海特高信息技术有限公司 | 一种基于国密的安全传输加密方法 |
CN116743505B (zh) * | 2023-08-14 | 2023-10-20 | 上海特高信息技术有限公司 | 一种基于国密的安全传输加密方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108173639B (zh) | 一种基于sm9签名算法的两方合作签名方法 | |
CN111106936B (zh) | 一种基于sm9的属性加密方法与系统 | |
CN112367175B (zh) | 基于sm2数字签名的隐式证书密钥生成方法 | |
WO2021042685A1 (zh) | 一种区块链的交易方法、装置及系统 | |
Toorani et al. | An elliptic curve-based signcryption scheme with forward secrecy | |
CN110830236B (zh) | 基于全域哈希的身份基加密方法 | |
Steiner et al. | Secure password-based cipher suite for TLS | |
CN101079701B (zh) | 高安全性的椭圆曲线加解密方法和装置 | |
CN112104453B (zh) | 一种基于数字证书的抗量子计算数字签名系统及签名方法 | |
CN105024994A (zh) | 无对运算的安全无证书混合签密方法 | |
CN109873699B (zh) | 一种可撤销的身份公钥加密方法 | |
CN110719295B (zh) | 一种基于身份的面向食品数据安全的代理重加密方法与装置 | |
WO2007076659A1 (fr) | Procede et systeme de chiffrement a base d'id | |
CN104767611B (zh) | 一种从公钥基础设施环境到无证书环境的签密方法 | |
CN114268439B (zh) | 一种基于格的身份基认证密钥协商方法 | |
CN112699394B (zh) | 一种基于sm9算法的密钥应用方法 | |
CN108055134B (zh) | 椭圆曲线点数乘及配对运算的协同计算方法及系统 | |
CN115694827A (zh) | 一种基于sm2的证书加密方法及系统 | |
CN107682158B (zh) | 一种可托管的认证加密方法 | |
Ahirwal et al. | Signcryption scheme that utilizes elliptic curve for both encryption and signature generation | |
CN110868298B (zh) | 一种电网通信加密方法 | |
CN110224835B (zh) | 一种无证书的身份隐藏认证加密方法 | |
Ahmed et al. | Comparative analysis of cryptographic algorithms in context of communication: A systematic review | |
CN113904777B (zh) | 一种基于sm2数字签名算法的签密方法 | |
CN113708925B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230410 Address after: 200232 floor 1-3, No.24, Lane 315, Fenggu Road, Xuhui District, Shanghai Applicant after: Shanghai qianfang Technology Co.,Ltd. Applicant after: WUHAN University Address before: 200232 floor 1-3, No.24, Lane 315, Fenggu Road, Xuhui District, Shanghai Applicant before: Shanghai qianfang Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right |