CN104363215B - 一种基于属性的加密方法和系统 - Google Patents

一种基于属性的加密方法和系统 Download PDF

Info

Publication number
CN104363215B
CN104363215B CN201410612226.7A CN201410612226A CN104363215B CN 104363215 B CN104363215 B CN 104363215B CN 201410612226 A CN201410612226 A CN 201410612226A CN 104363215 B CN104363215 B CN 104363215B
Authority
CN
China
Prior art keywords
mrow
msub
msup
private key
user
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
CN201410612226.7A
Other languages
English (en)
Other versions
CN104363215A (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 CN201410612226.7A priority Critical patent/CN104363215B/zh
Publication of CN104363215A publication Critical patent/CN104363215A/zh
Application granted granted Critical
Publication of CN104363215B publication Critical patent/CN104363215B/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
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)

Abstract

本发明公开了一种基于属性的加密系统。本发明的系统包括:系统参数设置模块,生成系统公开参数;密钥生成模块,用于根据用户的属性集合生成用户的用于解密消息的私钥;加密模块,用于加密消息;解密模块,用于解密消息;密文检索模块,用于检索密文;重加密密钥生成模块,用于生成重加密密钥并更新密文和私钥;重加密模块,用于在原来密文基础上重新加密消息;重新生成私钥模块,用于更新用户的私钥。本发明还公开一种基于属性的加密方法。采用本发明可以解决云计算中隐私保护问题,且支持属性撤销和对密文的安全检索,系统灵活性高。

Description

一种基于属性的加密方法和系统
技术领域
本发明涉及一种基于属性的加密技术,具体地说是一种可搜索密文、支持属性撤销的、保护用户隐私的基于属性的加密方法,可用于云计算环境下细粒度的访问控制,属于信息安全领域。
背景技术
今天,在计算机被广泛应用的信息时代,由于网络技术的蓬勃发展,加之云计算的概念相继被提出,大量信息以数字形式存储在公共云端及计算机系统中已成为一种趋势。信息的传输通过公共信道,而这些系统和公共信道在不设防备的情况下是很脆弱的,比较容易受到攻击和破坏,若信息的失窃不容易被发现,后果相当严重。在云计算技术日益发展的今天,人们对云计算数据存储安全性的担忧和安全措施的需求会愈加强烈,所以将数据以加密的形式存储到公共云端是一种必然,没有解密权限的游客只能从公共云端截取密文,而不能得到对应的明文。怎么样保证只有合理权限的用户能够解密密文而不是给出数据拥有者自己的私钥或者数据拥有者一一共享数据给那些拥有权限的解密者呢?
2005年基于属性加密的概念被引入,因其特殊的应用意义以及使用场景的广泛性正在受到各界越来越多的瞩目,该加密系统利用访问控制结构来控制系统中用户的解密能力,并成为了最有效的途径之一。基于属性的加密体制(ABE)可以很好地解决上述大数据在云计算中的问题。在这种加密体制中加密者无须知道解密者的详细身份信息,而是掌握了解密者的一系列的描述属性,这种描述属性比详细身份信息与用户的联系更加紧密。在基于属性的密码体制中,在加密过程中是用属性定义访问规则,当用户的密钥与密文在这个访问规则下相“匹配”时,解密用户就可以解密密文。为了更好的表示系统的灵活性,基于属性的加密方法被分为两类,即密钥策略的基于属性的加密(KP-ABE)和密文策略的基于属性的加密(CP-ABE)。在KP-ABE中,密文被一系列描述性属性集标记,而用户的密钥与授权中心指定的访问策略相关联。在CP-ABE中,用户的密钥被一系列描述性属性集标记,而密文与加密者指定的访问策略相关联。
CP-ABE机制比较接近于现实中的应用场景。假设每个用户根据自身条件或者属性从授权中心处得到密钥,然后加密者制定对消息的访问控制,更适合访问控制类应用,如社交网站的访问、电子医疗系统等。基本的CP-ABE方案包括系统参数设置(Setup)、密钥生成(Key Generation)、加密(Encryption)和解密(Decryption)四个模块。
1.系统参数设置模块(Setup)
输入安全参数σ,返回系统公开参数params和主密钥MK。
2.密钥生成模块(KeyGen)
授权中心运行密钥生成算法为系统内用户生成私钥。授权中心输入主密钥MK,用户的描述性属性集,计算出用户属性集合相关的私钥SKL。这里L表示与用户相对应的属性集。
3.加密模块(Encryption)
输入系统公开参数params,消息M,以及访问策略W,加密者加密得到一个密文CT。只有当与私钥相关联的用户属性集L满足访问策略W的时候,用户才能解密密文CT。
4.解密模块(Decryption)
接收者输入他的解密密钥SKL以及密文CT,解密得到消息M。只有当与私钥相关联的用户属性集L满足访问策略W的时候,用户才能解密密文CT。
从上述流程可以看出,虽然密文策略的基于属性的加密体制可以在云端提供安全的访问控制,但是访问策略是和密文一起发送给接收者的,接收者无论能不能解密都将从访问策略中获得相关有效信息,任意中间用户都能通过访问策略得到潜在接收者的列表的信息,从而泄露了用户的隐私,这对一些从事商业活动或者希望对访问策略进行保护的加密者不是件有利的事情。所以构造一个隐藏访问结构的基于属性的方案是更具现实意义的。
从上述的CP-ABE方案的流程还可以看出,授权中心负责分发私钥和管理属性。在现实生活中,常会存在系统中新老用户的更替,用户等级的经常性变更,这就要求系统能灵活的变更授予用户的权限(即属性)来保证系统的安全性和灵活性。所以构造一个支持属性撤销的CP-ABE方案可以大大提高系统的灵活性。
在云环境中,数据是以加密的形式存放在公共云端,用户需要快速的从冗杂的密文空间中找到自己需要的密文并进行解密,所以构造一个可搜索密文的CP-ABE方案可以大大降低用户在云端搜寻的代价为用户带来方便。
发明内容
本发明所要解决的技术问题是针对前述背景技术中基于属性加密的缺陷,对现有的基于属性的加密方案进行研究改进,提供一种可搜索密文、部分隐藏访问结构、支持属性撤销的基于属性的加密方法,提高系统的灵活性,保证用户的隐私,降低用户搜索的负荷。
本发明为解决上述技术问题采用以下技术方案:
本发明提出一种基于属性的加密方法,包含如下步骤:
A.根据输入的安全参数,生成用于加密和解密的系统公开参数params以及授权中心的主密钥MK;
B.根据所述系统公开参数params以及用户的属性集合L,采用密钥生成算法计算出与用户属性集合相关联的用户私钥SKL
C.根据所述系统公开参数params和选定的访问策略W,对消息M进行加密得到密文CT,使得当用户提供的与私钥相关联的属性集合满足该访问策略时,才能解密该密文;
D.根据用户提交的关键字KW对密文进行检索,检查用户私钥SKL与密文的版本号,如果一致则进入步骤H,如果不一致则进入步骤E;
E.根据所述系统公开参数params和主密钥MK,生成重加密密钥ck;
F.根据重加密密钥ck对原始密文CT进行重加密,得到重加密密文CT′;
G.根据重加密密钥ck和用户的私钥SKL,对用户的私钥进行更新,得到更新后的用户私钥SKL′;
H.根据用户提供的私钥以及系统公开参数,对密文进行解密得到原始消息。
作为本发明一种基于属性的加密方法进一步的优化方案,所述步骤A具体包括:
A1.选取阶为p的乘法循环群G和GT以及双线性映射e:G×G→GT,从G中选择生成元g,h;其中,p为大素数;
A2.定义两个哈希函数H2:GT→{0,1}l,其中,H1是GT的密码学哈希函数,H2是GT到{0,1}l的密码学哈希函数,{0,1}l表示长度为l比特的二进制串的集合,表示集合{1,2,…,p-2,p-1};
A3.随机选择选择随机点为{Ai,j∈G},i∈[1,n],j∈[1,ni],n表示属性的个数,ni表示属性值的个数;对于两个不同的用户属性集L和L′,应满足表示属性i的第j个值;
A4.设置初始版本号vn=1,并计算Y=e(g,h)ω
得到系统公开参数系统主密钥为MK=(ω,{ai,j,bi,j})。
作为本发明一种基于属性的加密方法进一步的优化方案,所述步骤B具体包括:
B1.输入用户的属性集L;
B2.随机选取并设置计算D1=hω-s 其中vi,j∈Li,Li表示用户的第i个属性,并设置版本号vn=1;
B3.得到用户的私钥为
作为本发明一种基于属性的加密方法进一步的优化方案,所述步骤C具体包括:
C1.随机选择3个大素数P,Q,R,并计算N=P×Q,H=P×R,然后将明文消息M进行分组,即M=m1m2...mk,计算CM=c1c2...ck,其中ci=(mi+P×R)modN,k为组数;
C2.随机选取R′∈GT,并计算r=H1(R′,P),r1=H2(R′);
C3.选定一个访问策略W=[W1,W2,...,Wn],计算C0=R′·Yr,C1=gr
C4.设置有关属性密文部分:如果vi,j∈Wi,随机选择计算密文如果为任意值;
C5.加密者设置版本号vn=1,加密得到的密文为CT=(vn,{C0,C1,C2,{Ci,j,1,Ci,j,2}},CM)。
作为本发明一种基于属性的加密方法进一步的优化方案,所述步骤D中根据用户提交的关键字KW对密文进行检索,具体包括:
D1.选择关键字KW用于搜索,随机选择Rl,Rt加密关键字,并计算CW=(KW+P×Rl)modN,其中P为解密后获得的密钥;
D2.提交加密后的关键字在云端进行搜索,其操作如下,
res=((CW-ci)×Q×Rt)modN=((KW-mi)×Q×Rt)modN,若结果为0,则搜索成功,解密者根据搜索的结果进行筛选。
作为本发明一种基于属性的加密方法进一步的优化方案,所述步骤E具体包括:
E1.判断是否收到属性撤销的信息,如果用户拥有的属性被撤销,则随机选择ai,bi∈Zp *,并计算cki,1=ai/ai,j,cki,2=bi/bi,j,否则,计算cki,1=1,cki,2=1;
E2.设定重加密密钥为
作为本发明一种基于属性的加密方法进一步的优化方案,所述步骤F具体包括:
F1.检查重加密密钥ck,如果ck≠1,则执行步骤F2,如果ck=1,继续检查重加密密钥和密文中的版本号是否一致,如果一致,直接输出密文CT,如果不一致,则执行步骤F2;
F2.如果vi,j∈W,计算属性部分重加密后的密文并更新密文的版本号;
F3.得到重加密密文为CT′=CT=(vn+1,{C0,C1,C2,{Ci,j,1′,Ci,j,2′}},CM)。
作为本发明一种基于属性的加密方法进一步的优化方案,所述步骤G具体包括:
G1.检查重加密密钥ck,如果ck≠1,则执行步骤G2;如果ck=1,继续检查重加密密钥中版本号和用户私钥中的版本号是否一致,如果一致,直接输出私钥SKL,如果不一致,则执行步骤G2;
G2.如果vi,j∈L,设置更新版本号,并计算D1′=hω-sn
G3.得到用户更新后私钥为
作为本发明一种基于属性的加密方法进一步的优化方案,所述步骤H具体包括:
H1.如果未拥有与访问策略下标匹配的属性,则解密失败,否则通过下面的步骤恢复出明文,计算:
S=e(C1,D1)=e(gr,hω-s)=e(g,h)(ω-s)r
H2.解密者用加密者选择的密钥P计算mi=cimodP,最后恢复出消息明文M=m1m2...ml
本发明为解决上述技术问题,还提出一种基于属性的加密系统,包括:
系统参数设置模块,用于根据输入的安全参数,生成用于加密和解密的系统公开参数和授权中心的主密钥;
密钥生成模块,用于根据系统公开参数以及用户的属性集合,采用密钥生成算法计算出与用户属性集合相关联的用户私钥;
加密模块,用于根据系统公开参数、访问策略,对原始消息进行加密得到一个密文,使得当用户提供的与私钥相关联的属性集合满足该访问策略时,才能解密密文;
密文检索模块,用于根据用户提交的关键字对密文进行检索,检查用户私钥与密文的版本号,如果不一致则触发重加密密钥生成模块;
重加密密钥生成模块,用于根据所述系统公开参数和主密钥,生成重加密密钥;
重加密模块,用于根据重加密密钥对原始密文进行重加密,得到重加密密文;
重新生成私钥模块,用于根据重加密密钥和用户的私钥,对用户的私钥进行更新,得到更新后的用户私钥;
解密模块,用于根据用户提供的私钥以及系统公开参数,对密文进行解密得到原始消息。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明所提供的一种基于属性的加密方法与普通的基于属性的加密方法相比,支持了属性撤销,提高了系统的灵活性。此外,该加密方案达到了部分隐藏访问结构来保护用户的隐私,防止恶意的用户通过访问策略来获得解密用户所需的属性值,从而获得用户的隐私信息。该加密方案还支持密文搜索,从而降低了用户端搜寻的负荷。因此本发明所提供的一种基于属性的加密方法是一种安全有效灵活的基于属性的加密方法。
附图说明
图1是本发明加密系统的工作示意图。
图2是本发明加密方法的流程图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
一、本发明所用的数学知识说明:
1、双线性对(Bilinear Pairing)
这里简要介绍双线性映射的基本定义和它需满足的性质。
令G,GT是两个p阶的乘法循环群,其中p为素数,g是G的生成元。定义两个群上的双线性映射为:e:G×G→GT,且满足下面的性质:
(1)双线性性:e(ga,gb)=e(g,g)ab,对所有g∈G,a,b∈Zp都成立。
(2)非退化性:e(g,g)≠1。
(3)可计算性:存在有效算法来计算e(g,g),对所有g∈G都成立。
2、访问结构(Access Structure)
设{P1,P2,...,Pn}是n个参与者的集合。设表示由参与者集合的子集构成的集合,B,C表示参与者集合的子集,对于所有的B,C:如果B∈A并且那么C∈A,则说A是一个单调的访问结构。属于A的参与者的子集称为授权集,不属于A的参与者的子集称为非授权集。
3、判定双线性DH(Decisional Bilinear Diffie-Hellman)困难问题假定
给定p阶循环群G,其中p为素数,g是G的生成元。则群G上的DBDH问题是:已知t1,t2,t3,z是从Zp随机选取的,以不可忽略的概率区分这两个元组。这里Zp表示集合{1,2,…,p-1,p}。
二、下面将结合附图说明本发明的具体过程。
如图1所示,本发明提供的一种ABE系统,包括如下八个模块:
1.系统参数设置模块(Setup):输入安全参数σ,生成系统公开参数params和主密钥MK。
2.密钥生成模块(Key Generation):根据输入系统公开参数params,一个描述性属性集L,采用密钥生成算法计算出用户与属性集L相关联的私钥SKL(在授权中心进行)。
3.加密模块(Encryption):根据输入系统公开参数params,消息M,访问策略W,加密者对消息M加密得到一个密文CT。只有当与私钥相关联的用户属性集L满足访问策略W的时候,用户才能解密密文CT。
4.解密模块(Decryption):接收者输入解密密钥SKL以及密文CT,解密得到消息M。
5.密文检索模块(Cipher-Retrieval):接收者根据提交的关键字KW对密文进行检索。
6.重加密密钥生成模块(Re-Key Generation):根据所述系统公开参数params和主密钥MK,生成重加密密钥ck(在授权中心进行)。
7.重加密模块(Re-Encryption):根据重加密密钥ck对原始密文CT进行重加密,得到重加密密文CT′(在授权中心进行)。
8.重新生成私钥模块(Re-Key):根据重加密密钥ck和用户的私钥SKL,对用户的私钥进行更新,得到更新后的私钥SKL′(在授权中心进行)。
下面将结合本方法的流程图对该加密系统的各个模块进行具体的说明。
如图2所示,本发明提供的一种基于属性的加密方法执行流程具体如下:
该系统的系统参数设置模块A具体包括如下操作,其特征在于所述步骤A包括:
A1.选取大素数p,p阶乘法循环群G和GT,双线性映射e:G×G→GT。从G中选择生成元g,h。
A2.定义两个哈希函数H2:GT→{0,1}l,H1是GT的密码学哈希函数,H2是GT到{0,1}l的密码学哈希函数,{0,1}l表示长度为l比特的二进制串的集合,这里表示集合{1,2,…,p-2,p-1}。
A3.授权中心选择随机数随机点为{Ai,j∈G}(i∈[1,n],j∈[1,ni]),把作为他的私钥。这里表示集合{1,2,…,p-2,p-1}。
A4.授权中心设置初始版本号vn=1,并计算Y=e(g,h)ω
系统公开参数系统主密钥为MK=(ω,{{ai,j,bi,j}}(i∈[1,n],j∈[1,ni]))
所述步骤A3中,对于两个不同的用户属性集L和L′,应满足
授权中心设置模块B具体包括如下操作:
B1.用户的属性集为L。
B2.授权中心随机选取并设置这里表示集合{1,2,…,p-2,p-1}。授权中心计算D1=hω-s作为用户的私钥。其中vi,j∈Li(i∈[1,n],j∈[1,ni]),并设置版本号vn=1。
授权中心颁发给用户的私钥为
加密模块C具体包括如下操作:
C1.加密者随机选择3个大素数P,Q,R,并计算N=P×Q,H=P×R。加密者将消息明文M进行分组M=m1m2...mk,k为组数,加密者计算CM=c1c2...ck,其中ci=(mi+P×R)modN。
C2.加密者随机选取R′∈GT,并计算r=H1(R′,P),r1=H2(R′)。这里H1是GT的密码学哈希函数,H2是GT到{0,1}l的密码学哈希函数。
C3.加密者选定一个访问策略W=[W1,W2,...,Wn],计算C0=R′·Yr,C1=gr加密者设置有关属性密文部分,如果随机选择计算密文如果{Ci,j,1,Ci,j,2}为任意值。加密者设置版本号vn=1。
加密得到的密文为
解密模块D具体包括如下操作:
D1.解密者检查私钥SKL与密文CT的版本号,如果不一致,在授权中心更新私钥,如果一致,则继续下面的步骤。
D2.解密者如果未拥有与访问策略下标匹配的属性,则解密失败,否则通过下面的步骤可恢复出明文。解密者计算:
S=e(C1,D1)=e(gr,hω-s)=e(g,h)(ω-s)r
解密者用加密者选择的密钥P计算mi=cimodP,最后恢复出消息明文M=m1m2...ml
密文搜索模块E具体包括如下操作:
E1.解密者选择关键字KW用于搜索。解密者随机选择Rl,Rt加密关键字,并计算CW=(KW+P×Rl)modN,其中P为解密后获得的密钥。
E2.解密者提交加密后的关键字在云端进行搜索,其操作如下,res=((CW-ci)×Q×Rt)modN=((KW-mi)×Q×Rt)modN,若结果为0,则搜索成功,解密者可以根据搜索的结果进行筛选。解密者根据搜索的结果进行筛选。
重加密密钥生成模块F具体包含如下操作:
授权中心收到属性撤销的信息,如果用户拥有的属性被撤销,则随机选择ai,bi∈Zp,并计算cki,1=ai/ai,j,cki,2=bi/bi,j,否则,计算cki,1=1,cki,2=1。
重加密密钥为
重加密模块具体包含如下操作:
G1.授权中心检查重加密密钥ck,如果ck≠1,则继续G2步骤。如果ck=1,授权中心继续检查重加密密钥和密文中的版本号,如果一致,直接输出密文CT,如果不一致,则继续G2步骤。
G2.如果vi,j∈W,授权中心计算属性部分重加密后的密文
并更新密文的版本号。
重加密密文为
重新生成私钥模块具体包含如下操作:
H1.授权中心检查重加密密钥ck,如果ck≠1,则继续步骤H2。如果ck=1,授权中心检查重加密密钥中和用户私钥中的版本号,如果一致,直接输出私钥SKL,如果不一致,则继续步骤H2。
H2.如果vi,j∈L,设置更新版本号,并计算
授权中心颁发给用户更新后私钥为
最后用户可用D2中的方法恢复出明文,我们可以通过如下计算步骤得到:
S′=e(C1,D1′)=e(gr,hω-sn)=e(g,h)(ω-sn)r
以上阐述和说明了本发明的基本原理、主要优点以及操作步骤。
下面将对如上所述的ABE系统应用于云计算中的情形进行说明。
依照本发明的步骤,当用户A要将数据存储到公共云端的时候,属性权威机构和授权中心运行算法得到公共参数params,用户A制定一个访问策略W(比如W=[W1,1,W2,0,*,...,Wn,1],*表示属性值为任意值)在公共参数params下对要存储的数据进行加密。当某用户B想访问该用户加密的数据时,他首先根据自身属性向授权中心申请私钥,如果用户B的属性集合满足加密者制定的访问策略时,B可以利用自己的私钥、公共参数params对密文进行解密得到明文。当用户B下次想从繁杂的云端密文空间搜索到自己需要的密文时,可以提交加密后的关键字进行搜索。假设系统中原有用户C、D离职,授权中心需要对C、D拥有的解密权限(即他们的属性)的密文进行重加密来保证系统安全性,并为系统中其他用户更新私钥。由于本方案能够部分隐藏访问策略,因此解密者即使能够解密也不知道访问策略的具体值,从而保护了用户的隐私。此外,本方案支持属性撤销和密文搜索,提高了系统的灵活性。
本领域普通技术人员应该了解,本发明不受上述实例限制,上述实例的描述只是为说明本发明的基本原理与特点,在上述实例的基础上可以很容易的联想到其他的优点和变形。在不背离本发明宗旨的范围内,本领域普通技术人员可以根据上述具体实例通过各种等同替换所得到的技术方案,但是这些技术方案均应该包含在本发明的权利要求的范围及其等同的范围之内。

Claims (9)

1.一种基于属性的加密方法,其特征在于,包含如下步骤:
A.根据输入的安全参数,生成用于加密和解密的系统公开参数params以及授权中心的主密钥MK;
B.根据所述系统公开参数params以及用户的属性集合L,采用密钥生成算法计算出与用户属性集合相关联的用户私钥SKL
C.根据所述系统公开参数params和选定的访问策略W,对消息M进行加密得到密文CT,使得当用户提供的与私钥相关联的属性集合满足该访问策略时,才能解密该密文;
D.根据用户提交的关键字KW对密文进行检索,检查用户私钥SKL与密文的版本号,如果一致则进入步骤H,如果不一致则进入步骤E;
E.根据所述系统公开参数params和主密钥MK,生成重加密密钥ck;
F.根据重加密密钥ck对原始密文CT进行重加密,得到重加密密文CT′;
G.根据重加密密钥ck和用户的私钥SKL,对用户的私钥进行更新,得到更新后的用户私钥SKL′;
H.根据用户提供的私钥以及系统公开参数,对密文进行解密得到原始消息;
其中,所述步骤A具体包括:
A1.选取阶为p的乘法循环群G和GT以及双线性映射e:G×G→GT,从G中选择生成元g,h;其中,p为大素数;
A2.定义两个哈希函数H1:H2:GT→{0,1}l,其中,H1是GT的密码学哈希函数,H2是GT到{0,1}l的密码学哈希函数,{0,1}l表示长度为l比特的二进制串的集合,表示集合{1,2,…,p-2,p-1};
A3.随机选择选择随机点为{Ai,j∈G},i∈[1,n],j∈[1,ni],n表示属性的个数,ni表示属性值的个数;对于两个不同的用户属性集L和L′,应满足vi,j表示属性i的第j个值;
A4.设置初始版本号vn=1,并计算Y=e(g,h)ω
得到系统公开参数系统主密钥为MK=(ω,{ai,j,bi,j})。
2.如权利要求1所述的一种基于属性的加密方法,其特征在于,所述步骤B具体包括:
B1.输入用户的属性集L;
B2.随机选取并设置计算D1=hω-s 其中vi,j∈Li,Li表示用户的第i个属性,并设置版本号vn=1;
B3.得到用户的私钥为
3.如权利要求2所述的一种基于属性的加密方法,其特征在于,所述步骤C具体包括:
C1.随机选择3个大素数P,Q,R,并计算N=P×Q,H=P×R,其中P为长为l比特的大素数,然后将明文消息M进行分组,即M=m1m2...mk,计算CM=c1c2...ck,其中,ci=(mi+P×R)modN,m1为第1组明文消息,m2为第2组明文消息,mk为第k组明文消息,mi为第i组明文消息,i=1,2,...k,k为组数;
C2.随机选取R′∈GT,并计算r=H1(R′,P),r1=H2(R′);
C3.选定一个访问策略W=[W1,W2,...,Wn],计算C0=R′·Yr,C1=gr
C4.设置有关属性密文部分:如果vi,j∈Wi,随机选择计算密文如果{Ci,j,1,Ci,j,2}为任意值;
C5.加密者设置版本号vn=1,加密得到的密文为CT=(vn,{C0,C1,C2,{Ci,j,1,Ci,j,2}},CM)。
4.如权利要求3所述的一种基于属性的加密方法,其特征在于,所述步骤D中根据用户提交的关键字KW对密文进行检索,具体包括:
D1.选择关键字KW用于搜索,随机选择Rl,Rt加密关键字,并计算CW=(KW+P×Rl)modN,其中P为解密后获得的密钥;
D2.提交加密后的关键字在云端进行搜索,其操作如下,
res=((CW-ci)×Q×Rt)modN=((KW-mi)×Q×Rt)modN,若结果为0,则搜索成功,解密者根据搜索的结果进行筛选。
5.如权利要求4所述的一种基于属性的加密方法,其特征在于,所述步骤E具体包括:
E1.判断是否收到属性撤销的信息,如果用户拥有的属性被撤销,则随机选择ai,bi∈Zp *,并计算cki,1=ai/ai,j,cki,2=bi/bi,j,否则,计算cki,1=1,cki,2=1;
E2.设定重加密密钥为
6.如权利要求5所述的一种基于属性的加密方法,其特征在于,所述步骤F具体包括:
F1.检查重加密密钥ck,如果ck≠1,则执行步骤F2,如果ck=1,继续检查重加密密钥和密文中的版本号是否一致,如果一致,直接输出密文CT,如果不一致,则执行步骤F2;
F2.如果vi,j∈W,计算属性部分重加密后的密文并更新密文的版本号;
F3.得到重加密密文为CT′=(vn+1,{C0,C1,C2,{Ci,j,1′,Ci,j,2′}},CM)。
7.如权利要求6所述的一种基于属性的加密方法,其特征在于,所述步骤G具体包括:
G1.检查重加密密钥ck,如果ck≠1,则执行步骤G2;如果ck=1,继续检查重加密密钥中版本号和用户私钥中的版本号是否一致,如果一致,直接输出私钥SKL,如果不一致,则执行步骤G2;
G2.如果vi,j∈L,设置更新版本号,并计算D1′=hω-sn
G3.得到用户更新后私钥为
8.如权利要求4所述的一种基于属性的加密方法,其特征在于,所述步骤H具体包括:
H1.如果未拥有与访问策略下标匹配的属性,则解密失败,否则通过下面的步骤恢复出明文,计算:
<mrow> <mi>F</mi> <mo>=</mo> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <mrow> <mo>(</mo> <msub> <mi>C</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>D</mi> <mrow> <mi>i</mi> <mo>,</mo> <mn>3</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <msub> <mi>b</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </msubsup> <mo>)</mo> </mrow> <msub> <mi>r</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </msup> <mo>,</mo> <msup> <mi>g</mi> <mrow> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>&amp;lambda;</mi> <mi>i</mi> </msub> </mrow> </msup> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>,</mo> <mi>g</mi> <mo>)</mo> </mrow> <mrow> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>b</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>r</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>&amp;lambda;</mi> <mi>i</mi> </msub> </mrow> </msup> <mo>,</mo> </mrow>
<mrow> <mi>O</mi> <mo>=</mo> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <mrow> <mo>(</mo> <msub> <mi>C</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>,</mo> <mn>2</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>D</mi> <mrow> <mi>i</mi> <mo>,</mo> <mn>4</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </msubsup> <mo>)</mo> </mrow> <mrow> <mi>r</mi> <mo>-</mo> <msub> <mi>r</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mrow> </msup> <mo>,</mo> <msup> <mi>g</mi> <mrow> <msub> <mi>b</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>&amp;lambda;</mi> <mi>i</mi> </msub> </mrow> </msup> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>,</mo> <mi>g</mi> <mo>)</mo> </mrow> <mrow> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>b</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>r</mi> <mo>-</mo> <msub> <mi>r</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>)</mo> </mrow> <msub> <mi>&amp;lambda;</mi> <mi>i</mi> </msub> </mrow> </msup> <mo>,</mo> </mrow> 2
S=e(C1,D1)=e(gr,hω-s)=e(g,h)(ω-s)r
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>B</mi> <mo>=</mo> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <mrow> <mo>(</mo> <msub> <mi>C</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>D</mi> <mrow> <mi>i</mi> <mo>,</mo> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <mrow> <mo>(</mo> <msup> <mi>g</mi> <mi>r</mi> </msup> <mo>,</mo> <msup> <mi>h</mi> <msub> <mi>s</mi> <mi>i</mi> </msub> </msup> <msup> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>)</mo> </mrow> <mrow> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>b</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>&amp;lambda;</mi> <mi>i</mi> </msub> </mrow> </msup> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <mrow> <mo>(</mo> <msup> <mi>g</mi> <mi>r</mi> </msup> <mo>,</mo> <msup> <mi>h</mi> <msub> <mi>s</mi> <mi>i</mi> </msub> </msup> <mo>)</mo> </mrow> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <msup> <mrow> <mo>(</mo> <msup> <mi>g</mi> <mi>r</mi> </msup> <mo>,</mo> <msub> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>)</mo> </mrow> <mrow> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>b</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>&amp;lambda;</mi> <mi>i</mi> </msub> </mrow> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <msup> <mrow> <mo>(</mo> <mi>g</mi> <mo>,</mo> <mi>h</mi> <mo>)</mo> </mrow> <mrow> <msub> <mi>s</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>r</mi> </mrow> </msup> <mo>&amp;CenterDot;</mo> <msubsup> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>e</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>,</mo> <mi>g</mi> <mo>)</mo> </mrow> <mrow> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>b</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>r&amp;lambda;</mi> <mi>i</mi> </msub> </mrow> </msup> <mo>,</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>
<mrow> <msup> <mi>R</mi> <mo>&amp;prime;</mo> </msup> <mo>=</mo> <msub> <mi>C</mi> <mn>0</mn> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mi>F</mi> <mi>O</mi> </mrow> <mrow> <mi>S</mi> <mi>B</mi> </mrow> </mfrac> <mo>=</mo> <msup> <mi>R</mi> <mo>&amp;prime;</mo> </msup> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mi>e</mi> <msup> <mrow> <mo>(</mo> <mi>g</mi> <mo>,</mo> <mi>h</mi> <mo>)</mo> </mrow> <mrow> <mi>&amp;omega;</mi> <mi>r</mi> </mrow> </msup> <mo>&amp;CenterDot;</mo> <mi>e</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>,</mo> <mi>g</mi> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>b</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>r</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>&amp;lambda;</mi> <mi>i</mi> </msub> </mrow> </msup> <mo>&amp;CenterDot;</mo> <mi>e</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>,</mo> <mi>g</mi> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>b</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>r</mi> <mo>-</mo> <msub> <mi>r</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>)</mo> </mrow> <msub> <mi>&amp;lambda;</mi> <mi>i</mi> </msub> </mrow> </msup> </mrow> <mrow> <mi>e</mi> <msup> <mrow> <mo>(</mo> <mi>g</mi> <mo>,</mo> <mi>h</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mi>&amp;omega;</mi> <mo>-</mo> <mi>s</mi> <mo>)</mo> <mi>r</mi> </mrow> </msup> <mo>&amp;CenterDot;</mo> <mi>e</mi> <msup> <mrow> <mo>(</mo> <mi>g</mi> <mo>,</mo> <mi>h</mi> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>s</mi> <mi>i</mi> </msub> <mi>r</mi> </mrow> </msup> <mo>&amp;CenterDot;</mo> <mi>e</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>,</mo> <mi>g</mi> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>b</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>r&amp;lambda;</mi> <mi>i</mi> </msub> </mrow> </msup> </mrow> </mfrac> <mo>,</mo> </mrow>
<mrow> <mi>P</mi> <mo>=</mo> <msub> <mi>C</mi> <mn>2</mn> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>H</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msup> <mi>R</mi> <mo>&amp;prime;</mo> </msup> <mo>)</mo> </mrow> <mo>;</mo> </mrow>
H2.解密者用加密者选择的密钥P计算mi=cimodP,最后恢复出消息明文M=m1m2...ml
9.一种基于属性的加密系统,其特征在于,包括:
系统参数设置模块,用于根据输入的安全参数,生成用于加密和解密的系统公开参数和授权中心的主密钥;具体如下:
A1.选取阶为p的乘法循环群G和GT以及双线性映射e:G×G→GT,从G中选择生成元g,h;其中,p为大素数;
A2.定义两个哈希函数H1:H2:GT→{0,1}l,其中,H1是GT的密码学哈希函数,H2是GT到{0,1}l的密码学哈希函数,{0,1}l表示长度为l比特的二进制串的集合,表示集合{1,2,…,p-2,p-1};
A3.随机选择选择随机点为{Ai,j∈G},i∈[1,n],j∈[1,ni],n表示属性的个数,ni表示属性值的个数;对于两个不同的用户属性集L和L′,应满足vi,j表示属性i的第j个值;
A4.设置初始版本号vn=1,并计算Y=e(g,h)ω
得到系统公开参数系统主密钥为MK=(ω,{ai,j,bi,j});
密钥生成模块,用于根据系统公开参数以及用户的属性集合,采用密钥生成算法计算出与用户属性集合相关联的用户私钥;
加密模块,用于根据系统公开参数、访问策略,对原始消息进行加密得到一个密文,使得当用户提供的与私钥相关联的属性集合满足该访问策略时,才能解密密文;
密文检索模块,用于根据用户提交的关键字对密文进行检索,检查用户私钥与密文的版本号,如果不一致则触发重加密密钥生成模块;
重加密密钥生成模块,用于根据所述系统公开参数和主密钥,生成重加密密钥;
重加密模块,用于根据重加密密钥对原始密文进行重加密,得到重加密密文;
重新生成私钥模块,用于根据重加密密钥和用户的私钥,对用户的私钥进行更新,得到更新后的用户私钥;
解密模块,用于根据用户提供的私钥以及系统公开参数,对密文进行解密得到原始消息。
CN201410612226.7A 2014-11-04 2014-11-04 一种基于属性的加密方法和系统 Expired - Fee Related CN104363215B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410612226.7A CN104363215B (zh) 2014-11-04 2014-11-04 一种基于属性的加密方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410612226.7A CN104363215B (zh) 2014-11-04 2014-11-04 一种基于属性的加密方法和系统

Publications (2)

Publication Number Publication Date
CN104363215A CN104363215A (zh) 2015-02-18
CN104363215B true CN104363215B (zh) 2017-10-10

Family

ID=52530441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410612226.7A Expired - Fee Related CN104363215B (zh) 2014-11-04 2014-11-04 一种基于属性的加密方法和系统

Country Status (1)

Country Link
CN (1) CN104363215B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110401667A (zh) * 2019-07-31 2019-11-01 杭州项帮科技有限公司 一种基于多项目型映射的分权密钥机制的属性加密方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104836790B (zh) * 2015-03-30 2018-04-10 西安电子科技大学 基于属性加密和时间戳的链式存储细粒度访问控制方法
CN105007258B (zh) * 2015-05-22 2018-03-27 华中科技大学 一种快速关键字可搜索公钥加密方法
CN104883254B (zh) * 2015-06-12 2018-01-12 深圳大学 面向云计算平台的密文访问控制系统及其访问控制方法
CN105100083B (zh) * 2015-07-06 2019-04-30 河海大学 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN105025021B (zh) * 2015-07-13 2018-05-29 西安理工大学 格上主析取范式访问策略的基于属性加密方法
CN105187201B (zh) * 2015-07-13 2019-04-26 深圳市恒源昊信息科技有限公司 可撤销两个属性的密钥策略的属性加密方法
CN105187202B (zh) * 2015-07-13 2018-12-21 重庆涔信科技有限公司 基于完全二叉树的可撤销的属性加密方法
CN105141419B (zh) * 2015-07-27 2019-09-06 北京航空航天大学 大属性域的属性基签名方法及系统
CN105871543B (zh) * 2016-03-29 2019-02-15 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN106330865B (zh) * 2016-08-12 2019-03-29 安徽大学 云环境下支持高效撤销的属性基关键字搜索方法及云计算应用系统
CN107769915B (zh) * 2016-08-17 2020-09-22 实创时新(北京)科技有限公司 具备细粒度用户控制的数据加解密系统和方法
CN106790185B (zh) * 2016-12-30 2021-06-15 深圳市风云实业有限公司 基于cp-abe的权限动态更新集中信息安全访问方法和装置
CN108880798B (zh) * 2018-06-28 2020-11-03 西南交通大学 一种实现细粒度属性撤销的属性基重加密方法
US11316662B2 (en) * 2018-07-30 2022-04-26 Koninklijke Philips N.V. Method and apparatus for policy hiding on ciphertext-policy attribute-based encryption
CN108989339B (zh) * 2018-08-20 2020-10-02 安徽大学 一种具有策略隐藏功能的密文加密方法、系统及存储介质
CN110602064A (zh) * 2019-08-29 2019-12-20 河海大学 一种支持多关键字搜索的基于身份加密方法与系统
WO2021232193A1 (zh) * 2020-05-18 2021-11-25 深圳技术大学 雾计算下基于cp-abe的密文搜索方法、装置、设备及存储介质
CN111901328B (zh) * 2020-07-22 2021-08-06 电子科技大学 一种基于素数阶群的基于属性加密方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423764B2 (en) * 2010-06-23 2013-04-16 Motorola Solutions, Inc. Method and apparatus for key revocation in an attribute-based encryption scheme
CN103618609A (zh) * 2013-09-09 2014-03-05 南京邮电大学 一种云环境下基于属性基加密的及时用户撤销方法
CN103618728A (zh) * 2013-12-04 2014-03-05 南京邮电大学 一种多机构中心的属性加密方法
CN103731432A (zh) * 2014-01-11 2014-04-16 西安电子科技大学昆山创新研究院 一种支持多用户的可搜索加密系统及方法
CN104113408A (zh) * 2014-07-11 2014-10-22 西安电子科技大学 一种实现及时用户属性撤销的基于密文策略属性加密方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423764B2 (en) * 2010-06-23 2013-04-16 Motorola Solutions, Inc. Method and apparatus for key revocation in an attribute-based encryption scheme
CN103618609A (zh) * 2013-09-09 2014-03-05 南京邮电大学 一种云环境下基于属性基加密的及时用户撤销方法
CN103618728A (zh) * 2013-12-04 2014-03-05 南京邮电大学 一种多机构中心的属性加密方法
CN103731432A (zh) * 2014-01-11 2014-04-16 西安电子科技大学昆山创新研究院 一种支持多用户的可搜索加密系统及方法
CN104113408A (zh) * 2014-07-11 2014-10-22 西安电子科技大学 一种实现及时用户属性撤销的基于密文策略属性加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
公共云存储服务数据安全及隐私保护技术综述;李晖,孙文海,李风华,王博洋;《计算机研究与发展》;20140115;全文 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110401667A (zh) * 2019-07-31 2019-11-01 杭州项帮科技有限公司 一种基于多项目型映射的分权密钥机制的属性加密方法
CN110401667B (zh) * 2019-07-31 2021-08-06 杭州项帮科技有限公司 一种基于多项目型映射的分权密钥机制的属性加密方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104363215B (zh) 一种基于属性的加密方法和系统
CN112019591B (zh) 一种基于区块链的云数据共享方法
CN104486315B (zh) 一种基于内容属性的可撤销密钥外包解密方法
CN108881314B (zh) 雾计算环境下基于cp-abe密文隐私保护方法及系统
CN105100083B (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN104021157B (zh) 云存储中基于双线性对的关键词可搜索加密方法
CN102624522B (zh) 一种基于文件属性的密钥加密方法
CN103329478B (zh) 密码系统以及密码系统的密码处理方法
CN106375346B (zh) 一种云环境下基于条件广播代理重加密的数据保护方法
CN107682353A (zh) 一种电子医疗云中的健康档案访问控制系统及方法
CN104158880B (zh) 一种用户端云数据共享解决方法
CN107222483A (zh) 一种多访问级别的电子文档网络存储管理的方法
CN103731432A (zh) 一种支持多用户的可搜索加密系统及方法
CN107104982A (zh) 移动电子医疗中具有叛逆者追踪功能的可搜索加密系统
CN108040056A (zh) 基于物联网的安全医疗大数据系统
CN109543434B (zh) 区块链信息加密方法、解密方法、存储方法及装置
CN106161428A (zh) 一种密文可相等比较的属性加密方案
CN104320393A (zh) 重加密可控的高效属性基代理重加密方法
CN105635135A (zh) 一种基于属性集及关系谓词的加密系统及访问控制方法
CN111431898A (zh) 用于云协助物联网的带搜索的多属性机构属性基加密方法
CN112989375A (zh) 一种分级优化加密无损隐私保护方法
CN113411323B (zh) 基于属性加密的医疗病历数据访问控制系统及方法
CN108880801A (zh) 一种格上支持细粒度属性撤销的分布式属性基加密方法
CN104993929B (zh) 一种支持系统属性扩展的属性基加密系统及方法
CN112382376A (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
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171010

Termination date: 20201104

CF01 Termination of patent right due to non-payment of annual fee