CN111641501B - 一种去双线性对的属性加密方法 - Google Patents

一种去双线性对的属性加密方法 Download PDF

Info

Publication number
CN111641501B
CN111641501B CN202010341436.2A CN202010341436A CN111641501B CN 111641501 B CN111641501 B CN 111641501B CN 202010341436 A CN202010341436 A CN 202010341436A CN 111641501 B CN111641501 B CN 111641501B
Authority
CN
China
Prior art keywords
user
root
node
attribute
decryption
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
CN202010341436.2A
Other languages
English (en)
Other versions
CN111641501A (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.)
Wuhan University WHU
State Grid Shandong Electric Power Co Ltd
Original Assignee
Wuhan University WHU
State Grid Shandong Electric Power Co Ltd
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 Wuhan University WHU, State Grid Shandong Electric Power Co Ltd filed Critical Wuhan University WHU
Priority to CN202010341436.2A priority Critical patent/CN111641501B/zh
Publication of CN111641501A publication Critical patent/CN111641501A/zh
Application granted granted Critical
Publication of CN111641501B publication Critical patent/CN111641501B/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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

Landscapes

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

Abstract

本发明公开了一种去双线性对的属性加密方法,本发明使用密文策略的属性加密体系,所述去双线性对的属性加密方法包括系统初始化、用户密钥生成、数据加密和数据解密这四个核心步骤,以降低双线性对运算对基于属性加密方案的影响。本发明开创性地取消了双线性对在基于属性加密体系中的使用,可以较大程度地提高基于属性加密算法的效率;并且本发明使用了密文策略的属性加密体系,相较密钥策略的属性加密体系而言,更能保障加密方案的灵活性和动态性。

Description

一种去双线性对的属性加密方法
技术领域
本发明涉及信息安全技术领域,尤其涉及一种去双线性对的属性加密方法。
背景技术
加密算法作为保护数据隐私的重要工具之一,得到了工业界和学术界的广泛关注。当前加密算法根据其所基于的密钥体制可分为:对称加密算法和公钥加密算法。其中,公钥加密算法因有效解决密钥分发与管理问题而被用于多用户场景应用中,如物联网、云计算等
基于属性的加密(ABE,Attribute-Based Encryption)是在多用户和云计算环境下被广泛应用的一种加密体系,最初由Sahai和Waters提出,与身份标识加密算法(IBE,Identity-Based Cryptograph)不同的是,ABE算法将用户的私钥与密文由一组属性集关联起来(例如年龄、籍贯等都可定义为一组属性),只有密钥属性与密文属性相匹配的情况下,对应用户可以对密文进行解密操作。基于属性的加密体系有灵活性、动态性等特点,更适用于多用户、云计算环境下对细粒度访问控制的要求。基于属性的加密体系根据研究方向的不同可以分为密文策略的属性加密体系(CP-ABE)和密钥策略的属性加密体系(KP-ABE),前者(CP-ABE)将访问控制结构与密文相关联,将用户的属性嵌入用户私钥中,当且仅当用户私钥中的属性符合密文中的访问控制要求时,用户才能对该密文进行解密;而后者(KP-ABE)在嵌入方式上正好相反,将访问控制结构与用户私钥相关联,把属性集嵌入密文中,当密文的属性集满足用户私钥中的访问控制结构时,用户可以解密该密文。
然而,无论是密文策略的属性加密体系(CP-ABE)还是密钥策略的属性加密体系(KP-ABE),在具体的方案中一般都使用了双线性对来保障方案的安全性,然而,双线性对的运算在实现上有较大的时间损耗,使得目前的一些基于属性加密方案在效率上表现较差;
为了降低双线性对运算对基于属性加密(ABE)方案的影响,科研人员开始研究去双线性对的属性加密方案。日前,已经有去双线性对的KP-ABE方案被提出,但是没有针对密文策略的属性加密体系(CP-ABE)提出去双线性对的方案。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种去双线性对的属性加密方法,旨在解决现有技术中的没有针对密文策略的属性加密体系(CP-ABE)提出去双线性对的方案,使得现有技术中的密文策略的属性加密体系的运算在实现上有较大的时间损耗的问题。
本发明就上述技术问题而提出的去双线性对的属性加密方法包括以下步骤:
步骤S10:密钥生成中心进行初始化操作,公开公共参数{P,p,q,{T1,T2,...,Tn},MPK,H},保存随机值集合{{t1,t2,...,tn},s1,s2,s3},其中,p,q,P表示椭圆曲线参数,MPK表示系统主公钥,H表示安全哈希函数;{t1,t2,...,tn}表示随机数,{T1,T2,...,Tn}表示基于所述随机数{t1,t2,...,tn}生成椭圆曲线上的点;
步骤S200:所述密钥生成中心确定云计算环境下的各个用户U的用户属性集合
Figure GDA0003508431330000021
m≤n;
步骤S201:所述密钥生成中心随机选择aU∈{1,2,...,q-1},并为每个用户U计算部分私钥sk1=(s1-aU)mod q;
步骤S202:所述密钥生成中心从所述随机值集合{{t1,t2,...,tn},s1,s2,s3}中选取与所述用户属性集合SU中的每一个属性Aj对应的随机值tj,随机选取
Figure GDA0003508431330000022
计算
Figure GDA0003508431330000023
步骤S203:所述密钥生成中心分别为每个用户U计算部分私钥
Figure GDA0003508431330000024
Figure GDA0003508431330000025
生成每个用户U的用户私钥USK={sk1,sk2};
步骤S301:加密用户选择随机数x∈{1,2,...,q-1},计算密文数据C1=[x]P,计算密文数据
Figure GDA0003508431330000026
其中,所述加密用户为所述云计算环境下的所述用户U中的一个,M表示待加密消息;
步骤S302:所述加密用户令根节点的对应值为所述随机数x,以所述根节点对应值为所述随机数x构造访问控制数TREE,确定所述访问控制数TREE的各个叶子节点;
步骤S303:所述加密用户根据所述访问控制数TREE的叶子节点对应的属性集合
Figure GDA0003508431330000031
并查询对应的公共参数
Figure GDA0003508431330000032
并计算
Figure GDA0003508431330000033
以及
Figure GDA0003508431330000034
计算密文数据
Figure GDA00035084313300000315
其中,所述叶子节点对应的属性集合SL的长度为l,l≤n,leafi表示不同的叶子节点;
步骤S304:所述加密用户根据密文数据C1=[x]P、密文数据
Figure GDA0003508431330000035
Figure GDA0003508431330000036
以及密文数据
Figure GDA00035084313300000316
生成密文CT={C1,C2,{C′i}i∈{1,2,...,l}},并将所述密文CT进行广播,以完成对所述待加密消息M的加密;
步骤S401:解密用户U接收所述加密用户广播的所述密文CT,确定所述解密用户U属性集合SU,获取所述解密用户U属性集合SU中满足所述访问控制数TREE的各个叶子节点门限值的属性Ai,计算
Figure GDA0003508431330000037
以判定
Figure GDA0003508431330000038
所述解密用户U为所述云计算环境下的所述用户U中的一个;其中,
Figure GDA0003508431330000039
表示所述访问控制数TREE的各个叶子节点对应属性集合集合
Figure GDA00035084313300000310
的第i个属性所对应的那组密钥,i∈{1,2,...,l};
步骤S402:所述解密用户U计算中间值
Figure GDA00035084313300000317
以判定
Figure GDA00035084313300000311
Figure GDA00035084313300000312
步骤S403:所述解密用户U通过拉格朗日插值公式根据各个中间值Ii计算与所述根节点相关的中间值Iroot,其中,
Figure GDA00035084313300000313
Δi表示拉格朗日插值系数;
步骤S404:所述解密用户U根据所述中间值Iroot、部分私钥sk1以及密文数据C1计算中间结果R,以判定所述中间结果R=sk1C1+Iroot=[(s1-aU)x]P+[xaU]P=[xs1]P;
步骤S405:所述解密用户U通过以下公式
Figure GDA00035084313300000314
计算解密结果M′,在所述解密结果M′与所述待加密消息M相同时,判定所述密文CT的解密成功。
相应地,所述步骤S10具体包括以下步骤:
步骤S101:密钥生成中心生成椭圆曲线参数(Fp,p,q,P)、以及安全哈希函数H;
步骤S102:所述密钥生成中心选择随机数s1,s2,s3∈{1,2,...,q-1},并计算P1=[s1]P,P2=[s2]P,P3=[s3]P;令MSK=s1||s2||s3作为系统主私钥,MPK={P1,P2,P3}作为系统主公钥;
步骤S103:所述密钥生成中心对于属性空间S的每一个属性Ai,随机选择ti∈{1,2,...,q-1},并计算Ti=[ti]P。
步骤S104:公开公共参数{P,p,q,{T1,T2,...,Tn},MPK,H},保存随机值集合{{t1,t2,...,tn},s1,s2,s3}。
相应地,所述步骤S302具体包括:
步骤S302a:所述加密用户确定根节点root,令所述根节点对应值Qroot(0)=x,以所述对应值Qroot(0)=x为基础构造一个满足droot=thrroot-1的多项式Qroot(v),其中,Qroot(v)表示所述根节点root对应的多项式,次数为droot,thrroot表示所述根节点root的门限值,Qroot(0)表示变量v取0时对应的值:
步骤S302b:所述加密用户以所述根节点root的叶子节点为起始节点,自上而下层层构造非根节点node的多项式,以使得各个非根节点node满足公式满足Qnode(0)=Qparent(node)(index(node)),其中,parent(node)表示非根节点node的父节点,index(node)表示所述非根节点node相对于所述父节点的索引;
步骤S302c:重复所述步骤S302b,直至每一个叶子节点的值Qleaf(0)=Qparent(leaf)(index(leaf))被计算出来,完成访问控制数TREE的构建。
相应地,所述步骤S405具体包括:
所述解密用户U通过公式
Figure GDA0003508431330000041
计算解密结果M′,
在M′满足以下公式
Figure GDA0003508431330000042
Figure GDA0003508431330000043
时,判定所述解密结果M′与所述待加密消息M相同,所述密文CT的解密成功。
本发明与现有技术相比具有如下优点和有益效果:首先,本发明开创性地取消了双线性对在基于属性加密体系中的使用,可以较大程度地提高基于属性加密算法的效率。其次,本发明选择了访问控制树这一灵活动态的访问控制结构,在后续维护过程中方便访问控制策略的修改。最后,本发明使用了密文策略的属性加密体系,相较密钥策略的属性加密体系而言,更能保障加密方案的灵活性和动态性。
附图说明
图1为本发明提供的去双线性对的属性加密方法的流程示意图;
图2为本发明的去双线性对的属性加密方法中涉及系统初始化的流程示意图;
图3为本发明的去双线性对的属性加密方法中涉及用户密钥生成的流程示意图;
图4为本发明的去双线性对的属性加密方法中涉及数据加密的流程示意图;
图5为本发明的去双线性对的属性加密方法中涉及数据解密的流程示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的符号描述如下:
p:p为素数;
mod p:模p运算;例如,19 mod 7=5;
Fp:特征为p的素数域;
a,b:Fq中的元素,它们定义Fq上的一条椭圆曲线E;
E:椭圆曲线,由上述参数定义;
O:无穷远点;
E(Fp):Fp上椭圆曲线E的所有有理点(包括无穷远点O)组成的集合;
P:椭圆曲线上的一个基点,其阶为素数;
q:基点P的阶;
H:安全的哈希函数;其输入为E(Fp)上有理点的横、纵坐标的拼接,例如G=(xG,yG)∈E(Fp),则输入xG||yG,输出为任意长度比特串{0,1}*;MSK:系统主私钥;
MPK:系统主公钥;
USK:用户私钥;
A1,A2,...,An:本发明中使用到的属性;
S:属性空间,即全属性集合,包含本发明中会涉及到的所有属性{A1,A2,...,An};
n:属性空间S的属性个数;
U:泛指单个用户;
SU:用户拥有的属性集;
m:SU中的元素个数;
TREE:访问控制树;
root:访问控制树TREE的根节点。
node:泛指访问控制树TREE的非根节点。其关联符号和定义包括:
Qnode(v):节点node对应的多项式;
v:Qnode(v)多项式中的变量;
dnode:节点node对应多项式的次数;
thrnode:节点node对应的门限值,在本方案中,对于叶子节点其门限值默认为1,非叶子节点的门限值意指“需要满足的子节点的个数”,如门限值为2,即指当且仅当其子节点至少有两个满足要求时,该节点才可以被解密。
parent(node):指节点node的父节点;
index(node):指节点node相对其父节点的索引,从左往右依次为1,2,3,...
leaf:泛指访问控制树TREE的叶子节点,本发明中使用leafi指代具体的叶子节点。
SL:树TREE中所有叶子节点对应的属性集合,其长度为/。
[u]G:椭圆曲线E中元素G的u倍,其中u∈{1,2,...,q-1}。
KGC:密钥生成中心。
M:待加密消息。
CT:加密阶段得到的密文。
M′:解密结果。
可理解的是,基于属性的加密体系有灵活性、动态性等特点,更适用于多用户、云计算环境下对细粒度访问控制的要求。然而,目前基于属性的加密方案在具体实现时一般都使用了双线性对来保障方案的安全性,双线性对的运算在实现上有较大的时间损耗,使得目前的一些基于属性加密方案在效率上表现较差。为了降低双线性对运算对基于属性加密(ABE)方案的影响,本发明提出一种去双线性对的属性加密方法,并且使用密文策略的属性加密体系(CP-ABE),降低双线性对运算对基于属性加密(ABE)方案的影响。
参考图1,本发明的去双线性对的属性加密方法的核心包括四个算法:系统初始化(Setup)、用户密钥生成(KeyGen)、数据加密(Encryption)、数据解密(Decryption)。在本发明内容中,除了部分随机生成数和中间结果,其他符号和定义均在“符号和定义”部分中给出,下面不再重复说明。
针对本发明的目的,本发明提供一种实施例,本实施例的去双线性对的属性加密方法在云计算环境下进行,云计算环境下包括一个密钥生成中心(KGC,key generationcenter)和多个用户端(下文泛指用户)。
本实施例的去双线性对的属性加密方法包括四个阶段:系统初始化(Setup)、用户密钥生成(KeyGen)、数据加密(Encryption)和数据解密(Decryption)。
系统初始化(Setup)
本算法为本实施例的系统初始化部分,参考图2,执行主体为密钥生成中心KGC;
步骤101:KGC产生本专利中使用的椭圆曲线参数(Fp,p,q,P)以及安全的哈希函数H(详见符号及定义);
步骤102:KGC选择随机数s1,s2,s3∈{1,2,...,q-1},并计算P1=[s1]P,P2=[s2]P,P3=[s3]P。令MSK=s1||s2||s3作为系统主私钥,MPK={P1,P2,P3}作为系统主公钥;
步骤103:对于属性空间S的每一个属性Ai,KGC随机选择ti∈{1,2,...,q-1},并计算Ti=[ti]P;
步骤104:KGC公开公共参数{P,p,q,{T1,T2,...,Tn},MPK,H},秘密保存{{t1,t2,...,tn},s1,s2,s3}。
用户密钥生成(KeyGen)
本算法为本实施例的用户密钥生成部分,参考图3,执行主体为密钥生成中心KGC;对于每个用户U,均对应一个用户属性集
Figure GDA0003508431330000081
m小于等于n;
步骤201:对于每个用户U,KGC随机选择aU∈{1,2,...,q-1},并计算部分私钥sk1=(s1-aU)mod q;
步骤202:对于用户属性集SU中的每一个属性Aj(j∈{U1,U2,...,Um}),KGC查找系统初始化(Setup)步骤中对应的随机值tj,随机选取
Figure GDA0003508431330000082
Figure GDA0003508431330000083
然后计算
Figure GDA0003508431330000084
步骤203:KGC产生用户部分私钥
Figure GDA0003508431330000085
随后生成用户私钥USK={sk1,sk2}。
数据加密(Encryption)
本算法为本实施例的加密部分,参考图4,执行主体为加密用户,所述加密用户为所述云计算环境下的用户U中的某一个用户,由加密用户对消息M进行加密并广播到云计算环境下的用户组中,具体步骤如下:
步骤301:加密用户选择随机数x∈{1,2,...,q-1}并计算C1=[x]P以及
Figure GDA0003508431330000086
步骤302:在本实施例中,访问控制树TREE的每一个节点均与一个多项式相对应。不失一般性,记访问控制树TREE的非根节点为node,对应多项式为Qnode(v),其对应变量为v,该多项式的次数记为dnode,对应的门限值记为thrnode,且满足dnode=thrnode-1,门限的具体解释见“符号与定义”,跟节点root有相同的性质,不再赘述。
加密用户根据该性质和上述选择的随机数x构造对应的访问控制树TREE,具体步骤如下:
步骤302a:对于根节点root,令Qroot(0)=x,在此基础上构造一个满足droot=thrroot-1的多项式Qroot(v)。其中Qroot(v)表示根节点root对应的多项式,次数为droot,thrroot表示根节点root的门限值,Qroot(0)表示变量v取0时对应的值。
步骤302b:从根节点root的子节点开始,自上而下层层构造非根节点的多项式,对于非根节点node,应满足Qnode(0)=Qparent(node)(index(node)),然后在此要求下构造一个满足门限要求的多项式。其中parent(node)表示非根节点node的父节点,index(node)表示node节点相对于其父节点的索引。
步骤302c:重复步骤302b,直到每一个叶子节点的值Qleaf(0)=Qparent(leaf)(index(leaf))被计算出来,由于叶子节点的门限值为1(见符号与定义的解释),常数项Qleaf(0)的值即为叶子节点对应“多项式”的值。
步骤303:对于树TREE的所有叶子节点,对应一个属性集合
Figure GDA0003508431330000091
Figure GDA0003508431330000092
加密用户查询对应的公共参数
Figure GDA0003508431330000093
并计算
Figure GDA0003508431330000094
Figure GDA0003508431330000095
以及
Figure GDA0003508431330000096
并令
Figure GDA0003508431330000097
Figure GDA0003508431330000098
其中属性集合SL的长度为l,其值小于等于n,leafi表示不同的叶子节点。
步骤304:加密用户产生密文CT={C1,C2,{C′i}i∈{1,2,...,l}},并将产生的密文广播到当前云计算环境系统下的所有用户。
数据解密(Decryption)
本算法为本实施例的数据解密部分,参考图5,执行主体为解密用户,所述解密用户为所述云计算环境下的用户U中的某一个用户;
可理解的是,对于每个解密用户U,其拥有的属性集合SU中若存在属性Ai与访问控制树TREE叶子节点中的属性对应,则解密用户U可以解密出密文数据C′i;若其拥有的属性集合满足访问控制树TREE的所有门限要求,则解密用户U可以根据解出的多个密文数据和拉格朗日插值公式,自下而上推出与根节点初值Qroot(0)相关的中间结果[Qroot(0)]P1,进而得出解密结果M′。不妨假设解密用户U拥有满足访问控制树TREE的门限要求的属性集合,其解密具体过程描述如下:
步骤401:解密用户U收到密文CT之后,结合自己拥有的属性集合SU,对SU中每个与SL(树TREE中所有叶子节点对应的属性集合)的属性Ai,计算
Figure GDA0003508431330000101
其中,
Figure GDA0003508431330000102
表示所述访问控制数TREE的各个叶子节点对应属性集合集合
Figure GDA0003508431330000103
的第i个属性(即
Figure GDA0003508431330000104
)所对应的那组密钥,i∈{1,2,...,l};
可以证明:
Figure GDA0003508431330000105
步骤402:对上述属性Ai,可以计算
Figure GDA00035084313300001015
实际上,根据所述步骤401的证明,
Figure GDA0003508431330000106
步骤403:由于解密用户U满足访问控制树TREE的门限要求,通过拉格朗日插值公式,可以由与叶子节点leafi同一分支下至少
Figure GDA0003508431330000107
个点得到parent(leafi)节点对应的多项式
Figure GDA0003508431330000108
其中parent(leafi)表示叶子节点leafi的父节点,
Figure GDA0003508431330000109
表示该父节点的门限值。
步骤404:由所述步骤403中拉格朗日插值公式的使用,自下而上层层推进,最终可以计算得到与根节点相关的中间值
Figure GDA00035084313300001010
Figure GDA00035084313300001011
其中,Δi表示拉格朗日插值系数。然后,计算解密中间结果R=sk1C1+Iroot=[(s1-aU)x]P+[xaU]P=[xs1]P,最后计算解密结果
Figure GDA00035084313300001012
该算法的正确行可以做如下证明:
Figure GDA00035084313300001013
Figure GDA00035084313300001014
故该解密结果可以证明是正确的,所述密文CT的解密成功。
本实施例开创性地取消了双线性对在基于属性加密体系中的使用,可以较大程度地提高基于属性加密算法的效率;本实施例选择了访问控制树这一灵活动态的访问控制结构,在后续维护过程中方便访问控制策略的修改;本实施例使用了密文策略的属性加密体系,相较密钥策略的属性加密体系而言,更能保障加密方案的灵活性和动态性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (3)

1.一种去双线性对的属性加密方法,其特征在于,所述方法包括以下步骤:
步骤S10:密钥生成中心进行初始化操作,公开公共参数{P,p,q,{T1,T2,...,Tn},MPK,H},保存随机值集合{{t1,t2,...,tn},s1,s2,s3},其中,p,q,P表示椭圆曲线参数,MPK表示系统主公钥,H表示安全哈希函数;{t1,t2,...,tn}表示随机数,{T1,T2,...,Tn}表示基于所述随机数{t1,t2,...,tn}生成的椭圆曲线上的点;
步骤S200:所述密钥生成中心确定云计算环境下的各个用户U的用户属性集合
Figure FDA0003508431320000011
步骤S201:所述密钥生成中心随机选择aU∈{1,2,...,q-1},并为每个用户U计算部分私钥sk1=(s1-aU)mod q;
步骤S202:所述密钥生成中心从所述随机值集合{{t1,t2,...,tn},s1,s2,s3}中选取与所述用户属性集合SU中的每一个属性Aj对应的随机值tj,随机选取
Figure FDA0003508431320000012
计算
Figure FDA0003508431320000013
步骤S203:所述密钥生成中心分别为每个用户U计算部分私钥
Figure FDA0003508431320000014
Figure FDA0003508431320000015
生成每个用户U的用户私钥USK={sk1,sk2};
步骤S301:加密用户选择随机数x∈{1,2,...,q-1},计算密文数据C1=[x]P,计算密文数据
Figure FDA0003508431320000016
其中,所述加密用户为所述云计算环境下的所述用户U中的一个,M表示待加密消息;
步骤S302:所述加密用户令根节点的对应值为所述随机数x,以所述根节点对应值为所述随机数x构造访问控制数TREE,确定所述访问控制数TREE的各个叶子节点;
步骤S303:所述加密用户根据所述访问控制数TREE的叶子节点对应的属性集合
Figure FDA0003508431320000017
并查询对应的公共参数
Figure FDA0003508431320000018
并计算
Figure FDA0003508431320000019
以及
Figure FDA00035084313200000110
计算密文数据
Figure FDA00035084313200000111
其中,所述叶子节点对应的属性集合SL的长度为l,l≤n,leafi表示不同的叶子节点;
步骤S304:所述加密用户根据密文数据C1=[x]P、密文数据
Figure FDA00035084313200000112
Figure FDA0003508431320000021
以及密文数据
Figure FDA0003508431320000022
生成密文CT={C1,C2,{C′i}i∈{1,2,...,l}},并将所述密文CT进行广播,以完成对所述待加密消息M的加密;
步骤S401:解密用户U接收所述加密用户广播的所述密文CT,确定所述解密用户U属性集合SU,获取所述解密用户U属性集合SU中满足所述访问控制数TREE的各个叶子节点门限值的属性Ai,计算
Figure FDA0003508431320000023
以判定
Figure FDA0003508431320000024
其中,所述解密用户U为所述云计算环境下的所述用户U中的一个;其中,
Figure FDA0003508431320000025
表示所述访问控制数TREE的各个叶子节点对应属性集合集合
Figure FDA0003508431320000026
的第i个属性所对应的那组密钥,i∈{1,2,...,l};
步骤S402:所述解密用户U计算中间值
Figure FDA0003508431320000027
以判定
Figure FDA0003508431320000028
Figure FDA0003508431320000029
步骤S403:所述解密用户U通过拉格朗日插值公式根据各个中间值Ii计算与所述根节点相关的中间值Iroot,其中,
Figure FDA00035084313200000210
Δi表示拉格朗日插值系数;
步骤S404:所述解密用户U根据所述中间值Iroot、部分私钥sk1以及密文数据C1计算中间结果R,以判定所述中间结果R=sk1C1+Iroot=[(s1-aU)x]P+[xaU]P=[xs1]P;
步骤S405:所述解密用户U通过以下公式
Figure FDA00035084313200000211
计算解密结果M′,在所述解密结果M′与所述待加密消息M相同时,判定所述密文CT的解密成功;
其中,所述步骤S10具体包括以下步骤:
步骤S101:密钥生成中心生成椭圆曲线参数(Fp,p,q,P)、以及安全哈希函数H;
步骤S102:所述密钥生成中心选择随机数s1,s2,s3∈{1,2,...,q-1},并计算P1=[s1]P,P2=[s2]P,P3=[s3]P;令MSK=s1||s2||s3作为系统主私钥,MPK={P1,P2,P3}作为系统主公钥;
步骤S103:所述密钥生成中心对于属性空间S的每一个属性Ai,随机选择ti∈{1,2,...,q-1},并计算Ti=[ti]P;
步骤S104:公开公共参数{P,p,q,{T1,T2,...,Tn},MPK,H},保存随机值集合{{t1,t2,...,tn},s1,s2,s3}。
2.如权利要求1所述的方法,其特征在于,所述步骤S302具体包括:
步骤S302a:所述加密用户确定根节点root,令所述根节点对应值Qroot(0)=x,以所述对应值Qroot(0)=x为基础构造一个满足droot=thrroot-1的多项式Qroot(v),其中,Qroot(v)表示所述根节点root对应的多项式,次数为droot,thrroot表示所述根节点root的门限值,Qroot(0)表示变量v取0时对应的值;
步骤S302b:所述加密用户以所述根节点root的叶子节点为起始节点,自上而下层层构造非根节点node的多项式,以使得各个非根节点node满足公式满足Qnode(0)=Qparent(node)(index(node)),其中,parent(node)表示非根节点node的父节点,index(node)表示所述非根节点node相对于所述父节点的索引;
步骤S302c:重复所述步骤S302b,直至每一个叶子节点的值Qleaf(0)=Qparent(leaf)(index(leaf))被计算出来,完成访问控制数TREE的构建。
3.如权利要求1或2所述的方法,其特征在于,所述步骤S405具体包括:
所述解密用户U通过公式
Figure FDA0003508431320000031
计算解密结果M′,
在M′满足以下公式
Figure FDA0003508431320000032
Figure FDA0003508431320000033
时,判定所述解密结果M′与所述待加密消息M相同,所述密文CT的解密成功。
CN202010341436.2A 2020-04-27 2020-04-27 一种去双线性对的属性加密方法 Active CN111641501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010341436.2A CN111641501B (zh) 2020-04-27 2020-04-27 一种去双线性对的属性加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010341436.2A CN111641501B (zh) 2020-04-27 2020-04-27 一种去双线性对的属性加密方法

Publications (2)

Publication Number Publication Date
CN111641501A CN111641501A (zh) 2020-09-08
CN111641501B true CN111641501B (zh) 2022-04-19

Family

ID=72331874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010341436.2A Active CN111641501B (zh) 2020-04-27 2020-04-27 一种去双线性对的属性加密方法

Country Status (1)

Country Link
CN (1) CN111641501B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100083A (zh) * 2015-07-06 2015-11-25 河海大学 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN107181590A (zh) * 2017-04-14 2017-09-19 南京邮电大学 策略隐藏和外包解密下的抗泄露cp‑abe方法
CN109714157A (zh) * 2018-12-07 2019-05-03 南京信息职业技术学院 一种抗密钥暴露属性加密的sdn跨域访问控制方法
CN110247767A (zh) * 2019-06-28 2019-09-17 北京工业大学 雾计算中可撤销的属性基外包加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160241399A1 (en) * 2013-03-15 2016-08-18 Arizona Board Of Regents On Behalf Of Arizona State University Efficient Privacy-Preserving Ciphertext-Policy Attribute Based Encryption and Broadcast Encryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100083A (zh) * 2015-07-06 2015-11-25 河海大学 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN107181590A (zh) * 2017-04-14 2017-09-19 南京邮电大学 策略隐藏和外包解密下的抗泄露cp‑abe方法
CN109714157A (zh) * 2018-12-07 2019-05-03 南京信息职业技术学院 一种抗密钥暴露属性加密的sdn跨域访问控制方法
CN110247767A (zh) * 2019-06-28 2019-09-17 北京工业大学 雾计算中可撤销的属性基外包加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于椭圆曲线同源的公钥密码机制;胡进等;《北京工业大学学报》;20110615;第37卷(第06期);918-919 *

Also Published As

Publication number Publication date
CN111641501A (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
Xu et al. Secure fine-grained access control and data sharing for dynamic groups in the cloud
CN111106936B (zh) 一种基于sm9的属性加密方法与系统
US7340054B2 (en) Information processing method, decrypting method, information processing apparatus, and computer program
Guo et al. TABE-DAC: Efficient traceable attribute-based encryption scheme with dynamic access control based on blockchain
Chen et al. A novel key management scheme for dynamic access control in a user hierarchy
CN111740988B (zh) 云存储数据加密方法、系统和存储介质
EP2464051A1 (en) Function cipher application system
Nikooghadam et al. Efficient utilization of elliptic curve cryptosystem for hierarchical access control
EP3020157A1 (en) System for sharing a cryptographic key
CN112733177B (zh) 基于全域哈希的层次标识密码加密方法
Seo et al. Revocable hierarchical identity-based encryption
Hoang et al. Forward-secure data outsourcing based on revocable attribute-based encryption
Mittal et al. A quantum secure ID-based cryptographic encryption based on group rings
CN108471417B (zh) 一种云环境下基于层次属性的关键字查询方法
CN116707804B (zh) 增强ff1格式保留加密安全性的方法及设备
CN109359475B (zh) 一种支持多值属性的密文策略属性基加密方法
JP2010160235A (ja) 検索システム、端末装置、データベース装置、検索方法及びプログラム
CN109495478B (zh) 一种基于区块链的分布式安全通信方法及系统
Lee et al. Identity-based revocation from subset difference methods under simple assumptions
CN111641501B (zh) 一种去双线性对的属性加密方法
Guo et al. Certificateless public key encryption scheme with hybrid problems and its application to internet of things
CN102347835A (zh) 更新私钥的方法及设备、获得会话密钥的方法和通信设备
CN112733176A (zh) 基于全域哈希的标识密码加密方法
Ge et al. A secure fine-grained micro-video subscribing system in cloud computing
Chandrasekaran et al. Efficient pairing computation for attribute based encryption using MBNR for big data in cloud

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