CN104363218B - 一种基于证书条件代理重加密方法和系统 - Google Patents

一种基于证书条件代理重加密方法和系统 Download PDF

Info

Publication number
CN104363218B
CN104363218B CN201410614744.2A CN201410614744A CN104363218B CN 104363218 B CN104363218 B CN 104363218B CN 201410614744 A CN201410614744 A CN 201410614744A CN 104363218 B CN104363218 B CN 104363218B
Authority
CN
China
Prior art keywords
behalf
user
encryption
certificate
private key
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
CN201410614744.2A
Other languages
English (en)
Other versions
CN104363218A (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.)
Hohai University HHU
Original Assignee
Hohai University HHU
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 Hohai University HHU filed Critical Hohai University HHU
Priority to CN201410614744.2A priority Critical patent/CN104363218B/zh
Publication of CN104363218A publication Critical patent/CN104363218A/zh
Application granted granted Critical
Publication of CN104363218B publication Critical patent/CN104363218B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于证书条件代理重加密系统。本发明的系统包括:系统参数设置模块,生成系统主密钥和系统公开参数;用户密钥生成模块,生成各个用户的公钥和私钥对;证书生成模块,对用户的身份和公钥进行签名并生成用户的证书;加密模块,对消息进行加密并发送给解密模块和代理重加密密钥生成模块;代理重加密密钥生成模块,生成代理重加密密钥并发送给代理重加密模块;代理重加密模块,对原始密文进行重加密后生成重加密密文发送给解密模块;解密模块,恢复出相应的明文信息。本发明还公开了一种基于证书的条件代理重加密方法,在保证系统安全性的前提下,使得原始密文能够被弹性地进行代理重加密,严格的控制了代理者的权利。

Description

一种基于证书条件代理重加密方法和系统
技术领域
本发明涉及一种网络安全的数据加密技术,尤其涉及一种安全的基于证书的条件代理重加密系统及方法,属于信息安全领域。
背景技术
随着信息技术的高速发展,在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上的传输,这种不安全性引发了人们的重视。数据加密技术是保障电子数据机密性的核心和关键技术,它通过加密密钥及加密算法将数据转换成无意义的密文,从而避免数据被未经授权者访问,有效地保障了数据的机密性。
在现实社会中经常会遇到解密授权的情况。例如,一个银行部门经理申请年终休假一段时间出去旅游,在这段时间中,如果银行的相关重要文件不能及时查收,将会严重影响到公司的业务进行。为了使银行能够正常运行,该经理需要委托一位可靠的助手在他休假的这段时间帮他处理一些与业务相关的加密邮件,但同时不希望将自己的私钥透露给该助手。为了解决这个问题,Blaze等人于1998年提出了代理重加密的思想。在代理重加密系统中,一个拥有代理重加密密钥的半可信的代理重加密中心,可以将用该经理公钥加密的消息m的密文直接转化为以助手的公钥对消息m的加密的密文,其中该经理称为委托方,助手称为受理方。在这个过程中,半可信的代理重加密中心无法获知消息m的任何信息。由于代理重加密能够有效解决解密授权的问题,因此该方法有着很多重要的实际应用,如数字版权的跨域操作、加密电子邮件的转发以及公共云中安全数据的共享等。
代理重加密一提出便受到广泛关注,国内外学者对其进行了深入的探讨和研究。但已有的代理重加密方法大多是在传统公钥密码体制下或基于身份密码体制下所提出的,因此这些方法要么存在复杂的证书管理问题,要么存在密钥分发和密钥托管的问题。因此,现有的代理重加密方法在开放网络环境下的应用将会受到限制。
基于证书密码体制是Gentry在2003年欧洲密码学会议上提出的一种新型公钥密码体制,该体制有机结合了基于身份密码体制和传统公钥密码体制的优点,消除了高代价的证书验证过程,并且不存在密钥托管的隐患。基于证书密码体制中的证书具有传统公钥密码体制中证书的全部功能,并且在解密的过程中作为私钥的一部分,因而在加密的过程中不存在对证书状态的第三方询问。而且,在基于证书的公钥密码体制中,证书的发送不需要通过安全信道,不存在密钥分发的问题。因此,基于证书密码体制是一个性能优良,便于开放网络环境中应用的新型公钥密钥体制,但是证书的管理过程比较复杂,存在不简化的问题。
发明内容
本发明所要解决的技术问题是针对前述背景技术中的缺陷,对现有的基于证书代理重加密方法进行研究改进,提供一种基于证书的条件代理重加密系统和方法。在重加密的过程中能够有效地控制代理中心的转换密文的能力,使得只有满足一定条件的密文才能够被代理中心进行有效的转换。
本发明为解决上述技术问题采用以下技术方案:
本发明提出一种基于证书的条件代理重加密方法,包括以下步骤:
A、设定系统公开参数params和系统主密钥msk;
B、根据所述系统公开参数params生成用户的公钥pki和私钥uski
C、根据所述系统主密钥msk和系统公开参数params,对用户的身份idi、用户的公钥pki和用户证书的有效期τ进行签名,生成用户的证书Certτ,i
D、根据所述系统公开参数params、证书的有效期τ、加密条件c、用户的身份idi和用户的公钥pki,对消息m进行加密得到原始密文Ci
E、根据所述系统公开参数params、用户的身份idi、用户公钥pki、私钥uski、用户的证书Certτ,i、受理方的身份idj、受理方公钥pkj和加密条件c,生成代理重加密密钥rki,c,j
F、根据所述系统公开参数params、原始密文Ci和代理重加密密钥rki,c,j,生成代理重加密密文Cj
G、判断所接收到的密文是原始密文或者是代理重加密密文,分别进行以下处理:
若为原始密文,则根据所述系统公开参数params、用户私钥uski、用户证书Certτ,i和条件c,恢复出相应的明文消息m;
若为代理重加密密文,则根据所述系统公开参数params、用户私钥uskj和用户证书Certτ,j,恢复出相应的明文消息m。
进一步的,本发明的基于证书条件代理重加密方法,所述步骤A包括:
A1、选取阶为p的乘法循环群G1、G2以及双线性映射e:G1×G1→G2
A2、随机选取G1的一个生成元g,选取六个抗碰撞的杂凑哈希函数H1:{0,1}*→G1,H2:{0,1}n×G2→Zp *,H3:G1×Zp *→G1,H4:G2→{0,1}n,H5:{0,1}*→G1,H6:{0,1}*→G1
A3、随机选取α∈Zp *,其中表示集合{1,2,…,p-1},计算g1=gα
系统公开参数params为{G1,G2,g,g1,e,H1,H2,H3,H4,H5,H6},系统主密钥msk为α;
其中,杂凑哈希函数H1是{0,1}*到G1的密码学哈希函数,H2是笛卡尔积{0,1}n×G2到Zp *的密码学哈希函数,H3是笛卡尔积G1×Zp *到G1的密码学哈希函数,H4是G2到{0,1}n的密码学哈希函数,H5是{0,1}*到G1的密码学哈希函数,H6是{0,1}*到G1的密码学哈希函数,{0,1}*表示标识长度不确定的二进制比特串集合,n表示明文的比特长度,{0,1}n表示长度为n的二进制比特串集合,{0,1}n×G2表示{0,1}n和群G2的笛卡尔积,G1×Zp *表示群G1和Zp *的笛卡尔积,其中表示集合{1,2,…,p-1}。
进一步的,本发明的基于证书条件代理重加密方法,所述步骤B包括:
B1、随机选取xi∈Zp *,将xi作为用户的私钥uski,其中表示集合{1,2,…,p-1};
B2、计算将pki作为用户的公钥。
进一步的,本发明的基于证书条件代理重加密方法,所述步骤C包括:
C1、定义证书有效期τ;
C2、计算si=H1(τ,idi,pki),得到用户证书Certτ,i=si α
进一步的,本发明的基于证书条件代理重加密方法,所述步骤D包括:
D1、将消息的特殊标识类型c∈Zp *作为加密条件,其中表示集合{1,2,…,p-1};
D2、计算si=H1(τ,idi,pki),hi=H3(pki,c);
D3、随机选取δ∈G2,计算r=H2(m,δ);
D4、计算:
C1=gr,C2=δ·(e(pki,hi)·e(si,g1))r,C3=m⊕H4(δ),C4=e(si c,pki·g1)r,C5=H5(C1,C2,C3,C4)r
获得原始加密密文Ci=(C1,C2,C3,C4,C5)。
进一步的,本发明的基于证书条件代理重加密方法,所述步骤E包括:
E1、随机选取y∈Zp *,计算其中表示集合{1,2,…,p-1};
E2、计算hi=H3(pki,c),
E3、随机选取R∈G2,计算sj=H1(τ,idj,pkj)和si=H1(τ,idi,pki);
E4、计算k=e(Certτ,i,sj)和rk3=Certτ,i·H6(k,idj,pkj,R);
E5、计算获得代理重加密密钥rki,c,j=(rk1,rk2,rk3,rk4,rk5)。
进一步的,本发明的基于证书条件代理重加密方法,所述步骤F包括:
F1、验证等式e(C1,H5(C1,C2,C3,C4))=e(g,C5)是否成立,若等式成立,继续重加密;若等式不成立,拒绝重加密;
F2、验证等式e(rk5,C1)=C4是否成立,若等式成立,继续重加密;若等式不成立,拒绝重加密;
F3、计算ω1=e(C1,rk2)和ω2=1/e(C1,rk3);
F4、计算C′2=C2·ω1·ω2
F5、设置C′1=C1,C′3=C3,C′4=rk1,C′5=rk4;获得重加密密文Cj=(C′1,C′2,C′3,C′4,C′5)。
进一步的,本发明的基于证书条件代理重加密方法,在步骤G中,若接收到的密文是原始密文时,具体包括以下处理步骤:
G1、验证等式e(C1,H5(C1,C2,C3,C4))=e(g,C5)是否成立,若等式成立,继续进行解密;若等式不成立,拒绝解密;
G2、计算hi=H3(pki,c)和
G3、计算m=C3⊕H4(δ);
G4、计算r=H2(m,δ),验证等式gr=C1,若等式成立,恢复明文消息m;若等式不成立,拒绝恢复明文消息。
进一步的,本发明的基于证书条件代理重加密方法,在步骤G中,若接收到的密文是代理重加密密文时,具体包括以下处理步骤:
G5、计算si=H1(τ,idi,pki)和R=C′5/e(C′4,Certτ,j);
G6、计算k=e(si,Certτ,j),
G7、计算m=C′3⊕H4(δ);
G8、计算r=H2(m,δ),验证等式gr=C1,若等式成立,恢复明文消息m;若等式不成立,拒绝恢复明文消息。
本发明为解决所述技术问题,还提出一种基于证书的条件代理重加密系统,包括:
系统参数设置模块,用于生成系统主密钥和系统公开参数;
用户密钥生成模块,用于根据系统公开参数生成各个用户的公钥和私钥对;
证书生成模块,用于根据系统主密钥和系统公开参数,对用户的身份、用户的公钥和用户证书有效期进行签名,产生用户证书;
加密模块,用于根据系统公开参数、用户的公钥、用户的身份信息、用户证书的有效期以及要发送的明文消息所拥有的条件,对该消息进行加密,生成该消息的原始密文;
代理重加密密钥生成模块,用于根据系统公开参数、用户的身份信息和受理方的身份信息、用户的公钥、私钥和受理方的公钥,以及用户证书和明文消息所拥有的条件,生成代理重加密密钥;
代理重加密模块,用于根据系统公开参数、原始密文以及代理重加密密钥,生成代理重加密密文;
解密模块,用于根据密文是原始密文或重加密密文分别进行不同处理来恢复明文:若为原始密文,则通过系统公开参数、用户的私钥、用户证书以及加密消息所拥有的条件,恢复明文消息;若为代理重加密密文,则通过系统公开参数、用户的私钥以及用户证书,恢复明文消息。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明将基于证书密码体制和代理重加密体制相结合,提供了一种基于证书代理重加密方法。受益于基于证书密码体制的优良性能,本发明所提出的方法不仅简化了证书的管理过程,而且不存在密钥分发和密钥托管的问题。采用上述方案后,本发明在保证加密安全的情况下,灵活的进行在线重加密,控制了代理中心的重加密能力,使得只有符合条件的密文可以有效地重加密,同时使用基于证书机制,拥有传统公钥加密和基于身份加密的优势,性能优良,便于开放网络环境中应用。因此本发明是一种新的安全高效的加密方法。
附图说明
图1是本发明所述的基于证书条件代理重加密系统的示意图。
图2是本发明所述的基于证书条件代理重加密方法的流程图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明所述基于证书条件代理重加密方法可基于双线性对来实现,下面简要介绍双线性对的相关概念和所需满足的性质:
令G1、G2是阶为p的乘法循环群,其中p为素数,g是G1的生成元。假设G1和G2这两个群上的离散对数问题都是困难问题。定义群上的双线性映射为:e:G1×G1→G2,且满足下面的性质:
1.双线性:e(ga,gb)=e(g,g)ab,对所有的a,b∈Zp *和g∈G1均成立。
2.非退化性:其中1是G2的单位元。
3.可计算性:存在有效算法来计算e。
可以注意到:e是可交换的,因为e(ga,gb)=e(g,g)ab=e(gb,ga)。
本发明所述方法设计的实体如下:
1.证书中心:负责系统参数生成,即生成系统主密钥和系统公开参数集,以及对系统用户进行验证并签发证书的可信第三方。
2.委托方:加密消息的原始接收者,是委托受理方行使解密权的实体。
3.受理方:接收委托方的授权,代表委托方行使解密权的实体。
4.代理重加密中心:接收委托方的代理重加密委托,行使将委托方的原始密文转化为重加密密文的半可信第三方。
5.发送者:消息的原始发送实体。
参照附图1,本发明所述系统包括:系统参数设置模块A、用户密钥生成模块B、证书生成模块C、加密模块D、代理重加密密钥生成模块E、代理重加密模块F、解密模块G。
其中系统参数设置模块A,用于生成系统主密钥msk和系统公开参数params,并将系统主密钥msk发送给证书生成模块C,同时将系统公开参数params分别发送给用户密钥生成模块B、证书生成模块C、加密模块D、代理重加密密钥生成模块E、代理重加密模块F、解密模块G。
用户密钥生成模块B,用于通过系统参数设置模块发送的系统公开参数params,生成各个用户的公钥pki和私钥对uski,并将用户的公钥pki分别发送给证书生成模块C、加密模块D和代理重加密密钥生成模块E,同时将用户的私钥uski分别发送给代理重加密密钥生成模块E、解密模块G。
证书生成模块C,用于通过系统参数设置模块发送的系统主密钥和系统公开参数params,对用户的身份idi,公钥pki和证书有效期限τ进行签名,产生用户证书Certτ,i,并将用户证书Certτ,i分别发送给代理重加密密钥生成模块E和解密模块G。
加密模块D,用于通过系统参数设置模块发送的系统公开参数params,用户密钥产生模块B发送的用户公钥pki和身份信息idi以及要发送的明文消息m所拥有的条件c,对该消息m进行加密,生成该消息的原始密文Ci,并将原始密文Ci分别发送给代理重加密模块F和解密模块G。
代理重加密密钥生成模块E,用于通过系统参数设置模块发送的系统公开参数params,委托方的身份信息idi和受理方的身份信息idj,用户密钥生成模块B发送的委托方的公钥pki、私钥uski和受理方的公钥pkj,证书生成模块发送的委托方的证书Certτ,i以及消息所拥有的条件c,生成代理重加密密钥rki,c,j,并将代理重加密密钥rki,c,j发送给代理重加密模块F。
代理重加密模块F,用于通过系统参数设置模块发送的系统公开参数params,加密模块D发送的原始密文Ci以及代理重加密密钥生成模块E发送的代理重加密密钥rki,c,j,生成代理重加密密文Cj,并将该密文Cj发送给解密模块G。
解密模块G,用于根据密文属于原始密文或重加密密文分别进行不同处理来恢复明文:
若密文是加密模块D生成的原始密文Ci,通过系统参数设置模块A发送的系统公开参数params,用户密钥生成模块B生成的接收者的私钥uski,证书生成模块C生成的接收者的证书Certτ,i以及加密消息所拥有的条件c,恢复明文消息m;
若密文是代理重加密模块生成的重加密密文Cj,通过系统参数设置模块A发送的系统公开参数params,用户密钥生成模块B生成的接收者的私钥uskj以及证书生成模块C生成的接收者的证书Certτ,j,恢复明文消息m。
参照附图2,下面介绍本发明的具体步骤:
该系统参数设置模块A执行以下步骤:
A1.选取阶为p的乘法循环群G1,G2以及双线性映射e:G1×G1→G2,其中p为1024位的整数;
A2.随机选取G1的一个生成元g,选取六个抗碰撞的杂凑哈希函数H1:{0,1}*→G1,H2:{0,1}n×G2→Zp *,H3:G1×Zp *→G1,H4:G2→{0,1}n,H5:{0,1}*→G1,H6:{0,1}*→G1;其中H1是{0,1}*到G1的密码学哈希函数,H2是笛卡尔积{0,1}n×G2到Zp *的密码学哈希函数,H3是笛卡尔积G1×Zp *到G1的密码学哈希函数,H4是G2到{0,1}n的密码学哈希函数,H5是{0,1}*到G1的密码学哈希函数,H6是{0,1}*到G1的密码学哈希函数,其中,{0,1}*表示标识长度不确定的二进制比特串集合,n表示明文的比特长度,{0,1}n表示长度为n的二进制比特串集合,{0,1}n×G2表示{0,1}n和群G2的笛卡尔积,G1×Zp *表示群G1和Zp *的笛卡尔积,其中表示集合{1,2,…,p-1}。
A3.随机选取α∈Zp *,计算g1=gα,其中表示集合{1,2,…,p-1};
综合上述信息系统公开参数params为{G1,G2,g,g1,e,H1,H2,H3,H4,H5,H6},系统主密钥msk为α。
用户密钥生成模块B执行以下步骤:
B1.随机选取xi∈Zp *作为用户的私钥uski,其中表示集合{1,2,…,p-1};
B2.计算作为用户的公钥。
证书生成模块C执行以下步骤:
C1.定义证书有效期限τ;
C2.计算si=H1(τ,idi,pki),得到用户证书Certτ,i=si α
加密模块D执行以下步骤:
D1.将消息的特殊标识类型c∈Zp *作为加密条件(如“周一”发送的消息),其中表示集合{1,2,…,p-1};
D2.计算si=H1(τ,idi,pki),hi=H3(pki,c);
D3.随机选取δ∈G2,计算r=H2(m,δ);
D4.计算C1=gr,C2=δ·(e(pki,hi)·e(si,g1))r,C3=m⊕H4(δ),C4=e(si c,pki·g1)r,C5=H5(C1,C2,C3,C4)r,获得原始加密密文Ci=(C1,C2,C3,C4,C5)。
代理重加密密钥生成模块E执行以下步骤:
E1.随机选取y∈Zp *,计算其中表示集合{1,2,…,p-1};
E2.计算hi=H3(pki,c),
E3.随机选取R∈G2,计算sj=H1(τ,idj,pkj)和si=H1(τ,idi,pki);
E4.计算k=e(Certτ,i,sj)和rk3=Certτ,i·H6(k,idj,pkj,R);
E5.计算
获得代理重加密密钥rki,c,j=(rk1,rk2,rk3,rk4,rk5)。
代理重加密模块F执行以下步骤:
F1.验证等式e(C1,H5(C1,C2,C3,C4))=e(g,C5)是否成立,若等式成立,继续重加密;若等式不成立,拒绝重加密;
F2.验证等式e(rk5,C1)=C4是否成立,若等式成立,继续重加密;若等式不成立,拒绝重加密;
F3.计算ω1=e(C1,rk2)和ω2=1/e(C1,rk3);
F4.计算C′2=C2·ω1·ω2
F5.设置C′1=C1,C′3=C3,C′4=rk1,C′5=rk4;获得重加密密文Cj=(C′1,C′2,C′3,C′4,C′5)。
解密模块G判断密文形式是原始密文还是重加密密文,若是原始密文,进行步骤G1至G4:G1.验证等式e(C1,H5(C1,C2,C3,C4))=e(g,C5)是否成立,若等式成立,继续进行解密;若等式不成立,拒绝解密;
G2.计算hi=H3(pki,c)和
G3.计算m=C3⊕H4(δ);
G4.计算r=H2(m,δ),验证等式gr=C1,若等式成立,恢复明文消息m;若等式不成立,拒绝恢复明文消息。
若为代理重加密密文,进行步骤G5-G8:
G5.计算si=H1(τ,idi,pki)和R=C′5/e(C′4,Certτ,j);
G6.计算k=e(si,Certτ,j),
G7.计算m=C′3⊕H4(δ);
G8.计算r=H2(m,δ),验证等式gr=C1,若等式成立,恢复明文消息m;若等式不成立,拒绝恢复明文消息。
以上只是对本发明的优选实施方式进行了描述。对该技术领域的普通技术人员来说,根据以上实施方式可以很容易地联想到其它的优点和变形。因此,本发明并不局限于上述实施方式,其仅仅作为例子对本发明的一种形态进行详细、示范性的说明。在不背离本发明宗旨的范围内,本领域普通技术人员在本发明技术的方案范围内进行的通常变化和替换,都应包含在本发明的保护范围之内。

Claims (10)

1.一种基于证书条件代理重加密方法,其特征在于,包括如下步骤:
A、设定系统公开参数params和系统主密钥msk;
B、根据所述系统公开参数params生成用户的公钥pki和私钥uski
C、根据所述系统主密钥msk和系统公开参数params,对用户的身份idi、用户的公钥pki和用户证书的有效期τ进行签名,生成用户的证书Certτ,i
D、根据所述系统公开参数params、证书的有效期τ、加密条件c、用户的身份idi和用户的公钥pki,对消息m进行加密得到原始密文Ci
E、根据所述系统公开参数params、用户的身份idi、用户公钥pki、私钥uski、用户的证书Certτ,i、受理方的身份idj、受理方公钥pkj和加密条件c,生成代理重加密密钥rki,c,j
F、根据所述系统公开参数params、原始密文Ci和代理重加密密钥rki,c,j,生成代理重加密密文Cj
G、判断所接收到的密文是原始密文或者是代理重加密密文,分别进行以下处理:
若为原始密文,则根据所述系统公开参数params、用户私钥uski、用户证书Certτ,i和加密条件c,恢复出相应的明文消息m;
若为代理重加密密文,则根据所述系统公开参数params、用户私钥uski和用户证书Certτ,i,恢复出相应的明文消息m。
2.如权利要求1所述的基于证书条件代理重加密方法,其特征在于,所述步骤A包括:
A1、选取阶为p的乘法循环群G1、G2以及双线性映射e:G1×G1→G2
A2、随机选取G1的一个生成元g,选取六个抗碰撞的杂凑哈希函数H1:{0,1}*→G1,H2:{0,1}n×G2→Zp *,H3:G1×Zp *→G1,H4:G2→{0,1}n,H5:{0,1}*→G1,H6:{0,1}*→G1
A3、随机选取α∈Zp *,其中表示集合{1,2,...,p-1},计算g1=gα
系统公开参数params为{G1,G2,g,g1,e,H1,H2,H3,H4,H5,H6},系统主密钥msk为α;
其中,杂凑哈希函数H1是{0,1}*到G1的密码学哈希函数,H2是笛卡尔积{0,1}n×G2到Zp *的密码学哈希函数,H3是笛卡尔积G1×Zp *到G1的密码学哈希函数,H4是G2到{0,1}n的密码学哈希函数,H5是{0,1}*到G1的密码学哈希函数,H6是{0,1}*到G1的密码学哈希函数,{0,1}*表示标识长度不确定的二进制比特串集合,n表示明文的比特长度,{0,1}n表示长度为n的二进制比特串集合,{0,1}n×G2表示{0,1}n和群G2的笛卡尔积,G1×Zp *表示群G1和Zp *的笛卡尔积。
3.如权利要求2所述的基于证书条件代理重加密方法,其特征在于,所述步骤B包括:
B1、随机选取xi∈Zp *,将xi作为用户的私钥uski
B2、计算将pki作为用户的公钥。
4.如权利要求3所述的基于证书条件代理重加密方法,其特征在于,所述步骤C包括:
C1、定义证书有效期τ;
C2、计算si=H1(τ,idi,pki),得到用户证书Certτ,i=si α
5.如权利要求4所述的基于证书条件代理重加密方法,其特征在于,所述步骤D包括:
D1、将消息的特殊标识类型c∈Zp *作为加密条件;
D2、计算si=H1(τ,idi,pki),hi=H3(pki,c);
D3、随机选取δ∈G2,计算r=H2(m,δ);
D4、计算:
C 1 = g r , C 2 = δ · ( e ( pk i , h i ) · e ( s i , g 1 ) ) r , C 3 = m ⊕ H 4 ( δ ) , C 4 = e ( s i c , pk i · g 1 ) r , C 5 = H 5 ( C 1 , C 2 , C 3 , C 4 ) r ,
获得原始加密密文Ci=(C1,C2,C3,C4,C5)。
6.如权利要求5所述的基于证书条件代理重加密方法,其特征在于,所述步骤E包括:
E1、随机选取y∈Zp *,计算
E2、计算hi=H3(pki,c),
E3、随机选取R∈G2,计算sj=H1(τ,idj,pkj)和si=H1(τ,idi,pki);
E4、计算k=e(Certτ,i,sj)和rk3=Certτ,i·H6(k,idj,pkj,R);
E5、计算获得代理重加密密钥rki,c,j=(rk1,rk2,rk3,rk4,rk5)。
7.如权利要求6所述的基于证书条件代理重加密方法,其特征在于,所述步骤F包括:
F1、验证等式e(C1,H5(C1,C2,C3,C4))=e(g,C5)是否成立,若等式成立,继续重加密;若等式不成立,拒绝重加密;
F2、验证等式e(rk5,C1)=C4是否成立,若等式成立,继续重加密;若等式不成立,拒绝重加密;
F3、计算ω1=e(C1,rk2)和ω2=1/e(C1,rk3);
F4、计算C2′=C2·ω1·ω2
F5、设置C1′=C1,C3′=C3,C4′=rk1,C5′=rk4;获得重加密密文Cj=(C1′,C2′,C3′,C4′,C5′)。
8.如权利要求7所述的基于证书条件代理重加密方法,其特征在于,在步骤G中,若接收到的密文是原始密文时,具体包括以下处理步骤:
G1、验证等式e(C1,H5(C1,C2,C3,C4))=e(g,C5)是否成立,若等式成立,继续进行解密;若等式不成立,拒绝解密;
G2、计算hi=H3(pki,c)和
G3、计算
G4、计算r=H2(m,δ),验证等式gr=C1,若等式成立,恢复明文消息m;若等式不成立,拒绝恢复明文消息。
9.如权利要求7所述的基于证书条件代理重加密方法,其特征在于,在步骤G中,若接收到的密文是代理重加密密文时,具体包括以下处理步骤:
G5、计算si=H1(τ,idi,pki)和R=C5′/e(C4′,Certτ,i);
G6、计算k=e(si,Certτ,i),
G7、计算
G8、计算r=H2(m,δ),验证等式gr=C1,若等式成立,恢复明文消息m;若等式不成立,拒绝恢复明文消息。
10.一种基于证书的条件代理重加密系统,其特征在于,包括:
系统参数设置模块,用于生成系统主密钥和系统公开参数;
用户密钥生成模块,用于根据系统公开参数生成用户的公钥和私钥对;
证书生成模块,用于根据系统主密钥和系统公开参数,对用户的身份信息、用户的公钥和用户证书有效期进行签名,产生用户证书;
加密模块,用于根据系统公开参数、用户的公钥、用户的身份信息、用户证书的有效期以及要发送的明文消息所拥有的条件,对该明文消息进行加密,生成该明文消息的原始密文;
代理重加密密钥生成模块,用于根据系统公开参数、用户的身份信息和受理方的身份信息、用户的公钥、用户的私钥和受理方的公钥,以及用户证书和明文消息所拥有的条件,生成代理重加密密钥;
代理重加密模块,用于根据系统公开参数、原始密文以及代理重加密密钥,生成代理重加密密文;
解密模块,用于根据密文是原始密文或重加密密文分别进行不同处理来恢复明文信息:若为原始密文,则通过系统公开参数、用户的私钥、用户证书以及加密消息所拥有的条件,恢复明文消息;若为代理重加密密文,则通过系统公开参数、用户的私钥以及用户证书,恢复明文消息。
CN201410614744.2A 2014-11-04 2014-11-04 一种基于证书条件代理重加密方法和系统 Expired - Fee Related CN104363218B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410614744.2A CN104363218B (zh) 2014-11-04 2014-11-04 一种基于证书条件代理重加密方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410614744.2A CN104363218B (zh) 2014-11-04 2014-11-04 一种基于证书条件代理重加密方法和系统

Publications (2)

Publication Number Publication Date
CN104363218A CN104363218A (zh) 2015-02-18
CN104363218B true CN104363218B (zh) 2017-06-16

Family

ID=52530444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410614744.2A Expired - Fee Related CN104363218B (zh) 2014-11-04 2014-11-04 一种基于证书条件代理重加密方法和系统

Country Status (1)

Country Link
CN (1) CN104363218B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015017B2 (en) * 2015-04-09 2018-07-03 Qualcomm Incorporated Proof of work based user identification system
CN105743646B (zh) * 2016-02-03 2019-05-10 四川长虹电器股份有限公司 一种基于身份的加密方法及系统
CN105933287A (zh) * 2016-04-05 2016-09-07 江苏电力信息技术有限公司 一种移动安全数据的防护方法
CN106713349B (zh) * 2017-01-18 2020-10-16 郑州埃文计算机科技有限公司 一种能抵抗选择密文攻击的群组间代理重加密方法
CN107086911B (zh) * 2017-03-31 2020-04-07 西安电子科技大学 一种cca安全的可委托验证的代理重加密方法
CN110032831A (zh) * 2018-01-11 2019-07-19 上海有云信息技术有限公司 软件证书的生成方法、装置及系统
CN109617700A (zh) * 2019-01-21 2019-04-12 电子科技大学 基于无证书的单向多跳代理重签名方法
CN110958219B (zh) * 2019-10-21 2021-01-26 武汉大学 一种面向医疗云共享数据的sm2代理重加密方法与装置
CN111415718B (zh) * 2020-02-29 2024-02-09 沈培君 一种基于区块链和条件代理重加密的电子处方共享方法
CN112152779B (zh) * 2020-09-29 2022-05-06 黑龙江大学 一种抗强合谋攻击的格基同态代理重加密方法
CN112671725B (zh) * 2020-12-10 2023-03-24 深圳大学 单向代理重加密方法、装置、电子设备及系统
CN112865955B (zh) * 2021-01-20 2023-01-03 深圳技术大学 多接收者代理重加密方法、系统、电子装置及存储介质
CN114531293B (zh) * 2022-02-25 2024-05-24 东南大学 一种跨信任域的基于身份代理重加密方法
CN116614301A (zh) * 2023-06-19 2023-08-18 广州芳禾数据有限公司 基于格自主路径代理生成及重加密与解密的方法、系统
CN116722977B (zh) * 2023-06-27 2024-03-19 暨南大学 基于国密sm9的条件代理重加密方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095462A (zh) * 2013-01-24 2013-05-08 中国科学院软件研究所 基于代理重加密和安全芯片的数据广播分发保护方法
CN103647642A (zh) * 2013-11-15 2014-03-19 河海大学 一种基于证书代理重加密方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060248575A1 (en) * 2005-05-02 2006-11-02 Zachary Levow Divided encryption connections to provide network traffic security

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095462A (zh) * 2013-01-24 2013-05-08 中国科学院软件研究所 基于代理重加密和安全芯片的数据广播分发保护方法
CN103647642A (zh) * 2013-11-15 2014-03-19 河海大学 一种基于证书代理重加密方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一个新的基于秘密共享的条件代理重加密方案;蓝才会;《计算机学报》;20130415;第36卷(第4期);第895-902页 *
标准模型下高效安全的基于证书密钥封装机制;陆阳等;《计算机研究与发展》;20140715(第7期);第1497-1505页 *

Also Published As

Publication number Publication date
CN104363218A (zh) 2015-02-18

Similar Documents

Publication Publication Date Title
CN104363218B (zh) 一种基于证书条件代理重加密方法和系统
CN103647642B (zh) 一种基于证书代理重加密方法及系统
CN105025024B (zh) 一种基于无证书条件代理重加密系统与方法
CN104038341B (zh) 一种基于身份的跨系统代理重加密方法
CN101958796B (zh) 一种支持匿名认证的密钥装置及其生成方法和解锁方法
CN104821880B (zh) 一种无证书广义代理签密方法
TW202127831A (zh) 決定用於資訊的安全交換的共同私密,及階層化的決定性加密金鑰
JPH1041932A (ja) 暗号キー回復方法及び装置
CN104168114A (zh) 一种分布式的基于(k,n)门限证书加密方法及系统
CN103444128B (zh) 密钥pv签名
CN113141247B (zh) 一种同态加密方法、装置、系统及可读存储介质
WO2014078951A1 (en) End-to-end encryption method for digital data sharing through a third party
CN103746811A (zh) 从身份公钥系统到证书公钥系统的匿名签密方法
CN102970144A (zh) 基于身份的认证方法
CN106790259A (zh) 一种非对称跨密码系统重加密、解密方法及系统
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
KR20030062401A (ko) 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법
CN103493428B (zh) 数据加密
CN108712259A (zh) 基于身份的可代理上传数据的云存储高效审计方法
Zhang et al. A lattice‐based identity‐based proxy blind signature scheme in the standard model
CN107172043A (zh) 一种基于同态加密的智能电网用户售电方法
CN110519226A (zh) 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统
CN107634830A (zh) 服务器辅助的可撤销属性基加密方法、装置及系统
CN111082930A (zh) 一种基于量子加密的用户加密方法
CN109743162A (zh) 一种利用理想格操作进行身份属性匹配的加密方法

Legal Events

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

Granted publication date: 20170616

Termination date: 20191104