CN101594228B - 证书公钥系统与身份公钥系统之间的认证加密方法 - Google Patents

证书公钥系统与身份公钥系统之间的认证加密方法 Download PDF

Info

Publication number
CN101594228B
CN101594228B CN2009100231679A CN200910023167A CN101594228B CN 101594228 B CN101594228 B CN 101594228B CN 2009100231679 A CN2009100231679 A CN 2009100231679A CN 200910023167 A CN200910023167 A CN 200910023167A CN 101594228 B CN101594228 B CN 101594228B
Authority
CN
China
Prior art keywords
public key
user
key
identity
pki
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.)
Expired - Fee Related
Application number
CN2009100231679A
Other languages
English (en)
Other versions
CN101594228A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN2009100231679A priority Critical patent/CN101594228B/zh
Publication of CN101594228A publication Critical patent/CN101594228A/zh
Application granted granted Critical
Publication of CN101594228B publication Critical patent/CN101594228B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种证书公钥系统与身份公钥系统之间的认证加密方法。其具体过程为:从公钥函数数据库中选取参数,并生成身份公钥系统和证书公钥系统的公、私钥;根据系统的参数和公、私钥生成用户的公、私钥;利用双线性映射、发送者的私钥和接收者的公钥,计算身份公钥系统与证书公钥系统的用户之间的会话密钥;再用该会话密钥认证加密消息得到密文,并把密文发送给接收者;接收者先利用双线性映射和自身的私钥,计算出会话密钥,再用该会话密钥解密出明文消息,并认证发送者的身份。本发明具有实施过程简单、传输效率高的优点,可用于证书公钥系统与身份公钥系统之间对秘密文件的可认证的传输。

Description

证书公钥系统与身份公钥系统之间的认证加密方法
技术领域
本发明属于信息安全技术领域,涉及认证加密,具体地说是一种能高效地实现证书公钥系统与身份公钥系统之间的认证加密方法,可用于证书公钥系统和身份公钥系统之间对秘密文件的可认证的传输。
背景技术
业内周知,保密性和认证性是信息安全里最主要的两个目标,通过加密实现保密性,通过签名或消息认证码实现认证性。很多实际应用同时要求保密性和认证性,比如电子邮件和电子商务。认证加密技术能够以小于“先签名再加密”的代价来同时实现保密性和认证性。
自W.Diffie和M.Hellman在1976年发明公钥密码学以来,已经出现了很多公钥认证加密方法。认证性可以通过签名或消息认证码来实现。用签名构造的认证加密又被称为“签密”,这一概念首先是由中国学者Zheng在他1997年发表在“Crypto 1997”上的论文“Digital signcryption or how toachieve cost(signature&encryption<<cost(signature)+cost(encryption)”中提出的。韩国学者Jun-Bum Shin,Kwangsu Lee和Kyungah Shim在他们2002年发表在“ICISC 2002”上的论文“New DSA-verifiable signcryptionschemes”中采用标准的数字签名算法DSA设计了两种实用的认证加密方法。日本学者Raylin Tso,Takeshi Okamoto和Eiji Okamoto在他们2007年发表在“Inscrypt 2007”上的论文“ECDSA-Verifiable Signcryption Schemewith Signature Verifcation on the Signcrypted Message”中提出了椭圆曲线标准签名算法ECDSA的认证加密方法,减少了通信开销。
身份公钥系统是由Shamir在1984年提出的,旨在克服证书公钥系统需要管理大量证书的缺点。但是第一个实用的身份加密方案直到2001年才由Boneh和Franklin提出,目前,对身份认证加密有了不少研究成果。美国学者B.Lynn在他2002年公开在“Cryptology ePrint Archive”上的论文“Authenticated Identity-based Encryption”中提出了第一个身份认证加密方案。另外,英国学者L.Chen和J.Malone-Lee在他们2005年发表在“PKC2005”上的论文“Improved Identity-Based Signcryption”中运用身份签名构造了一个高效的身份认证加密方案。巴西学者P.S.Barreto,葡萄牙学者B.Libert,爱尔兰学者N.McCullagh和葡萄牙学者J.Quisquater在他们2005年发表在“ASIACRYPT 2005”上的论文“Efficient and Provably-Secure Identity-Based Signatures and Signcryption from Bilinear Maps”中运用快速双线性对设计了一个更高效的身份认证加密方案。
证书公钥系统和身份公钥系统各有优缺点。证书公钥系统的优点是用户私钥只有用户知道,保密性强,缺点是需要管理大量证书,任务繁重;身份公钥系统的优点是用户的身份即为公钥,所以不需要证书,缺点是安全性差,由于系统中心知道所有用户的私钥,可以解密任何用户的任何密文,并能够伪造任何签名。在实际应用中,不同的机构根据具体情况可能采用证书公钥系统,也可能采用身份公钥系统。比如,用户A属于证书公钥系统,用户B属于身份公钥系统,当A想给B传输可认证的秘密消息时,A首先要对消息做签名,再对签名做加密,或者需要在身份公钥系统里申请一对公私钥,然后再用身份认证加密的方法给B发送消息,这两种方法降低了传输效率、增加了系统的复杂性。
发明内容
本发明目的在于克服上述系统之间传输复杂且效率低的缺点,提供一种证书公钥系统与身份公钥系统之间的认证加密方法,以高效地实现证书公钥系统与身份公钥系统之间对秘密文件的可认证的传输,简化系统、提高传输效率。
实现本发明目的的技术方案是:利用双线性对的性质,计算身份公钥系统与证书公钥系统的用户之间的会话密钥,再用该会话密钥认证加密消息并传输,设计一种能简单高效的实现证书公钥系统与身份公钥系统之间的认证加密方法。具体过程如下:
(1)系统公私钥生成步骤:
证书公钥系统和身份公钥系统从公钥函数数据库中选取一套参数,包括两个阶为素数q的循环群G1和G2,双线性对 e ^ : G 1 × G 1 → G 2 , 哈希函数H1:{o,1}*→G1,根据选取的参数,证书公钥系统选取公钥pk和私钥sk,身份公钥系统选取公钥mpk和私钥msk;
(2)用户公私钥生成步骤:
身份公钥系统将用户B的身份IDB作为用户B的公钥,并根据IDB和msk生成用户B的私钥DB;证书公钥系统的用户A由自己生成公钥YA和私钥xA
(3)会话密钥生成步骤:
根据用户公私钥,身份公钥系统的发送者B给证书公钥系统的接收者A发送消息M时,所生成的会话密钥为 K BA = e ^ ( Y A , D B ) ; 根据用户公私钥,证书公钥系统的发送者A给身份公钥系统的接收者B发送消息M时,所生成的会话密钥为 K AB = e ^ ( mpk , H 1 ( ID B ) ) x A ;
(4)加密传输步骤:
发送者用上述会话密钥KBA或KAB加密消息,计算出密文,并将该密文发送给接收者;
(5)解密认证步骤:
接收者根据双线性对的双线性性,用自己的私钥和发送者的公钥计算出会话密钥 K BA = e ^ ( mpk , H 1 ( ID B ) ) x A K AB = e ^ ( Y A , D B ) , 再用该会话密钥解密出明文消息,并认证发送者的身份。
本发明由于能够直接用一个双线性对,计算出证书公钥系统和身份公钥系统的用户之间的会话密钥,并用该密钥对消息进行认证加密和传输,避免了发送者同时用数字签名和公钥加密,或者先到接受者所在的公钥系统申请公私钥,然后在同一个公钥系统中对消息进行认证加密的复杂过程,从而简化了系统,提高了传输效率。
以下结合附图对本发明目的、方案作进一步说明。
附图说明
图1是证书公钥系统与身份公钥系统的用户之间通信的示意图;
图2是本发明的认证加密过程示意图。
具体实施方式
一、本发明所应用的数学理论及技术术语说明:
1、哈希函数
哈希函数就是把任意长的输入转化成固定长的输出的一种函数,这个输出称为该输入的哈希值。一个安全的哈希函数应该至少满足以下几个条件:①输出长度是固定的,一般至少取128bits长,以便抵抗生日攻击;②对每一个给定的输入,可很容易的计算其输出;③给定哈希函数的描述,找到两个不同的输入哈希到同一个值是计算上不可行的;④给定哈希函数的描述和一个输入,找到另一个不同的输入,使得它们的哈希值相同是计算上不可行的。本发明所用的哈希函数H1把任意长的一个输入转化成椭圆曲线上一个素数阶子群中的一个点。
2、双线性对
本发明中,双线性对 e ^ : G 1 × G 1 → G 2 是一个满足双线性性、非退化性和可计算性的映射,它把素数阶群G1中的两个元素映射到素数阶群G2中的一个元素。比如,定义在超奇异椭圆曲线上的Tate对是一个满足条件的双线性对。
3、有关技术术语
本发明的有关技术术语可通过图1说明如下:
(1)CA为证书公钥系统的“证书中心”,负责颁发和管理公钥证书。
(2)PKG为身份公钥系统的“私钥生成中心”,负责生成用户私钥。
(3)节点A为证书公钥系统的一个用户。
(4)节点B为身份公钥系统的一个用户。
(5)本发明中的证书公钥系统和身份公钥系统可以各自独立,也可以是某个公钥系统(比如证书公钥系统)下的两个子系统。
二、本发明的实现过程
参照图1和图2,本发明的具体过程如下:
步骤1、生成系统公私钥。
从公钥函数数据库中选取两个阶为素数q的循环群G1和G2 e ^ : G 1 × G 1 → G 2 是一个双线性对,P为G1的生成元,H1:{0,1}*→G1,H2:Zq *×G2→{0,1}n,H3:{0,1}n→{0,1}n和H4:{o,1}n×{0,1}n→Zq *是四个哈希函数,这里n是明文消息的比特长度,Zq *表示有限域Zq去掉零元素后的乘法群;
证书公钥系统从Zq *中随机选取一个元素s作为系统的私钥,计算公钥mpk=s·P;
身份公钥系统从Zq *中随机选取一个元素sk作为系统的私钥,计算公钥pk=sk·P,这里,符号“·”表示乘法。
步骤2、生成用户公私钥。
身份公钥系统将用户身份IDB作为用户B的公钥,并根据系统私钥s和用户公钥IDB计算用户私钥:DB=s·H1(IDB);
证书公钥系统的用户A从Zq *中任意选择一个元素xA作为其私钥,并将该私钥与系统参数中G1的生成元P相乘,计算出用户A的公钥:YA=xA·P。
步骤3、生成会话密钥。
身份公钥系统的发送者B给证书公钥系统的接收者A发送消息M,B用自己的私钥DB和接收者A的公钥YA计算会话密钥: K BA = e ^ ( Y A , D B ) ;
证书公钥系统的发送者A给身份公钥系统的接收者B发送消息M,A用自己的私钥xA和接收者B的公钥IDB计算出会话密钥: K AB = e ^ ( mpk , H 1 ( ID B ) ) x A .
步骤4、加密并传输。
发送者用以上得到的会话密钥KBA,KAB,加密消息M,并按如下过程进行加密并传输:
4a)发送者从集合{0,1}n中任意选取一个元素σ,计算H4(σ,M),记为U=H4(σ,M),这里,集合{o,1}n是由n比特长的二进制序列组成的;
4b)计算 σ ⊕ H 2 ( U , K ) , 记为 V = σ ⊕ H 2 ( U , K ) , 其中K=KBA,KAB
4c)计算 M ⊕ H 3 ( σ ) , 记为 W = M ⊕ H 3 ( σ ) ;
4d)根据计算的结果,生成密文C=(U,V,W),并将该密文发送给接收者,如图1所示,证书公钥系统的用户A和身份公钥系统的用户B互相传输消息时,按以上过程对消息进行认证加密,生成密文并传输。
步骤5、解密。
5a)计算会话密钥
证书公钥系统的接收者A收到由身份公钥系统的发送者B发送的密文C=(U,V,W),并根据双线性对的性质 K BA = e ^ ( Y A , D B ) = e ^ ( x A P , s H 1 ( ID B ) ) = e ^ ( sP , H 1 ( ID B ) ) x A = e ^ ( mpk , H 1 ( ID B ) ) x A , 用自己的私钥xA和发送者B的公钥IDB计算会话密钥: K BA = e ^ ( mpk , H 1 ( ID B ) ) x A ;
身份公钥系统的接收者B收到由证书公钥系统的发送者A发送的密文C=(U,V,W),并根据双线性对的性质 K BA = e ^ ( mpk , H 1 ( ID B ) ) x A = e ^ ( sP , H 1 ( ID B ) ) x A = e ^ ( x A P , s H 1 ( ID B ) ) = e ^ ( Y A , D B ) , 用自己的私钥和发送者A的公钥计算出会话密钥: K AB = e ^ ( Y A , D B ) ;
5b)解密出明文
接收者计算明文消息 M = W ⊕ H 3 ( σ ′ ) , 其中 σ ′ = V ⊕ H 2 ( U , K ) , U、V和W是步骤4计算出的密文,K=KBA,KAB
步骤6、认证。
由以上得到的σ′和M,接收者计算H4(σ′,M),验证H4(σ′,M)是否等于U,如果是,则输出消息M和发送者的公钥,否则输出“密文无效”。

Claims (6)

1.一种证书公钥系统与身份公钥系统之间的认证加密方法,包括:
(1)系统公私钥生成步骤:
证书公钥系统和身份公钥系统从公钥函数数据库中选取一套参数,包括两个阶为素数q的循环群G1和G2,双线性对
Figure FSB00000449036000011
哈希函数H1:{0,1}*→G1,根据选取的参数,证书公钥系统选取公钥pk和私钥sk,身份公钥系统选取公钥mpk和私钥msk;
(2)用户公私钥生成步骤:
身份公钥系统将用户B的身份IDB作为用户B的公钥,并根据IDB和msk生成用户B的私钥DB;证书公钥系统的用户A由自己生成公钥YA和私钥xA
(3)会话密钥生成步骤:
根据用户公私钥,身份公钥系统的发送者B给证书公钥系统的接收者A发送消息M时,所生成的会话密钥为
Figure FSB00000449036000012
根据用户公私钥,证书公钥系统的发送者A给身份公钥系统的接收者B发送消息M时,所生成的会话密钥为
Figure FSB00000449036000013
(4)加密传输步骤:
发送者用上述会话密钥KBA或KAB加密消息,计算出密文,并将该密文发送给接收者;
(5)解密认证步骤:
接收者根据双线性对的性质
Figure FSB00000449036000014
Figure FSB00000449036000015
用自己的私钥和发送者的公钥计算出会话密钥
Figure FSB00000449036000016
再用该会话密钥解密出明文消息,并认证发送者的身份。
2.根据权利要求1所述的认证加密方法,其中步骤(1)所述的证书公钥系统和身份公钥系统从公钥函数数据库中选取一套参数,该套参数进一步包括:G1的生成元P,三个哈希函数H2:Zq *×G2→{0,1}n,H3:{0,1}n→{0,1}n和H4:{0,1}n×{0,1}n→Zq *,这里n是明文消息的比特长度,Zq *表示有限域Zq去掉零元素后的乘法群。
3.根据权利要求2所述的认证加密方法,其中步骤(1)中的证书公钥系统公钥pk和私钥sk,身份公钥系统的公钥mpk和私钥msk,按照如下方式生成:
证书公钥系统从Zq *中随机选取一个元素s作为身份公钥系统的私钥msk,计算公钥mpk=s·P;
身份公钥系统从Zq *中随机选取一个元素sk作为证书公钥系统的私钥,计算公钥pk=sk·P,这里,符号“·”表示乘法。
4.根据权利要求3所述的认证加密方法,其中步骤(2)中用户B的私钥DB和用户A的公钥YA和私钥xA,按如下方式生成:
根据身份系统私钥s和用户B的公钥IDB计算用户B的私钥:DB=s·H1(IDB);
证书公钥系统的用户A从Zq *中任意选择一个元素xA作为其私钥,并将该私钥与系统参数中G1的生成元P相乘,计算出用户A公钥:YA=xA·P。
5.根据权利要求4所述的认证加密方法,其中步骤(4)所述的发送者用会话密钥KBA或KAB加密消息M,按如下过程进行:
(5a)发送者从集合{0,1}n中任意选取一个元素σ,计算H4(σ,M),记为U=H4(σ,M);
(5b)计算
Figure FSB00000449036000021
,记为
Figure FSB00000449036000022
,其中K=KBA,KAB
(5c)计算
Figure FSB00000449036000031
,记为
Figure FSB00000449036000032
(5d)生成密文C=(U,V,W)。
6.根据权利要求5所述的认证加密方法,其中步骤(5)所述的用会话密钥解密出明文消息并认证发送者的身份,分为以下两种情况进行:
第一种情况:证书公钥系统的用户A解密由身份公钥系统的用户B发送的密文C=(U,V,W):
(6a)用户A分别计算
Figure FSB00000449036000033
,记为,计算
Figure FSB00000449036000035
,记为
(6b)计算H4(σ′,M),记为U′=H4(σ′,M);
(6c)验证U′=U是否成立,如果成立,则A接受消息M是由B发送的,否则A拒绝。
第二种情况:身份公钥系统的用户B解密由证书公钥系统的用户A发送来的密文C=(U,V,W):
6a)用户B分别计算
Figure FSB00000449036000037
,记为,计算
Figure FSB00000449036000039
,记为
Figure FSB000004490360000310
6b)计算H4(σ′,M),记为U′=H4(σ′,M);
6c)验证U′=U是否成立,如果成立,则B接受消息M是由A发送的,否则B拒绝。
CN2009100231679A 2009-07-02 2009-07-02 证书公钥系统与身份公钥系统之间的认证加密方法 Expired - Fee Related CN101594228B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100231679A CN101594228B (zh) 2009-07-02 2009-07-02 证书公钥系统与身份公钥系统之间的认证加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100231679A CN101594228B (zh) 2009-07-02 2009-07-02 证书公钥系统与身份公钥系统之间的认证加密方法

Publications (2)

Publication Number Publication Date
CN101594228A CN101594228A (zh) 2009-12-02
CN101594228B true CN101594228B (zh) 2011-06-01

Family

ID=41408690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100231679A Expired - Fee Related CN101594228B (zh) 2009-07-02 2009-07-02 证书公钥系统与身份公钥系统之间的认证加密方法

Country Status (1)

Country Link
CN (1) CN101594228B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834724B (zh) * 2010-04-27 2012-08-29 武汉大学 一种公钥认证加密方法及数字签名方法
CN101938481A (zh) * 2010-09-06 2011-01-05 华南理工大学 基于数字证书的文件加密和分发方法
CN102542070B (zh) * 2012-01-17 2014-10-15 桂林电子科技大学 基于随机函数的单向哈希函数构造方法
CN103746810B (zh) * 2013-12-27 2017-02-01 西安邮电大学 从证书公钥系统到身份公钥系统的匿名签密方法
CN103825733A (zh) * 2014-02-28 2014-05-28 华为技术有限公司 基于组合公钥密码体制的通信方法、装置及系统
CN105743646B (zh) * 2016-02-03 2019-05-10 四川长虹电器股份有限公司 一种基于身份的加密方法及系统
JP6556955B2 (ja) * 2016-07-19 2019-08-07 日本電信電話株式会社 通信端末、サーバ装置、プログラム
CN111600829A (zh) * 2019-02-21 2020-08-28 杭州萤石软件有限公司 用于物联网设备间的安全通信方法和系统
CN110417722B (zh) * 2019-03-21 2021-08-31 腾讯科技(深圳)有限公司 一种业务数据通信方法、通信设备及存储介质
CN110784314A (zh) * 2019-10-11 2020-02-11 南京师范大学 无证书的加密信息处理方法
CN111431710B (zh) * 2020-03-24 2021-09-10 数据通信科学技术研究所 一种发送方可查阅且第三方可监管的加密方法和装置
CN114448644A (zh) * 2022-03-04 2022-05-06 芜湖雄狮汽车科技有限公司 基于对称算法的数字证书实现方法、装置、设备及介质
CN116579005B (zh) * 2023-07-10 2023-09-19 西安银信博锐信息科技有限公司 一种用户数据安全存储管理方法

Also Published As

Publication number Publication date
CN101594228A (zh) 2009-12-02

Similar Documents

Publication Publication Date Title
CN101594228B (zh) 证书公钥系统与身份公钥系统之间的认证加密方法
CN108173639B (zh) 一种基于sm9签名算法的两方合作签名方法
CN104767612B (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN102523093B (zh) 一种带标签的基于证书密钥封装方法及系统
CN103746811B (zh) 从身份公钥系统到证书公钥系统的匿名签密方法
CN104168114A (zh) 一种分布式的基于(k,n)门限证书加密方法及系统
CN101471776A (zh) 基于用户身份标识防止pkg伪造签名的方法
CN104767611B (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN108880796A (zh) 一种针对服务器高效的基于属性加密算法的外包解密方法
CN110113150A (zh) 基于无证书环境的可否认认证的加密方法和系统
Li et al. A biometric identity-based signcryption scheme
CN103746810B (zh) 从证书公钥系统到身份公钥系统的匿名签密方法
Verma et al. An efficient signcryption algorithm using bilinear mapping
Swapna et al. Efficient identity based multi-signcryption scheme with public verifiability
Xiong et al. Cryptanalysis of Attribute-based Ring Signcryption Scheme.
Rasmussen et al. Weak and strong deniable authenticated encryption: on their relationship and applications
CN113347153A (zh) 一种结合身份认证和动态密钥的文件加密传输方法
Zhu et al. Fully secure identity based key-insulated signcryption in the standard model
Zhang et al. A post-quantum communication secure identity-based proxy-signcryption scheme
Lee et al. Identity-based signcryption from identity-based cryptography
Das et al. Cryptanalysis of Signcryption Protocols Based On Elliptic Curve
an Wang et al. On the role of pkg for proxy re-encryption in identity based setting
Tripathi et al. Foretaste on identity based encryption
Tian et al. Security of a biometric identity-based encryption scheme
Wei et al. Proxy Re-encryption from CLE to CBE

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110601

Termination date: 20150702

EXPY Termination of patent right or utility model