CN106850224B - 一种私钥定长的密文策略属性基加密方法 - Google Patents

一种私钥定长的密文策略属性基加密方法 Download PDF

Info

Publication number
CN106850224B
CN106850224B CN201710241151.XA CN201710241151A CN106850224B CN 106850224 B CN106850224 B CN 106850224B CN 201710241151 A CN201710241151 A CN 201710241151A CN 106850224 B CN106850224 B CN 106850224B
Authority
CN
China
Prior art keywords
node
robdd
decryption
private key
data
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.)
Active
Application number
CN201710241151.XA
Other languages
English (en)
Other versions
CN106850224A (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.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
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 Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN201710241151.XA priority Critical patent/CN106850224B/zh
Publication of CN106850224A publication Critical patent/CN106850224A/zh
Application granted granted Critical
Publication of CN106850224B publication Critical patent/CN106850224B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种私钥定长的密文策略属性基加密方法,该方法包含两部分核心内容:基于简化有序二叉决策图的访问结构和基于此访问结构的密文策略属性基加密方法,上述两部分内容的实现主要包含4个实体:数据加密方、数据解密方、授权中心、云端存储服务器;实现过程共包括以下4个步骤:(1)系统建立、(2)明文加密(含访问结构的构造)、(3)私钥生成、(4)密文解密;本发明技术方案中包含的访问结构能够支持任意布尔表达式所表述的访问策略,具有更强的工作能力、更高的工作效率;本发明技术方案中包含的加密方法具有访问结构工作性能较高、用户私钥占用空间极小且定长、能够实现快速解密等优点,整体性能表现更加灵活高效。

Description

一种私钥定长的密文策略属性基加密方法
技术领域
本发明涉及信息安全技术领域,具体是一种私钥定长的密文策略属性基加密方法。
背景技术
作为一种较成熟的加密方式,公钥加密已经被广泛采用,但是传统的公钥加密在实现过程中需要借助一对密钥——公钥和私钥,其中公钥被加密方用来加密明文信息、私钥被解密方用来解密密文信息,而且此两密钥具有一一对应性。但在当前被广泛研究并付诸实践的共享存储、云计算、云制造等网络场景下,用户数量、被访问数据量均较为巨大,且数据拥有者需要与数据使用者维持一对多的关系,因此将传统公钥加密策略应用于此类场景时将会导致系统工作效率较低、系统维护开销较大,甚至出现系统无法正常工作的情况,给信息的安全传输及高效的访问控制带来了较大挑战,属性基加密能够较好地解决以上问题。
属性基加密可细分为密文策略属性基加密(CP-ABE)和密钥策略属性基加密(KP-ABE)。其中,CP-ABE的核心思想是,加密方将加密策略表示为访问结构(即公钥)并完成信息的加密,解密方只有在拥有满足该访问结构的属性集合(即私钥)时才能解密成功,此时的隐私策略由加密方制定,不但能够实现数据加密,还能通过对潜在数据解密方进行筛选完成对数据的访问控制。例如,借助于该类策略,数据提供者制定访问策略“(计算机学院AND教师)OR教务处职员”,并借助于这一策略完成对数据的加密操作,由此限定只有满足这一访问策略的用户才能完成对数据的解密及使用。显然,此类解决方案较好地处理了将传统公钥加密应用于新型网络场景中时所遇到的系统开销大、数据使用者信息无法预先获取、公私钥一一对应等问题,对云计算等新型网络场景具有更强的适用性。
作为属性基加密的核心基础部件,访问结构起着举足轻重的作用。门限结构、LSSS矩阵、与门及分布矩阵等多种结构已被采用来开发CP-ABE,但这些结构在表达能力及表达效率等方面并不理想。
简化有序二叉决策图(ROBDD)不但能够实现对任意布尔函数的极简表示,还能高效完成布尔变量及函数间的任意布尔操作,因此该结构是一种属性基加密策略中访问结构的理想选择。基于这一出发点,本发明对访问结构进行深入研究,充分开发ROBDD的高效性能,以求进一步提升CP-ABE在工作效率、扩展性等方面的性能表现。
与本发明相关的基础理论知识
(1)访问结构
本质上而言,访问策略是一条规则R,能够根据输入属性集合的状态无异议的得出1或0,只有当该规则对属性集S返回1时,称S满足R,记为
Figure GDA0002853252050000022
与之相对的是S不满足R,记为
Figure GDA0002853252050000023
访问结构便是上述访问策略的直观表达,具体表现形式有阈值门、与或树等。
(2)双线性映射及双线性群
①双线性映射:存在素数阶为p的群G0、G1,且群G0的生成元为g,若映射e:G0×G0→G1具有以下性质,则称该映射为双线性映射:
a)双线性性:对于任意u,v∈G0及a,b∈Zp,满足e(ua,vb)=e(u,v)ab
b)非退化性:e(g,g)≠1。
②双线性群:如果群G0内的运算及双线性映射e:G0×G0→G1均具备可计算性,则称G0为双线性群。
(3)简化有序二叉决策图
①二叉决策图:对于从{0,1}n到{0,1}的布尔函数f(x1,x2,…,xn),二叉决策图是用于表示布尔函数族#f(x1,x2,…,xn)的一个有向无环图,它满足:
a)二叉决策图中结点分为根结点root、终结点和内部结点三类。
b)终结点仅有2个,分别表示布尔常量0和1。
c)每个非终结点u具有四元组属性(fu,var,low,high),其中,fu表示结点u所对应的布尔函数,fu∈#πf(x1,x2,…,xn)(如果u是根结点,则fu=f(x1,x2,…,xn));var表示结点u的标记变量;low表示u.var=0时,结点u的0分支子结点;high表示u.var=1时,结点u的1分支子结点。
d)每个非终结点均具有两条输出分支弧,将它们和各自的两个分支子结点连接在一起。结点u和u.low的连接弧称为0-边,结点u和u.high的连接弧称为1-边。
e)二叉决策图的任一有向路径上,布尔函数f(x1,x2,…,xn)中的每个变量至多出现一次。
在图形表示中,通常用方框表示终结点(即
Figure GDA0002853252050000021
),用圆圈表示其它结点,假设结点之间的连接弧的方向向下,0-边用虚线表示,1-边用实线表示。
②有序二叉决策图:对于从{0,1}n到{0,1}的布尔函数f(x1,x2,…,xn)和给定变量序π,在表示布尔函数族#f(x1,x2,…,xn)的二叉决策图中,如果任一有向路径上的变量x1,x2,…,xn均以变量序π所规定的次序依次出现,则称该二叉决策图为布尔函数f(x1,x2,…,xn)的有序二叉决策图。
③简化有序二叉决策图:对于某一有序二叉决策图,如果其内部节点满足:
a)对于节点u,u.low≠u.high。
b)对于两个节点u和v,满足(u.low≠v.low)∨(u.high≠v.high)∨((u.low≠v.low)∧(u.high≠v.high))。
则进一步称该有序二叉决策图为简化有序二叉决策图。
发明内容
本发明的目的在于解决现有技术中存在的技术问题,提供一种私钥定长的密文策略属性基加密方法。该方法对新型ROBDD访问结构、与ROBDD访问结构相关的策略表示方法、用户可满足性判定、CP-ABE所包含的多个具体算法进行了形式化表述;该方法在算法时间复杂度、存储空间占用量、安全性等方面都具有较好表现,并且能够支持任意布尔表达式所表述的访问策略、生成占用空间极小且定长的私钥、实现快速解密,并最终使系统工作效率高,系统维护开销小。
实现本发明目的的技术方案是:
一种私钥定长的密文策略属性基加密方法,具体实现过程中,共包含4个实体:数据加密方(即数据拥有者)、数据解密方(即数据使用者)、授权中心、云端存储服务器,具体实现步骤如下:
1)系统建立:由授权中心执行Setup算法,选择双线性群G0、G1,定义双线性映射e:G0×G0→G1,通过运算生成系统公钥PK和主密钥MK;
2)明文加密:由数据加密方执行Encrypt算法,根据预先定义的访问策略生成相应的ROBDD访问结构,并基于该ROBDD访问结构进一步完成对明文数据M的加密操作,最终生成密文数据CT;
3)私钥生成:由授权中心执行Keygen算法,根据用户提供的属性集合S,通过与步骤2)中的ROBDD访问结构间的路径匹配生成用户私钥SK;
4)密文解密:由数据解密方执行Decrypt算法,主要操作是借助于递归算法实现自身所拥有私钥SK与ROBDD访问结构间的匹配,最终结果有两种:如果私钥SK合法则解密成功并输出明文数据M,否则解密失败;
经过上述步骤,数据加密方借助于ROBDD实现了访问策略的高效表达及实现,并进一步完成了数据的高效加密工作;数据解密方能够获得授权中心为其生成的定长私钥,并在私钥合法的情况下完成对密文的快速解密。
所述步骤1)中,授权中心选择双线性群G0、G1,定义双线行映射e:G0×G0→G1;随机选择素数p阶循环群Zp中的元素y,t0,t1,…,tn-1,t0',t1',…,tn-1',n为属性总量;令Y:=e(g,g)y
Figure GDA0002853252050000031
最终生成系统公钥PK:=<e,g,Y,{(Ti,Ti')|i∈N}>和主密钥MK:=<y,{(ti,ti')|i∈N}>。
所述步骤2)中,数据加密方首先需要根据具体的访问策略生成相应的布尔函数,并进一步构造与该布尔函数相应的ROBDD结构;在该ROBDD结构的基础之上,按照由上而下、从左至右的顺序对所有节点进行重新编号,将最终得到的ROBDD访问结构表述为:
Figure GDA0002853252050000041
上述(1)式中ID、I分别为ROBDD结构中所含全部非终节点的编号、全部变量所组成的集合,
Figure GDA0002853252050000042
本质上可使用四元组<id,j,high,low>表示,id为节点编号、j为节点上的属性编号、high为本节点1-分支节点编号、low为本节点0-分支节点编号,high域及low域的作用是维护节点间的连接关系;其中编号为0和1的节点具有固定的表示意义,即终节点
Figure GDA0002853252050000043
进一步的,在ROBDD结构中,根节点root与终节点
Figure GDA0002853252050000044
间的任意路径均称为有效路径;若属性集S中的属性能与ROBDD结构中的任意一条有效路径相匹配,则称属性集S满足访问结构ROBDD,记为
Figure GDA00028532520500000414
进一步的,数据加密方,借助于访问结构
Figure GDA0002853252050000045
完成对数据为M∈G1的加密操作;其中ROBDD访问结构所含有效路径的总数为T,并将其表示为R={R0,R1,…,RT-1}。加密操作具体执行如下:
随机选择s∈Zp并计算
Figure GDA0002853252050000046
定义CRt(Rt∈R)为与路径直接相关的密文组件,其数学表述为:
Figure GDA0002853252050000047
上述(2)式中,Rt为路径编号,It为路径Rt上所包含的全部属性之集合,tj 代表授权中心从Zp中选取的针对属性取正值时的随机元素tj或针对属性取负值时的随机元素tj',
Figure GDA0002853252050000048
最终生成的密文表示为
Figure GDA0002853252050000049
在该步骤中,主要的计算量为群G0中的|T|+1次指数运算和∑|It-1|次乘法运算、群G1中的1次指数运算和1次乘法运算;密文的主要存储量包括访问结构ROBDD、群G0中的|T|+1个元素及群G1中的1个元素。
所述步骤3)中,授权中心根据用户提供的属性集S生成用户私钥SK,对于
Figure GDA00028532520500000415
默认
Figure GDA00028532520500000413
私钥生成操作具体包含如下步骤:
①查询ROBDD结构中编号为2的节点即root,将其定义为当前节点,设置tSK=0;
②读取当前节点中保存的信息
Figure GDA00028532520500000410
对于其中所含的属性编号j:如果(j∈S)∧j=j,执行tSK+=tj,转到③;如果
Figure GDA00028532520500000416
执行tSK+=tj',转到④;
③根据当前节点的high域信息查找其1-边子节点,如果到达终节点(
Figure GDA00028532520500000411
Figure GDA00028532520500000412
),转到⑤;否则将该子节点定义为当前节点并转到②;
④根据当前节点的low域信息查找其0-边子节点,如果到达终节点(
Figure GDA0002853252050000051
Figure GDA0002853252050000052
),转到⑤;否则将该子节点定义为当前节点并转到②;
⑤随机选择r∈Zp,计算
Figure GDA0002853252050000053
经过上述步骤,最终生成的用户私钥为
Figure GDA0002853252050000054
该步骤中主要的计算量为群G0中的2次指数运算,用户私钥占用的存储空间为群G0中的2个元素,即私钥定长。
所述步骤4)中,解密用户借助于自身拥有的私钥SK完成对密文CT的解密工作,假设待解密的密文为
Figure GDA00028532520500000516
解密用户拥有的私钥为
Figure GDA0002853252050000056
解密过程可通过以下递归算法实现:
A解密用户首先查询ROBDD结构中编号为2的节点(即root),将其定义为当前节点;
B读取当前节点中保存的信息
Figure GDA0002853252050000057
对于当前节点中所含的属性编号j:如果(j∈S)∧j=j,转到C;如果
Figure GDA00028532520500000513
转到D;
C根据当前节点的high域信息查找其1-边子节点:
a)若1-边子节点为终节点
Figure GDA0002853252050000058
终止递归算法,返回解密失败;
b)若1-边子节点为终节点
Figure GDA0002853252050000059
转到E;
c)若1-边子节点为非终节点,将其定义为当前节点并转入B继续执行;
D根据当前节点的low域信息查找其0-边子节点:
a)若0-边子节点为终节点
Figure GDA00028532520500000510
终止递归算法,返回解密失败;
b)若0-边子节点为终节点
Figure GDA00028532520500000511
转到E;
c)若0-边子节点为非终节点,将其定义为当前节点并转入B继续执行;
E若当前已成功匹配的有效路径为Rt,依次计算:
Figure GDA00028532520500000512
提示解密成功并返回明文数据M;
该步骤中,Decrypt算法的最大计算量为2次线性对计算、G1中的2次乘法运算,此时
Figure GDA00028532520500000515
Figure GDA00028532520500000514
解密算法的计算量与属性数量、密文长度等均无关,为常量,则用户能够成功高效的完成密文的解密工作并得到明文数据。
有益效果:由上述技术方案可以看出,本发明首先提出的一种私钥定长的密文策略属性基加密方法,是基于ROBDD的访问结构,随后基于ROBDD设计完成了一种CP-ABE方法。与现有技术相比,由于本发明采用ROBDD重新设计CP-ABE中的访问结构,使得新访问结构具备更强表达能力及扩展性,能够在不增加系统开销的情况下同时支持正值属性及负值属性,能够支持属性在访问策略中的多次出现,能够完成AND,OR及NOT等属性间的所有操作;进一步的,本专利基于ROBDD访问结构重新构造的CP-ABE在算法时间复杂度、存储空间占用量、实现快速解密等方面都具有较好表现。
附图说明
图1是本发明实施例中CP-ABE的整体框架示意图;
图2是本发明实施例中布尔函数f1(x0,x1,x2,x3)的ROBDD表示图;
图3是本发明实施例中KeyGen算法的流程图;
图4是本发明实施例中Decrypt算法的流程图;
图5是本发明实施例中不同属性集、密钥元素及解密路径间的关系图。
具体实施方式
下面将结合附图和实施例对本发明做进一步阐述,但不是对本发明的限定。
实施例:
一种私钥定长的密文策略属性基加密方法,以ROBDD作为访问结构而设计CP-ABE方案的整体框架示意图如图1所示,共包含4个实体:数据加密方,即数据拥有者;数据解密方,即数据使用者;授权中心;云端存储服务器。该加密方法主要包含以下4个基本算法:
1)Setup算法,由授权中心执行,主要进行以下操作:选择阶为p的双线性群G0,具有生成元g,双线行映射表示为e:G0×G0→G1;随机选择Zp中的元素y,t0,t1,…,tn-1,t0',t1',…,tn-1'。令Y:=e(g,g)y
Figure GDA0002853252050000061
进一步生成系统公钥PK:=<e,g,Y,{(Ti,Ti')|i∈N}>及主密钥MK:=<y,{(ti,ti')|i∈N}>。
2)Encrypt(PK,M,ROBDD)算法,由数据拥有者执行,主要完成数据的加密操作,加密用户拥有的数据为M∈G1,所使用的访问结构为
Figure GDA0002853252050000062
假设该结构中所含有效路径的总数为T,并将其表示为R={R0,R1,…,RT-1},加密操作执行如下:
随机选择s∈Zp并计算
Figure GDA0002853252050000063
定义CRt(Rt∈R)为与路径直接相关的密文组件,其数学表述为
Figure GDA0002853252050000064
该式中,Rt为路径编号,It为路径Rt上所包含的全部属性之集合,tj 代表授权中心从Zp中选取的针对属性取正值时的随机元素tj或针对属性取负值时的随机元素tj',
Figure GDA0002853252050000071
最终生成的密文表示为
Figure GDA0002853252050000072
在上述加密算法中,主要的计算量为群G0中的|T|+1次指数运算和∑|It-1|次乘法运算、群G1中的1次指数运算和1次乘法运算;密文的主要存储量包括访问结构ROBDD、群G0中的|T|+1个元素及群G1中的1个元素。
3)Keygen(ROBDD,S,MK)算法,由授权中心执行,以根据用户提供的属性集S生成用户私钥SK。KeyGen算法的流程图如图3所示,
用户拥有的全部属性用集合S表示,对于
Figure GDA00028532520500000716
默认
Figure GDA0002853252050000073
KeyGen算法运行如下:
①查询ROBDD结构中编号为2的节点(即root),将其定义为当前节点,设置tSK=0;
②读取当前节点中保存的信息
Figure GDA0002853252050000074
对于其中所含的属性编号j:如果j∈S∧j=j,执行tSK+=tj,转到③;如果
Figure GDA00028532520500000717
执行tSK+=tj',转到④;
③根据当前节点的high域信息查找其1-边子节点,如果到达终节点(
Figure GDA0002853252050000075
Figure GDA0002853252050000076
),转到⑤;否则将该子节点定义为当前节点并转到②;
④根据当前节点的low域信息查找其0-边子节点,如果到达终节点(
Figure GDA0002853252050000077
Figure GDA0002853252050000078
),转到⑤;否则将该子节点定义为当前节点并转到②;
⑤随机选择r∈Zp,计算
Figure GDA0002853252050000079
最终生成的用户私钥为
Figure GDA00028532520500000710
该算法主要的计算量为群G0中的2次指数运算,用户私钥占用的存储空间为群G0中的2个元素,即私钥定长。
4)Decrypt(CT,SK)算法,由解密用户执行,以使用自身拥有的私钥SK完成对密文CT的解密工作,Decrypt算法的流程图如图4所示,
假设待解密的密文为
Figure GDA00028532520500000711
解密用户拥有的私钥为
Figure GDA00028532520500000712
解密过程可通过简单的递归算法实现:
A解密用户首先查询ROBDD结构中编号为2的节点(即root),将其定义为当前节点;
B读取当前节点中保存的信息
Figure GDA00028532520500000713
对于当前节点中所含的属性编号j,如果(j∈S)∧j=j,转到C;如果
Figure GDA00028532520500000718
转到D;
C根据当前节点的high域信息查找其1-边子节点:
a)若1-边子节点为终节点
Figure GDA00028532520500000714
终止递归算法,返回解密失败;
b)若1-边子节点为终节点
Figure GDA00028532520500000715
转到E;
c)若1-边子节点为非终节点,将其定义为当前节点并转入B继续执行;
D根据当前节点的low域信息查找其0-边子节点:
a)若0-边子节点为终节点
Figure GDA0002853252050000081
终止递归算法,返回解密失败;
b)若0-边子节点为终节点
Figure GDA0002853252050000082
转到E;
c)若0-边子节点为非终节点,将其定义为当前节点并转入B继续执行;
E若当前已成功匹配的有效路径为Rt,依次计算:
Figure GDA0002853252050000083
提示解密成功并返回明文数据M。
由以上推导可知,该步骤中,Decrypt算法的最大计算量为2次线性对计算、G1中的2次乘法运算,此时
Figure GDA0002853252050000084
由此可知,解密算法的计算量与属性数量、密文长度等均无关,为常量,则用户能够成功高效的完成密文的解密工作并得到明文数据。
假设共有3位解密用户,拥有属性集分别为S1={x0,x1}、S2={x1,x2}、S3={x1,x3},在使用图1中ROBDD结构进行加密的情况下,此3位用户的解密路径、与之相应的密钥元素如下图5所示,表明他们能够解密成功并获得明文。
本发明实施例还提供相应的基于简化有序二叉决策图的访问结构的构造方法,以下将进行详细说明:
(1)基于ROBDD的访问结构
本发明提出了ROBDD访问结构,该访问结构是非单调的,能够支持正值属性及负值属性,并可实现属性间的与、或、非等任意布尔操作,能够实现对访问策略的灵活高效表达。在给定访问策略后,生成ROBDD访问结构的过程主要包含以下几步骤:
①访问策略的布尔函数表示
首先将访问策略中的各个属性使用变量xi(1≤i≤n)表示,其中n为属性总量,继而将使用自然语言描述的访问策略转换为布尔函数表示f(x1,x2,…,xn)。
其中需要指出的是门限运算的布尔函数表达转换方法:门限运算简记为T(t,n),表示属性总量为n,拥有其中任意t个元素的用户便能够完成门限运算T(t,n),对于加密系统而言,完成门限运算T(t,n)便意味着解密成功。
关于构造门限运算T(t,n)的布尔函数表达,首先从n个属性中任意选取t个互不相同的属性构成组合,根据组合数公式可以得知此类组合共有C(n,t)个,记为Com1,Com2,…,ComC(n,t)
对上述C(n,t)个组合中分别包含的t个元素进行合取操作,并将结果记为Con1,Con2,…,ConC(n,t);将上述C(n,t)个合取结果进行析取操作,得出门限运算T(t,n)的布尔函数表达,记为
Figure GDA0002853252050000091
②根据布尔函数获得相应的ROBDD表示
针对同一函数,不同的变量序会生成截然不同的ROBDD结构,其各自占用的表示空间(结构所含节点数量)也差别巨大。因此,在通过应用递归过程构造布尔函数的ROBDD表示之前应规定变量序π。根据布尔函数构造其ROBDD表示的算法如下:
算法:ROBDD的构造
输入:布尔函数f及变量最大编号n-1
输出:布尔函数f在变量序π:x0<x1<…<xn-1下的ROBDD表达
Figure GDA0002853252050000092
Figure GDA0002853252050000101
按照由上而下、从左至右的顺序对所有节点进行重新编号,并将最终得到ROBDD访问结构表述为:
Figure GDA0002853252050000102
上述(1)中ID、I分别为ROBDD结构中所含全部非终节点的编号、全部变量所组成的集合。
Figure GDA0002853252050000103
本质上可使用四元组<id,j,high,low>表示:id为节点编号、j为节点上的属性编号、high为本节点1-分支节点编号、low为本节点0-分支节点编号,high域及low域的作用是维护节点间的连接关系。需要指出的是,编号为0和1的节点具有固定的表示意义,即终节点
Figure GDA0002853252050000104
有效路径:在ROBDD结构中,根节点root与终节点
Figure GDA0002853252050000105
间的任意路径均称为有效路径。
对ROBDD结构的满足性:给定访问结构ROBDD及属性集S,如果S中的属性能够与ROBDD结构中的任意一条有效路径相匹配,则称属性集S满足访问结构ROBDD,记为
Figure GDA0002853252050000109
例如:根据访问策略得到布尔函数、并最终构造ROBDD结构。其中访问策略为:拥有属性x0或者属性(x1,x2,x3)中的任意两个属性的用户能够完成解密。
根据上述访问策略,得出对应的布尔函数为:f1(x0,x1,x2,x3)=x0+x1x2+x1x3+x2x3
对于上述布尔函数,在变量序π:x0<x1<x2<x3下的ROBDD构造过程如下:首先根据香农分解规则
Figure GDA0002853252050000106
并借助上述递归算法实现布尔函数的ROBDD表示;随后对结构中所含的节点进行重新编号,并最终得到相应的ROBDD访问结构,如图2所示,其数学表达式为
Figure GDA0002853252050000107
(2)基于ROBDD的CP-ABE构造
本专利提出的CP-ABE方案支持正值属性j和负值属性
Figure GDA0002853252050000108
因此为了叙述方便,使用统一标识j(取值为j或
Figure GDA0002853252050000111
)表示属性。假设系统属性集为N,其中所含n个元素编号为{0,1,…,n-1}。

Claims (7)

1.一种私钥定长的密文策略属性基加密方法,其特征在于,具体实现过程中,共包含4个实体:数据加密方,即数据拥有者;数据解密方,即数据使用者;授权中心;云端存储服务器;具体实现步骤如下:
1)系统建立:由授权中心执行Setup算法,选择双线性群G0、G1,定义双线性映射e:G0×G0→G1,通过运算生成系统公钥PK和主密钥MK;
2)明文加密:由数据加密方执行Encrypt算法,根据预先定义的访问策略生成相应的ROBDD访问结构,并基于该ROBDD访问结构进一步完成对明文数据M的加密操作,最终生成密文数据CT;
3)私钥生成:由授权中心执行Keygen算法,根据用户提供的属性集合S,通过与步骤2)中的ROBDD访问结构间的路径匹配生成用户私钥SK;
4)密文解密:由数据解密方执行Decrypt算法,主要操作是借助于递归算法实现自身所拥有私钥SK与ROBDD访问结构间的匹配,最终结果有两种:如果私钥SK合法则解密成功并输出明文数据M,否则解密失败;
经过上述步骤,数据加密方借助于ROBDD实现了访问策略的高效表达及实现,并进一步完成了数据的高效加密工作;数据解密方能够获得授权中心为其生成的定长私钥,并在私钥合法的情况下完成对密文的快速解密;
所述步骤1)中,授权中心选择双线性群G0、G1,定义双线行映射e:G0×G0→G1;随机选择素数p阶循环群Zp中的元素y,t0,t1,…,tn-1,t0',t1',…,tn-1',n为属性总量;令Y:=e(g,g)y
Figure FDA0002853252040000011
最终生成系统公钥PK:=<e,g,Y,{(Ti,Ti')|i∈N}>和主密钥MK:=<y,{(ti,ti')|i∈N}>,其中g为群G0的生成元,N为系统属性集合。
2.根据权利要求1所述的方法,其特征在于,所述步骤2)中,数据加密方首先需要根据具体的访问策略生成相应的布尔函数,并进一步构造与该布尔函数相应的ROBDD结构;在该ROBDD结构的基础之上,按照由上而下、从左至右的顺序对所有节点进行重新编号,将最终得到的ROBDD访问结构表述为:
Figure FDA0002853252040000012
上述(1)式中ID、I分别为ROBDD结构中所含全部非终节点的编号、全部变量所组成的集合,
Figure FDA0002853252040000013
本质上可使用四元组<id,j,high,low>表示,id为节点编号、j为节点上的属性编号、high为本节点1-分支节点编号、low为本节点0-分支节点编号,high域及low域的作用是维护节点间的连接关系;其中编号为0和1的节点具有固定的表示意义,即终节点
Figure FDA0002853252040000021
3.根据权利要求2所述的方法,其特征在于,在ROBDD结构中,根节点root与终节点
Figure FDA0002853252040000022
间的任意路径均称为有效路径;若属性集S中的属性能与ROBDD结构中的任意一条有效路径相匹配,则称属性集S满足访问结构ROBDD,记为
Figure FDA00028532520400000211
4.根据权利要求2所述的方法,其特征在于,数据加密方,借助于访问结构
Figure FDA0002853252040000023
完成对数据为M∈G1的加密操作;其中ROBDD访问结构所含有效路径的总数为T,并将其表示为R={R0,R1,…,RT-1},加密操作具体执行如下:
随机选择s∈Zp并计算
Figure FDA0002853252040000024
定义CRt(Rt∈R)为与路径直接相关的密文组件,其数学表述为:
Figure FDA0002853252040000025
上述(2)式中,Rt为路径编号,It为路径Rt上所包含的全部属性之集合,tj 代表授权中心从Zp中选取的针对属性取正值时的随机元素tj或针对属性取负值时的随机元素tj',
Figure FDA0002853252040000026
最终生成的密文表示为
Figure FDA0002853252040000027
5.根据权利要求1所述的方法,其特征在于,主要的计算量为群G0中的|T|+1次指数运算和∑|It-1|次乘法运算、群G1中的1次指数运算和1次乘法运算;密文的主要存储量包括访问结构ROBDD、群G0中的|T|+1个元素及群G1中的1个元素。
6.根据权利要求1所述的方法,其特征在于,
所述步骤3)中,授权中心根据用户提供的属性集S生成用户私钥SK,对于
Figure FDA0002853252040000028
默认
Figure FDA0002853252040000029
私钥生成操作具体包含如下步骤:
①查询ROBDD结构中编号为2的节点即root,将其定义为当前节点,设置tSK=0;
②读取当前节点中保存的信息
Figure FDA00028532520400000210
对于其中所含的属性编号j:如果(j∈S)∧j=j,执行tSK+=tj,转到③;如果
Figure FDA0002853252040000031
执行tSK+=tj',转到④;
③根据当前节点的high域信息查找其1-边子节点,如果到达终节点(
Figure FDA0002853252040000032
Figure FDA0002853252040000033
),转到⑤;否则将该子节点定义为当前节点并转到②;
④根据当前节点的low域信息查找其0-边子节点,如果到达终节点(
Figure FDA0002853252040000034
Figure FDA0002853252040000035
),转到⑤;否则将该子节点定义为当前节点并转到②;
⑤随机选择r∈Zp,计算
Figure FDA0002853252040000036
D:=g(r/tSK)
经过上述步骤,最终生成的用户私钥为
Figure FDA0002853252040000037
该步骤中主要的计算量为群G0中的2次指数运算,用户私钥占用的存储空间为群G0中的2个元素,即私钥定长。
7.根据权利要求1所述的方法,其特征在于,
所述步骤4)中,解密用户借助于自身拥有的私钥SK完成对密文CT的解密工作,假设待解密的密文为
Figure FDA0002853252040000038
解密用户拥有的私钥为
Figure FDA0002853252040000039
解密过程可通过以下递归算法实现:
A解密用户首先查询ROBDD结构中编号为2的节点即root,将其定义为当前节点;
B读取当前节点中保存的信息
Figure FDA00028532520400000310
对于当前节点中所含的属性编号j,如果j∈S∧j=j,转到C;如果
Figure FDA00028532520400000311
转到D;
C根据当前节点的high域信息查找其1-边子节点:
a)若1-边子节点为终节点
Figure FDA00028532520400000312
终止递归算法,返回解密失败;
b)若1-边子节点为终节点
Figure FDA00028532520400000313
转到E;
c)若1-边子节点为非终节点,将其定义为当前节点并转入B继续执行;
D根据当前节点的low域信息查找其0-边子节点:
a)若0-边子节点为终节点
Figure FDA00028532520400000314
终止递归算法,返回解密失败;
b)若0-边子节点为终节点
Figure FDA00028532520400000315
转到E;
c)若0-边子节点为非终节点,将其定义为当前节点并转入B继续执行;
E若当前已成功匹配的有效路径为Rt,依次计算:
Figure FDA0002853252040000041
提示解密成功并返回明文数据M;
该步骤中,Decrypt算法的最大计算量为2次线性对计算、G1中的2次乘法运算,此时SK=ROBDD,解密算法的计算量与属性数量、密文长度等均无关,为常量,则用户能够成功高效的完成密文的解密工作并得到明文数据。
CN201710241151.XA 2017-04-13 2017-04-13 一种私钥定长的密文策略属性基加密方法 Active CN106850224B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710241151.XA CN106850224B (zh) 2017-04-13 2017-04-13 一种私钥定长的密文策略属性基加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710241151.XA CN106850224B (zh) 2017-04-13 2017-04-13 一种私钥定长的密文策略属性基加密方法

Publications (2)

Publication Number Publication Date
CN106850224A CN106850224A (zh) 2017-06-13
CN106850224B true CN106850224B (zh) 2021-02-12

Family

ID=59146723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710241151.XA Active CN106850224B (zh) 2017-04-13 2017-04-13 一种私钥定长的密文策略属性基加密方法

Country Status (1)

Country Link
CN (1) CN106850224B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989339B (zh) * 2018-08-20 2020-10-02 安徽大学 一种具有策略隐藏功能的密文加密方法、系统及存储介质
CN109359475B (zh) * 2018-10-18 2021-12-03 桂林电子科技大学 一种支持多值属性的密文策略属性基加密方法
CN110011963A (zh) * 2019-02-27 2019-07-12 西安电子科技大学 基于obdd的带有有效撤销的多授权cp-abe的信息处理方法
CN110401667B (zh) * 2019-07-31 2021-08-06 杭州项帮科技有限公司 一种基于多项目型映射的分权密钥机制的属性加密方法
CN110311779B (zh) * 2019-07-31 2022-03-04 北京车讯互联网股份有限公司 一种分权密钥机制的属性加密方法
CN112217641B (zh) * 2020-10-21 2022-09-27 桂林电子科技大学 一种基于add支持读写功能的密文策略属性基加密方法
CN112737785B (zh) * 2021-01-06 2021-09-28 江西清能高科技术有限公司 一种用于复杂访问策略的属性基加密方法、系统及设备
CN113792332A (zh) * 2021-08-31 2021-12-14 远光软件股份有限公司 一种数据访问控制的方法及相关装置
CN116155619B (zh) * 2023-04-04 2023-07-07 江西农业大学 数据处理方法、数据请求端、数据拥有端及数据处理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681355A (zh) * 2016-03-25 2016-06-15 西安电子科技大学 基于属性加密的云存储数字图书馆的访问控制系统及其访问控制方法
CN106230590A (zh) * 2016-07-22 2016-12-14 安徽大学 一种多授权机构的密文策略属性基加密方法
CN106301776A (zh) * 2016-08-01 2017-01-04 河海大学 一种关键字搜索的多授权中心外包属性基加密方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681355A (zh) * 2016-03-25 2016-06-15 西安电子科技大学 基于属性加密的云存储数字图书馆的访问控制系统及其访问控制方法
CN106230590A (zh) * 2016-07-22 2016-12-14 安徽大学 一种多授权机构的密文策略属性基加密方法
CN106301776A (zh) * 2016-08-01 2017-01-04 河海大学 一种关键字搜索的多授权中心外包属性基加密方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A Ciphertext-Policy Attribute-Based Encryption;Long Li;《IEEE》;20170108;全文 *

Also Published As

Publication number Publication date
CN106850224A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106850224B (zh) 一种私钥定长的密文策略属性基加密方法
CN110008717B (zh) 支持隐私保护的决策树分类服务系统及方法
Li et al. A ciphertext-policy attribute-based encryption based on an ordered binary decision diagram
Hu et al. Boomerang connectivity table revisited. application to SKINNY and AES
Freedman et al. Keyword search and oblivious pseudorandom functions
CN102356597B (zh) 用于在网络中安全通信的方法、及其通信设备、网络
Kowalczyk et al. Compact adaptively secure ABE for NC 1 from k-Lin
CN111143471B (zh) 一种基于区块链的密文检索方法
Boneh et al. Function-private subspace-membership encryption and its applications
CN108156140A (zh) 一种支持数值属性比较的多关键字可搜索加密方法
CN108156138A (zh) 一种用于雾计算的细粒度可搜索加密方法
CN112217641B (zh) 一种基于add支持读写功能的密文策略属性基加密方法
CN115051791B (zh) 一种基于密钥协商的高效三方隐私集合求交方法及系统
CN109962769A (zh) 基于门限盲签名的数据安全去重方法
WO2017049790A1 (zh) 一种基于多变量密码技术的在线离线签名系统及方法
CN114826703A (zh) 基于区块链的数据搜索细粒度访问控制方法及系统
CN114866225A (zh) 一种基于不经意伪随机秘密共享的超阈值多方隐私集合求交方法
CN115630713A (zh) 样本标识符不相同下的纵向联邦学习方法、设备和介质
Kosba et al. C $\emptyset $ C $\emptyset $: A Framework for Building Composable Zero-Knowledge Proofs
CN112737785B (zh) 一种用于复杂访问策略的属性基加密方法、系统及设备
Liu et al. On enabling attribute-based encryption to be traceable against traitors
Sadkhan et al. Hybrid Strategies for Choosing Suitable Cryptosystem Based on Game and Information Theories
CN108632257B (zh) 支持分层搜索的加密健康记录的获取方法和系统
CN113612805B (zh) 基于密文策略属性基的能源数据访问权限撤销方法
CN116488804A (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
GR01 Patent grant
GR01 Patent grant