CN113630245A - 一种基于门限属性的数据加密方法和系统 - Google Patents
一种基于门限属性的数据加密方法和系统 Download PDFInfo
- Publication number
- CN113630245A CN113630245A CN202110818351.3A CN202110818351A CN113630245A CN 113630245 A CN113630245 A CN 113630245A CN 202110818351 A CN202110818351 A CN 202110818351A CN 113630245 A CN113630245 A CN 113630245A
- Authority
- CN
- China
- Prior art keywords
- attribute
- data
- private key
- threshold
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000013507 mapping Methods 0.000 claims abstract description 22
- 238000012790 confirmation Methods 0.000 claims description 2
- 230000008520 organization Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 4
- 238000000354 decomposition reaction Methods 0.000 abstract 1
- 238000007792 addition Methods 0.000 description 5
- 239000000654 additive Substances 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
基于门限属性的数据加密方法及系统:有双线性映射e:G1×G2→GT;当采用门限属性集S=(A1,…,Am|t,m)对数据加密时,m≥2,m≥t≥1,加密方将[1,n‑1]内随机选择的整数z映射到群G1或G2中的元GS,以GS为公钥对数据加密;按(t,m)门限秘密共享将z分解为[0,n‑1]内的m个秘密份额z1,…,zm,利用属性A1,…,Am对应的公钥分别对z1,…,zm加密;解密时,密码服务器和用户方利用用户的t个属性的私钥解密得到z1,…,zm密文中的t个,恢复出z;利用z计算得到S对应的私钥dS=[s]GA或dS=[s‑1]GS;利用dS解密加密的数据。系统包括服务端的属性私钥生成器、属性及属性私钥秘密份额管理器、密钥服务器、密码服务器,用户端的数据解密客户端程序、密钥客户端程序和密码组件。
Description
技术领域
本发明属于密码技术领域,特别是一种基于门限属性的数据加密方法和系统。
背景技术
基于属性的加密(Attribute Based Encryption,ABE)是一种公钥密码体制,它将用户属性和密钥关联,将数据加密和解密与基于属性的控制结构相关联,确保只有获得相应属性的用户才能够解密数据,实现对数据解密的控制。基于属性的加密又分为密文策略-基于属性的加密(CP-ABE)和密钥策略-基于属性的加密(KP-ABE)。
基于属性的加密通常是基于双线性映射(bilinear mapping,也称配对运算,Pairing)的算法,其中双线性映射(配对运算)为:
e:G1×G2→GT时,其中G1、G2(配对或双线性映射的群)是加法循环群,GT是一个乘法循环群,G1、G2、GT的阶是素数n;
若P、Q、R分别为G1、G2中的元,则e(P,Q)为GT中的元,且:
e(P+R,Q)=e(P,Q)e(R,Q),
e(P,Q+R)=e(P,Q)e(P,R),
e([a]P,[b]Q)=e(P,Q)ab。
这里a、b是[0,n-1]中的一个整数,[a]P、[b]Q表示点P、Q的多倍点加运算或数乘运算。
目前的基于属性的加密方案的一个比较突出的问题是算法非常复杂,一般的工程技术人员不容易搞懂,相应的实施难度也较大。针对此问题,本专利申请的发明人提出了一种易于实施的基于属性的数据加密方法和系统(专利申请号:202110286075.0),但此技术方案存在的一个问题是不支持基于门限属性的数据加密,这里所说的基于门限属性的数据加密是指一种基于m个属性S1,…,Sm的数据加密,它具有如下特性:若用户具有S1,…,Sm中的t个属性,其中t≤m(通常t<m),则能够解密解密被加密的数据,具有这种特性的属性S1,…,Sm表述为(S1,…,Sm|t,m)。
发明内容
本发明的目的是提出一种基于门限属性的数据加密技术方案,以克服现有技术方案存在的不足。
为了实现以上目的,本发明在“一种基于属性的数据加密方法和系统”(专利申请号:202110286075.0)基础上提出一种基于门限属性的数据加密方法及相应的系统。
本发明的技术方案涉及双线性映射(配对运算)e:G1×G2→GT,其中,G1、G2为加法群,GT为乘法群;群G1、G2、GT的阶为素数n(G1、G2通常是椭圆曲线点群,GT是阶为n的乘法群);
在本发明的描述中,[k]P,其中k为整数,表示针对双线性映射中加法群(G1、G2)中的元P的多倍点加(数乘)运算,即若k为正整数,[k]P表示k个P相加;若k负正整数,[k]P表示|k|个P相加得到的元的加法逆元;若k为零,则[k]P是零元。
在本发明的描述中,如无特别说明,整数的逆(比如,a-1,a为非0整数)都是指该整数针对双线性映射中的群(G1、G2、GT)的阶n的模n乘法逆,或该整数的模n余数的模n乘法逆(二者等价)。
本发明提出的基于门限属性的数据加密方法涉及服务端的属性私钥生成器、密钥服务器、属性及属性私钥秘密份额管理器,用户端的用户、密钥客户端程序和密码组件;
所述属性私钥生成器用于生成用户属性所对应的私钥即属性私钥;所述用户属性是反映用户特征的信息(如性别、职务、职称、角色等);
所述密钥服务器是用户申请属性私钥的秘密份额时与用户端的密钥客户端程序进行交互的服务端的系统组件;所述属性私钥是用户属性所对应的私钥;所述属性私钥的秘密份额指服务端和用户端分别保存的与属性私钥有关并能恢复属性私钥的秘密;
所述属性及属性私钥秘密份额管理器对用户的属性以及属性私钥的秘密份额进行管理;所述属性及属性私钥秘密份额管理器有用户数据库,用于存放用户属性以及属性私钥的秘密份额(secret share);
所述用户是具有用户属性、需要使用属性私钥(的秘密份额)进行数据解密操作处理的个人、机构或系统;
所述密钥客户端程序是用户申请属性私钥的秘密份额时所使用的与密钥服务器进行交互的用户端程序;
所述密码组件是用户端进行密码运算、存储用户密钥(属性私钥之外的其他密钥)以及存储属性私钥的秘密份额的软件组件或软硬件结合的组件;
所述用户、密钥客户端程序和密码组件统称为用户方;
所述基于门限属性的数据加密方法涉及双线性映射(配对运算)e:G1×G2→GT(即双线性映射e(V,T),其中V是群G1中的元,T是群G2中的元,而e(V,T)是群GT中元);G1、G2为加法群(通常是椭圆曲线点群),GT为乘法群;群G1、G2、GT的阶为素数n;群G1、G2的生成元分别为P1、P2;
针对以上所述双线性映射还定义有ei(V,T),i=1或2:
e1(V,T)=e(V,T),其中V是群G1中的元,T是群G2中的元;
e2(V,T)=e(T,V),其中V是群G2中的元,T是群G1中的元;
所述属性私钥生成器有一个[1,n-1]内的主密钥(主私钥)s,有一个主公钥Ppub=[s]Pj,j=3-i,其中[]表示对群G1和G2中的元的多倍点加运算(数乘运算);
(若这里取i=1,那么,后续的i都为1,后续的j都为3-i=2;若这里取i=2,那么,后续的i都为2,后续的j都为3-i=1)
一个用户属性A(通过其名字或标识符)被映射到群Gi中的一个元GA,i=1或2;GA称为属性A对应的公钥即属性公钥;用户属性A同时对应有一个私钥即属性私钥dA,dA=[s]GA或dA=[s-1]GA,其中s-1是s的模n乘法逆(即(s-1s)mod n=1);
一个用户的用户属性A所对应的私钥dA(在用户申请属性私钥的秘密份额时)被分解为dA=dAs+dAu,或者被化解为dA=[dAu]dAs或dA=[dAs]dAu,其中dAs作为属性私钥dA的服务端的秘密份额被保存在属性及属性私钥秘密份额管理器的用户数据库中的用户信息中,dAu作为属性私钥dA的用户端(或用户方)的秘密份额被保存在用户端的密码组件中;
当数据加密方使用门限属性集S=(A1,…,Am|t,m)对数据加密时,其中m≥2,m≥t≥1,数据加密方按如下方式进行数据加密(使用门限属性集S对数据加密,即若用户拥有属性A1,…,Am中的任意t个,则用户能够解密被加密的数据):
在[1,n-1]内随机选择一个整数z,将z映射到群Gi中的一个元GS(将z映射到群Gi中的一个元GS的方式与将一个属性A映射到Gi中的一个元GA的方式不必相同),其中i=1或2,GS称为门限属性集S=(A1,…,Am|t,m)对应的公钥;
将GS作为一个非门限属性集或一个(普通)属性对应的公钥,按照使用非门限属性集对应的公钥或属性公钥对数据加密的方式,使用GS对数据进行加密(即按202110286075.0中所述的方式使用公钥加密数据的方式对数据加密);
以n为模运算的模,按(t,m)门限秘密共享将z分解为[0,n-1]内的m个整数秘密份额z1,…,zm(即利用z1,…,zm中的任何t个能恢复出z);
利用属性A1,…,Am对应的公钥分别对z1,…,zm加密得到z1,…,zm的密文enc_z1,…,enc_zm(即按202110286075.0中所述的方式,分别用属性A1的公钥对z1加密得到密文enc_z1,…,用属性Am的公钥对zm加密得到密文enc_zm)(用一个属性的公钥对数据加密,相当于用仅包含一个属性的非门限属性集对应的公钥对数据加密,此时,非门限属性集的公钥即是其包含的唯一属性的属性公钥,即单个属性可以看作仅包含一个属性的非门限属性集);
z1,…,zm的密文enc_z1,…,enc_zm与被加密的数据一起形成最终的加密数据;
所述数据加密方是用户方或用户方之外的其他系统或实体;所述数据加密方使用其密码组件对数据进行加密运算。
对于以上所述基于门限属性的数据加密方法,当使用多个属性集对数据进行加密、且多个属性集中存在门限属性集时,其中的每个门限属性集对应一个公钥,门限属性集对应的公钥被当作非门限属性集对应的公钥用于对数据进行加密。
对于以上所述基于门限属性的数据加密方法,当使用门限属性集与用户属性一起对数据进行加密时(比如,一个或多个门限属性集与其他用户属性一起构成了一个门限或非门限属性集的构成元素,它们所构成的门限或非门限属性集用于对数据加密),其中的每个门限属性集对应一个公钥,每个门限属性集被当作一个属性,门限属性集对应的公钥被当作属性对应的公钥(即被当作属性公钥)用于对数据进行加密。
对于以上所述基于门限属性的数据加密方法,有如下对应的数据解密方法:
所述数据解密方法还涉及服务端的密码服务器和用户端的与密码服务器交互、进行数据解密操作处理的数据解密客户端程序;所述数据解密客户端程序调用用户端的密码组件进行数据解密运算;用户方和服务端的密码服务器构成了数据解密方;
当数据解密方解密采用了门限属性集S=(A1,…,Am|t,m)加密的数据时,密码服务器先检查确认用户至少有m个属性A1,…,Am中的t个,若检查确认通过则继续,否则数据解密失败;
数据解密方从加密数据中得到z1,…,zm的密文enc_z1,…,enc_zm;
数据解密方利用用户的属性A1,…,Am中的t个属性的属性私钥的秘密份额,通过交互解密enc_z1,…,enc_zm中的t个,得到z1,…,zm中的t个的明文,即得到z的t份秘密份额(即按202110286075.0中所述的方式,使用t个属性的属性私钥的秘密份额分别解密对应的z的t份秘密份额)(用一个属性私钥对数据解密,相当于用仅包含一个属性的非门限属性集对应的私钥对数据解密,此时,非门限属性集的私钥即是其包含的唯一属性的属性私钥,即单个属性可以看作仅包含一个属性的非门限属性集);
数据解密方利用得到z的t份秘密份额恢复出z;
数据解密方或属性私钥生成系统利用恢复出的z,按如下方式计算得到门限属性集S=(A1,…,Am|t,m)对应的私钥dS(即从公钥计算得到私钥的方式是一致的):
若一个属性A的属性私钥是dA=[s]GA,则dS=[s]GS;
若一个属性A的属性私钥是dA=[s-1]GA,则dS=[s-1]GS;
所述属性私钥生成系统包括密钥服务器和属性私钥生成器;
数据解密方将门限属性集S=(A1,…,Am|t,m)对应的私钥dS当作一个非门限属性集或一个属性对应的私钥,使用dS对加密数据进行解密。
对于以上所述针对基于门限属性的数据加密方法的数据解密方法,若门限属性集S=(A1,…,Am|t,m)对应的私钥dS是由非保密的公开参数计算得到,则由数据解密方或属性私钥生成系统利用恢复出的z计算得到门限属性集S=(A1,…,Am|t,m)对应的私钥dS,否则,由属性私钥生成系统计算得到S=(A1,…,Am|t,m)对应的私钥dS。
对于以上所述基于门限属性的数据加密方法所对应的数据解密方法,当解密使用多个属性集加密的数据、且多个属性集中存在门限属性集时,其中的每个门限属性集对应一个私钥,门限属性集对应的私钥被当作非门限属性集对应的私钥用于对加密数据的解密。
对于以上所述基于门限属性的数据加密方法所对应的数据解密方法,当解密一个使用门限属性集和用户属性一起加密的数据时,其中的每个门限属性集对应一个私钥,门限属性集对应的私钥被当作属性私钥用于对加密数据的解密。
在以上所述基于门限属性的数据加密方法及其对应的数据解密方法的基础上,可构建相应的基于门限属性的数据加密系统,系统包括服务端的属性私钥生成器、密钥服务器、属性及属性私钥秘密份额管理器,密码服务器,用户端的用户、密钥客户端程序和密码组件,以及数据加密方的密码组件;当使用门限属性集S=(A1,…,Am|t,m)对数据进行加密时,数据加密方使用密码组件、采用所述基于门限属性的数据加密方法对数据进行加密;
当对使用了门限属性集S=(A1,…,Am|t,m)加密的数据进行解密时,用户端还有数据解密客户端程序,服务端的密码服务器和用户端的数据解密客户端程序、密码组件及用户构成了数据解密方,数据解密方采用所述基于门限属性的数据加密方法对应的数据解密方法对加密数据进行解密。
从以上描述可以看到,本发明的基于门限属性的数据加密方法及系统,能在发明“一种基于属性的数据加密方法和系统”(专利申请号:202110286075.0)的基础上,实现基于门限属性的数据加密和解密。在本发明中,一个门限属性集既可以作为一个属性集像非门限属性集一样使用,又可以作为一个属性像一个普通用户属性一样使用(实际上一个非门限属性集也可以像一个普通用户属性一样使用,这是本发明以及202110286075.0的一个特点)。
具体实施方式
下面对本发明的具体实施方式进行描述,有关实施方式不包括所有可能的实施方式,不作为对本发明的限定。
本发明是在“一种基于属性的数据加密方法和系统”(专利申请号:202110286075.0)的基础上提出的发明,因此,所有涉及202110286075.0部分的实施方式不变,而在此基础上进一步实施本发明,其中的关键包括:如何将z映射到群Gi中的一个元GS,i=1或2,如何进行门限属性私钥dS的计算,以及如何实施针对z的门限秘密共享。
将[1,n-1]中的整数z映射到群Gi中的一个元GS的方式,i=1或2,与将属性A映射到群Gi中的一个元GA的方式不必相同,二者是独立的,当然,相同也无妨,下面给出几种可能的实施方式(但不是全部)。
将z映射到群Gi中的一个元GS的方式一、
将z映射到群Gi中的一个元GS的一种方式是将z作为一个属性标识(类似于属性A的属性标识),然后采用202110286075.0中的将属性A映射到Gi中的一个元GA的方式,将z映射到群Gi中的一个元GS。
即便如此,由于将属性A映射到Gi中的一个元GA有多种方式,因此,将z映射到群Gi中的一个元GS的方式与将属性A映射到群Gi中的一个元GA的方式不必相同。
将z映射到群Gi中的一个元GS的方式二、
把门限属性集当作一个属性,把z当作将一个属性(也即门限属性集)映射到[1,n-1]后得到的结果,然后采用202110286075.0中的先将一个属性映射为[1,n-1]中的一个整数,然后利用映射得到整数计算得到群Gi中的一个元的方式,利用z计算得到群Gi中的一个元GS,比如,
GS=[z]Pi+Pit,其中Pi是群Gi的生成元,Pit是群Gi中的一个元(关于Pit参见202110286075.0)。
将z映射到群Gi中的一个元GS的方式三、
计算GS=[z]Qi+Rit,其中Qi是Gi群中的一个不等于Pi的非零元,Rit是群Gi中的一个不等于Pit的元(Rit不必非零元)。
无论采用何种将z映射到群Gi中的一个元GS的方式,计算dS=[s]GS或dS=[s-1]GS都可以由密钥服务器或私钥生成器完成。
若采用以上所述将z映射到群Gi中的一个元GS的方式三,且从[s]Qi、[s]Rit无法得到[s]Pi、[s]Pit,或者从[s-1]Qi、[s-1]Rit无法得到[s-1]Pi、[s-1]Pit,则[s]Qi、[s]Rit或[s-1]Qi、[s-1]Rit可以作为公开参数,计算dS=[s]GS=[z]([s]Qi)+[s]Rit或dS=[s-1]GS=[z]([s-1]Qi)+[s-1]Rit可以由数据解密方或属性私钥生成系统完成。
对于针对z的门限秘密共享可以采用任何一种符合(t,m)要求的门限秘密共享方案(如拉格朗日或Shamir门限秘密共享方案)。
下面举例说明本发明的基于门限属性的数据加密方法及数据解密方法的具体实施。
例子1、
假如需要使用门限属性集S=(A1,…,Am|t,m)对数据加密,假如S对应的[1,n-1]内随机选择的整数是z,其对应有一个公钥GS,把GS当作一个非门限属性集对应的公钥,(按202110286075.0中所述的使用非门限属性集对应的公钥加密数据的方式)使用GS对数据进行加密。
假如针对z的(t,m)门限秘密份额是z1,…,zm,则加密的数据还包括使用属性A1,…,Am对应的公钥分别对z1,…,zm加密后的密文enc_z1,…,enc_zm。
对加密数据的解密的操作如下。
从加密数据中得到enc_z1,…,enc_zm,利用用户拥有的属性A1,…,Am中的t个属性对应的属性私钥(的秘密份额),从enc_z1,…,enc_zm中的t份解密获得z的t份秘密份额的明文,恢复出z,并进而计算得到门限属性集S对应的私钥dS,然后将私钥dS当作一个非门限属性集对应的私钥,使用dS对加密数据进行解密。
例子2、
假如需要使用门限属性集S1=(A1,…,Am|t,m)和非门限属性集S2=(B1,…,Bv)(S2有v个属性)对数据加密,假如S1对应的[1,n-1]内随机选择的整数是z,其对应有一个公钥GS1,把GS1当作一个非门限属性集对应的公钥,使用用GS1和非门限属性集S2对应的公钥对数据进行加密(按202110286075.0中所述的使用非门限属性集对应的公钥加密数据的方式,这里实际上是分别用GS1和S2对应的公钥对数据加密)。
假设针对z的(t,m)门限秘密份额是z1,…,zm,则加密的数据还包括使用属性A1,…,Am对应的公钥分别对z1,…,zm加密后的密文enc_z1,…,enc_zm。
对加密数据的解密处理如下。
若需要使用门限属性集S1对应的私钥对加密的数据进行解密,则从加密数据得到enc_z1,…,enc_zm,利用用户拥有的属性A1,…,Am中的t个属性对应的属性私钥(的秘密份额),从enc_z1,…,enc_zm中的t份解密获得z的t份秘密份额的明文,恢复出z,并进而计算得到门限属性集S1对应的私钥dS1,然后将私钥dS1当作一个非门限属性对应的私钥,使用dS1对加密数据进行解密。
(按202110286075.0中所述的使用非门限属性集对应的私钥解密加密数据的方式,这里实际上只需使用dS1和S2对应的私钥中的一个私钥对加密数据解密即可)
例子3、
假如需要使用门限属性集S1=(A1,…,Am|t,m)和门限属性集S2=(B1,…,Bv|h,v),假如S1、S2对应的[1,n-1]内随机选择的整数分别是z1、z2,门限属性集S1、S2分别对应有一个公钥GS1、GS2,把GS1、GS2分别当作非门限属性集对应的公钥,使用GS1、GS2对数据进行加密(按照202110286075.0中所述的使用非门限属性集对应的公钥加密数据的的方式,这里实际上是分别用GS1和GS2对数据加密)。
加密的数据还包括使用属性A1,…,Am的公钥分别对z1的m份(t,m)门限秘密份额加密后的密文,使用属性B1,B2,…,Bv的公钥分别对z2的v份(h,v)门限秘密份额加密后的密文。
对加密数据的解密处理如下。
若需要使用门限属性集S1对应的私钥对加密的数据进行解密,则从加密数据中得到被加密的m份z1的门限秘密份额,利用用户拥有的属性A1,…,Am中的t个属性对应的属性私钥(的秘密份额),从t份加密的z1的门限秘密份额中解密获得z1的t份门限秘密份额的明文,恢复出z1,进而计算得到S1对应的私钥dS1,然后将dS1当作非门限属性集的私钥,使用dS1对加密数据进行解密。
若需要使用门限属性集S2对应的私钥对加密的数据进行解密,则从加密数据中得到被加密的v份z2的门限秘密份额,利用用户拥有的属性B1、B2、…Bv中的h个属性对应的属性私钥(的秘密份额),从h份加密的z2的门限秘密份额中解密得到z2的h份门限秘密份额的明文,恢复出z2,进而计算得到S2对应的私钥dS2,然后将dS2当作非门限属性集的私钥,使用dS2对加密数据进行解密。
(按202110286075.0中所述的使用非门限属性集对应的私钥解密加密数据的方式,这里实际上只需使用dS1和dS2中的一个私钥对加密数据解密即可)
例子4、
假如需要使用属性集S2=(S1,B2,…,Bv)对数据加密,其中S1=(A1,…,Am|t,m)是门限属性集,假设S1对应的[1,n-1]内随机选择的整数是z,对应一个公钥GS1,把S1当作一个普通属性,把GS1当作一个普通属性对应的公钥,与其他属性B2,…,Bv对应的公钥一起对数据进行加密(按202110286075.0中所述的使用非门限属性集加密数据的方式)。
假设针对z的(t,m)门限秘密份额是z1,…,zm,则加密的数据还包括使用属性A1,…,Am对应的公钥分别对z1,…,zm加密后的密文enc_z1,…,enc_zm。
对加密数据的解密处理如下。
从加密数据得到enc_z1,…,enc_zm,利用用户拥有的属性A1,…,Am中的t个属性对应的属性私钥(的秘密份额),从enc_z1,…,enc_zm中的t个解密获得z的t份门限秘密份额的明文,恢复出z,并进而计算得到门限属性集S1对应的私钥dS1,然后将私钥dS1当作一个(普通)属性对应的私钥,与属性B2、…Bv对应的私钥一起对加密数据进行解密。
例子5、
假如需要使用门限属性集S2=(S1,B2,…,Bv|h,v)对数据加密,其中S1=(A1,…,Am|t,m)也是门限属性集,则把S1当作S2中的一个普通属性,S1与其他属性一些形成了门限属性集S2=(S1,B2,…,Bv|h,v);
假设门限属性集S1对应的[1,n-1]内随机选择的整数是z1,对应一个公钥GS1,将GS1当作一个普通属性对应的公钥;
假设门限属性集S2对应的[1,n-1]内随机选择的整数是z2,对应一个公钥GS2,将GS2作为一个非门限属性集对应的公钥对数据进行加密(按202110286075.0中所述的使用非门限属性集对应的公钥加密数据的方式)。
加密的数据还包括使用属性A1,…,Am对应的公钥分别对z1的m份(t,m)门限秘密份额加密的密文,使用属性S1,B2,…,Bv对应的公钥(S1被当作一个普通属性,对应有公钥GS1)分别对z2的v份(h,v)门限秘密份额加密的密文。
对加密数据的解密处理如下。
若需要,则从加密数据中得到被加密的m份z1的门限秘密份额,利用用户拥有的属性A1,…,Am中的t个属性对应的属性私钥(的秘密份额),从t个加密的z1的门限秘密份额的密文中解密获得z1的t份门限秘密份额的明文,恢复出z1,进而计算得到S1对应的私钥dS1;
从加密数据中得到被加密的v份z2的门限秘密份额,将门限属性集S1当作(S2中的一个普通)属性,将dS1当作(普通)属性对应的私钥,然后利用S1、B2、…Bv中的h个属性的属性私钥(或属性私钥的秘密份额),从h个z2的门限秘密份额的密文中解密得到h份z2的门限秘密份额的明文,恢复出z2,进而计算得到S2对应的私钥dS2,将dS2当作非门限属性集对应的私钥,使用dS2对加密数据进行解密。
例子6、
假如需要使用非门限属性集S=(S1,S2)对数据加密,其中S1和S2分别是门限属性集S1=(A1,…,Am|t,m)和S2=(B1,…,Bv|h,v),这里隐含了将S1和S2作为一个属性集的构成属性。
假如S1、S2对应的[1,n-1]内随机选择的整数分别是z1、z2,门限属性集S1、S2分别对应有一个公钥GS1、GS2,把S1和S2当作为普通属性,把GS1、GS2分别当作普通属性对应的公钥,把S当作普通属性构成的非门限属性集,使用GS1、GS2对数据进行加密(按照202110286075.0中所述的使用非门限属性集对应的公钥加密数据的的方式,这里实际上是用GS1+GS2对数据加密)。
加密的数据还包括使用属性A1,…,Am的公钥分别对z1的m份(t,m)门限秘密份额加密后的密文,使用属性B1,B2,…,Bv的公钥分别对z2的v份(h,v)门限秘密份额加密后的密文。
对加密数据的解密处理如下。
从加密数据中得到被加密的m份z1的门限秘密份额,利用用户拥有的属性A1,…,Am中的t个属性对应的属性私钥(的秘密份额),从t份加密的z1的门限秘密份额中解密获得z1的t份门限秘密份额的明文,恢复出z1,进而计算得到S1对应的私钥dS1;
从加密数据中得到被加密的v份z2的门限秘密份额,利用用户拥有的属性B1、B2、…Bv中的h个属性对应的属性私钥(的秘密份额),从h份加密的z2的门限秘密份额中解密得到z2的h份门限秘密份额的明文,恢复出z2,进而计算得到S2对应的私钥dS2;
把S1和S2当作为普通属性,把dS1、dS2分别当作普通属性对应的私钥,把S当作普通属性构成的非门限属性集,使用dS1、dS2对数据进行加密(按照202110286075.0中所述的使用非门限属性集对应的私钥解密加密数据的方式,这里实际上是用dS1+dS2对加密数据解密)。
其他更复杂的情况可以利用例子1-6中同样的原理进行实施,必要时进行组合实施。
其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。
Claims (10)
1.一种基于门限属性的数据加密方法,其特征是:
所述数据加密方法涉及服务端的属性私钥生成器、密钥服务器、属性及属性私钥秘密份额管理器,用户端的用户、密钥客户端程序和密码组件;
所述属性私钥生成器用于生成用户属性所对应的私钥即属性私钥;所述用户属性是反映用户特征的信息;
所述密钥服务器是用户申请属性私钥的秘密份额时与用户端的密钥客户端程序进行交互的服务端的系统组件;所述属性私钥是用户属性所对应的私钥;所述属性私钥的秘密份额指服务端和用户端分别保存的与属性私钥有关并能恢复属性私钥的秘密;
所述属性及属性私钥秘密份额管理器对用户的属性以及属性私钥的秘密份额进行管理;所述属性及属性私钥秘密份额管理器有用户数据库,用于存放用户属性以及属性私钥的秘密份额;
所述用户是具有用户属性、需要使用属性私钥进行数据解密操作处理的个人、机构或系统;
所述密钥客户端程序是用户申请属性私钥的秘密份额时所使用的与密钥服务器进行交互的用户端程序;
所述密码组件是用户端进行密码运算、存储用户密钥以及存储属性私钥的秘密份额的软件组件或软硬件结合的组件;
所述用户、密钥客户端程序和密码组件统称为用户方;
所述基于门限属性的数据加密方法涉及双线性映射e:G1×G2→GT;G1、G2为加法群,GT为乘法群;群G1、G2、GT的阶为素数n;群G1、G2的生成元分别为P1、P2;
针对以上所述双线性映射还定义有ei(V,T),i=1或2:
e1(V,T)=e(V,T),其中V是群G1中的元,T是群G2中的元;
e2(V,T)=e(T,V),其中V是群G2中的元,T是群G1中的元;
所述属性私钥生成器有一个[1,n-1]内的主密钥s,有一个主公钥Ppub=[s]Pj,j=3-i,其中[]表示对群G1和G2中的元的多倍点加运算;
一个用户属性A被映射到群Gi中的一个元GA,i=1或2;GA称为属性A对应的公钥即属性公钥;用户属性A同时对应有一个私钥即属性私钥dA,dA=[s]GA或dA=[s-1]GA,其中s-1是s的模n乘法逆;
一个用户的用户属性A所对应的私钥dA被分解为dA=dAs+dAu,或者被化解为dA=[dAu]dAs或dA=[dAs]dAu,其中dAs作为属性私钥dA的服务端的秘密份额被保存在属性及属性私钥秘密份额管理器的用户数据库中的用户信息中,dAu作为属性私钥dA的用户端的秘密份额被保存在用户端的密码组件中;
当数据加密方使用门限属性集S=(A1,…,Am|t,m)对数据加密时,其中m≥2,m≥t≥1,数据加密方按如下方式进行数据加密:
在[1,n-1]内随机选择一个整数z,将z映射到群Gi中的一个元GS,其中i=1或2,GS称为门限属性集S=(A1,…,Am|t,m)对应的公钥;
将GS作为一个非门限属性集或一个属性对应的公钥,按照使用非门限属性集对应的公钥或属性公钥对数据加密的方式,使用GS对数据进行加密;
以n为模运算的模,按(t,m)门限秘密共享将z分解为[0,n-1]内的m个整数秘密份额z1,…,zm;
利用属性A1,…,Am对应的公钥分别对z1,…,zm加密得到z1,…,zm的密文enc_z1,…,enc_zm;
z1,…,zm的密文enc_z1,…,enc_zm与被加密的数据一起形成最终的加密数据;
所述数据加密方是用户方或用户方之外的其他系统或实体;所述数据加密方使用其密码组件对数据进行加密运算。
2.根据权利要求1所述的基于门限属性的数据加密方法,其特征是:
当使用多个属性集对数据进行加密、且多个属性集中存在门限属性集时,其中的每个门限属性集对应一个公钥,门限属性集对应的公钥被当作非门限属性集对应的公钥用于对数据进行加密。
3.根据权利要求1所述的基于门限属性的数据加密方法,其特征是:
当使用门限属性集与用户属性一起对数据进行加密时,其中的每个门限属性集对应一个公钥,每个门限属性集被当作一个属性,门限属性集对应的公钥被当作属性对应的公钥用于对数据进行加密。
4.一种针对权利要求1或2或3所述的基于门限属性的数据加密方法的数据解密方法,其特征是:
所述数据解密方法还涉及服务端的密码服务器和用户端的与密码服务器交互、进行数据解密操作处理的数据解密客户端程序;所述数据解密客户端程序调用用户端的密码组件进行数据解密运算;用户方和服务端的密码服务器构成了数据解密方;
当数据解密方解密采用了门限属性集S=(A1,…,Am|t,m)加密的数据时,密码服务器先检查确认用户至少有m个属性A1,…,Am中的t个,若检查确认通过则继续,否则数据解密失败;
数据解密方从加密数据中得到z1,…,zm的密文enc_z1,…,enc_zm;
数据解密方利用用户的属性A1,…,Am中的t个属性的属性私钥的秘密份额,通过交互解密enc_z1,…,enc_zm中的t个,得到z1,…,zm中的t个的明文,即得到z的t份秘密份额;
数据解密方利用得到z的t份秘密份额恢复出z;
数据解密方或属性私钥生成系统利用恢复出的z,按如下方式计算得到门限属性集S=(A1,…,Am|t,m)对应的私钥dS:
若一个属性A的属性私钥是dA=[s]GA,则dS=[s]GS;
若一个属性A的属性私钥是dA=[s-1]GA,则dS=[s-1]GS;
所述属性私钥生成系统包括密钥服务器和属性私钥生成器;
数据解密方将门限属性集S=(A1,…,Am|t,m)对应的私钥dS当作一个非门限属性集或一个属性对应的私钥,使用dS对加密数据进行解密。
5.根据权利要求4所述的数据解密方法,其特征是:
若门限属性集S=(A1,…,Am|t,m)对应的私钥dS是由非保密的公开参数计算得到,则由数据解密方或属性私钥生成系统利用恢复出的z计算得到门限属性集S=(A1,…,Am|t,m)对应的私钥dS,否则,由属性私钥生成系统计算得到S=(A1,…,Am|t,m)对应的私钥dS。
6.根据权利要求4所述的数据解密方法,其特征是:
当解密使用多个属性集加密的数据、且多个属性集中存在门限属性集时,其中的每个门限属性集对应一个私钥,门限属性集对应的私钥被当作非门限属性集对应的私钥用于对加密数据的解密。
7.根据权利要求4所述的数据解密方法,其特征是:
当解密一个使用门限属性集和用户属性一起加密的数据时,其中的每个门限属性集对应一个私钥,门限属性集对应的私钥被当作属性私钥用于对加密数据的解密。
8.一种基于权利要求5所述的基于门限属性的数据加密方法及数据解密方法的基于门限属性的数据加密系统,其特征是:
所述数据加密系统包括服务端的属性私钥生成器、密钥服务器、属性及属性私钥秘密份额管理器,密码服务器,用户端的用户、密钥客户端程序和密码组件,以及数据加密方的密码组件;当使用门限属性集S=(A1,…,Am|t,m)对数据进行加密时,数据加密方使用密码组件、采用所述基于门限属性的数据加密方法对数据进行加密;
当对使用了门限属性集S=(A1,…,Am|t,m)加密的数据进行解密时,用户端还有数据解密客户端程序,服务端的密码服务器和用户端的数据解密客户端程序、密码组件及用户构成了数据解密方,数据解密方采用所述基于门限属性的数据加密方法对应的数据解密方法对加密数据进行解密。
9.一种基于权利要求6所述的基于门限属性的数据加密方法及数据解密方法的基于门限属性的数据加密系统,其特征是:
所述数据加密系统包括服务端的属性私钥生成器、密钥服务器、属性及属性私钥秘密份额管理器,密码服务器,用户端的用户、密钥客户端程序和密码组件,以及数据加密方的密码组件;当使用门限属性集S=(A1,…,Am|t,m)对数据进行加密时,数据加密方使用密码组件、采用所述基于门限属性的数据加密方法对数据进行加密;
当对使用了门限属性集S=(A1,…,Am|t,m)加密的数据进行解密时,用户端还有数据解密客户端程序,服务端的密码服务器和用户端的数据解密客户端程序、密码组件及用户构成了数据解密方,数据解密方采用所述基于门限属性的数据加密方法对应的数据解密方法对加密数据进行解密。
10.一种基于权利要求7所述的基于门限属性的数据加密方法及数据解密方法的基于门限属性的数据加密系统,其特征是:
所述数据加密系统包括服务端的属性私钥生成器、密钥服务器、属性及属性私钥秘密份额管理器,密码服务器,用户端的用户、密钥客户端程序和密码组件,以及数据加密方的密码组件;当使用门限属性集S=(A1,…,Am|t,m)对数据进行加密时,数据加密方使用密码组件、采用所述基于门限属性的数据加密方法对数据进行加密;
当对使用了门限属性集S=(A1,…,Am|t,m)加密的数据进行解密时,用户端还有数据解密客户端程序,服务端的密码服务器和用户端的数据解密客户端程序、密码组件及用户构成了数据解密方,数据解密方采用所述基于门限属性的数据加密方法对应的数据解密方法对加密数据进行解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110818351.3A CN113630245B (zh) | 2021-07-20 | 2021-07-20 | 一种基于门限属性的数据加密方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110818351.3A CN113630245B (zh) | 2021-07-20 | 2021-07-20 | 一种基于门限属性的数据加密方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113630245A true CN113630245A (zh) | 2021-11-09 |
CN113630245B CN113630245B (zh) | 2023-12-12 |
Family
ID=78380327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110818351.3A Active CN113630245B (zh) | 2021-07-20 | 2021-07-20 | 一种基于门限属性的数据加密方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113630245B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100172496A1 (en) * | 2007-05-25 | 2010-07-08 | Nec Corporation | Key generating apparatus, encrypting apparatus and decrypting apparatus |
CN106656512A (zh) * | 2017-01-17 | 2017-05-10 | 武汉理工大学 | 支持门限密码的sm2数字签名生成方法及系统 |
CN107819586A (zh) * | 2017-11-20 | 2018-03-20 | 电子科技大学 | 一种多授权中心的门限属性基签名方法 |
CN108418681A (zh) * | 2018-01-22 | 2018-08-17 | 南京邮电大学 | 一种支持代理重加密的基于属性的密文检索系统及方法 |
CN113098683A (zh) * | 2021-03-17 | 2021-07-09 | 武汉理工大学 | 一种基于属性的数据加密方法和系统 |
-
2021
- 2021-07-20 CN CN202110818351.3A patent/CN113630245B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100172496A1 (en) * | 2007-05-25 | 2010-07-08 | Nec Corporation | Key generating apparatus, encrypting apparatus and decrypting apparatus |
CN106656512A (zh) * | 2017-01-17 | 2017-05-10 | 武汉理工大学 | 支持门限密码的sm2数字签名生成方法及系统 |
CN107819586A (zh) * | 2017-11-20 | 2018-03-20 | 电子科技大学 | 一种多授权中心的门限属性基签名方法 |
CN108418681A (zh) * | 2018-01-22 | 2018-08-17 | 南京邮电大学 | 一种支持代理重加密的基于属性的密文检索系统及方法 |
CN113098683A (zh) * | 2021-03-17 | 2021-07-09 | 武汉理工大学 | 一种基于属性的数据加密方法和系统 |
Non-Patent Citations (1)
Title |
---|
邹徐熹;王磊;史兆鹏: "云计算下基于特殊差分方程的(m+1, t+1)门限秘密共享方案", 计算机工程, vol. 43, no. 1, pages 8 - 12 * |
Also Published As
Publication number | Publication date |
---|---|
CN113630245B (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108173639B (zh) | 一种基于sm9签名算法的两方合作签名方法 | |
CN107707358B (zh) | 一种ec-kcdsa数字签名生成方法及系统 | |
Almaiah et al. | A new hybrid text encryption approach over mobile ad hoc network | |
EP1379024A1 (en) | Method and apparatus for generating a cryptographic key | |
CN111106936A (zh) | 一种基于sm9的属性加密方法与系统 | |
CN1859090B (zh) | 一种基于身份的密码方法和系统 | |
US20100098253A1 (en) | Broadcast Identity-Based Encryption | |
CN107086912B (zh) | 一种异构存储系统中的密文转换方法、解密方法及系统 | |
CN105763528B (zh) | 一种混合机制下多重接收者匿名的加密装置 | |
CN110113150A (zh) | 基于无证书环境的可否认认证的加密方法和系统 | |
Wu | Fully homomorphic encryption: Cryptography's holy grail | |
Rachmawati et al. | An implementation of the H-rabin algorithm in the shamir three-pass protocol | |
CN114095171A (zh) | 一种基于身份的可穿刺代理重加密方法 | |
CN110798313B (zh) | 基于秘密动态共享的包含秘密的数的协同生成方法及系统 | |
US20070183600A1 (en) | Secure Cryptographic Communication System Using Kem-Dem | |
CN116318696B (zh) | 一种双方无初始信任情况下代理重加密数字资产授权方法 | |
CN104639319A (zh) | 基于身份的代理重加密方法和系统 | |
JPH08251156A (ja) | 電子メール暗号化方法及び暗号化システム | |
CN115361109A (zh) | 一种支持双向代理重加密的同态加密方法 | |
KR20030047148A (ko) | Rsa를 이용한 클라이언트/서버 기반의 메신저 보안 방법 | |
CN113630245B (zh) | 一种基于门限属性的数据加密方法和系统 | |
CN114095161A (zh) | 一种支持等式测试的身份基可穿刺加密方法 | |
CN113708925B (zh) | 一种普通密码算法密钥的群组使用方法及系统 | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
CN113141249B (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 |