CN109040041B - 数据分层加密装置及相关电子装置、存储介质 - Google Patents

数据分层加密装置及相关电子装置、存储介质 Download PDF

Info

Publication number
CN109040041B
CN109040041B CN201810811997.7A CN201810811997A CN109040041B CN 109040041 B CN109040041 B CN 109040041B CN 201810811997 A CN201810811997 A CN 201810811997A CN 109040041 B CN109040041 B CN 109040041B
Authority
CN
China
Prior art keywords
private key
identity
user
identity vector
message
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
CN201810811997.7A
Other languages
English (en)
Other versions
CN109040041A (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.)
Shenzhen University
Shenzhen Polytechnic
Original Assignee
Shenzhen University
Shenzhen Polytechnic
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 Shenzhen University, Shenzhen Polytechnic filed Critical Shenzhen University
Priority to CN201810811997.7A priority Critical patent/CN109040041B/zh
Publication of CN109040041A publication Critical patent/CN109040041A/zh
Application granted granted Critical
Publication of CN109040041B publication Critical patent/CN109040041B/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种数据分层加密装置及相关电子装置、存储介质,其中,该数据分层加密装置是基于l层的基于身份的分层加密HIBE协议生成的一组概率多项式时间PPT模块,包括:随机密钥生成模块,用户私钥获取模块,随机加密模块以及解密模块。

Description

数据分层加密装置及相关电子装置、存储介质
技术领域
本申请涉及电子技术领域,尤其涉及一种数据分层加密装置及相关电子装置、存储介质。
背景技术
随着物联网、大数据等新兴技术的快速发展及不断应用,未来世界将是传感器充分连接的智慧世界,谁握有数据量越大,谁的商业价值将越大。通常大量的有价值数据需要存储在云服务器端,在网络复杂多变及用户具备不确定性的情况下,如何保障个人及企业在云服务器端的数据安全是亟需得到解决的重要问题。保障服务器数据安全的措施通常有很多,例如,访问控制策略、数据加密协议、以及添加堡垒机等方法,本发明重点提供了一种通过对数据加密的措施来保障服务器数据的安全,即基于身份的服务器数据分层加密保护协议。
基于身份的密码(IBE)技术是一种新兴的公钥加密系统,任意的字符串(即身份)可作为系统的公钥,相应私钥由拥有主私钥的私钥生成器(PKG)产生,它不再依赖证书,简化了密钥管理体系的复杂性。该加密系统的思想首先由Shamir于1984年提出,IBE技术可有效地节约密钥管理及通信成本,但它只有一个私钥生成中心,当用户量较大、尤其是规模化分布式环境下,其私钥生成中心往往会负载过大不堪重负,另外,如果主私钥被敌方获取则整个密码系统将不再安全。
发明内容
本申请实施例提供一种数据分层加密装置及相关电子装置、存储介质,用于基于基于身份的分层加密(Hierarchical identity-based encryption,HIBE)协议对用户数据进行加密保护。
本申请实施例第一方面提供一种数据分层加密装置,所述数据分层加密装置是基于l层的基于身份的分层加密HIBE协议生成的一组概率多项式时间PPT模块,包括:
随机密钥生成模块,用户私钥获取模块,随机加密模块以及解密模块;
所述随机密钥生成模块用于根据输入的安全参数以及HIBE的层数l,输出主公钥和用户根私钥,所述l为一正整数;
所述用户私钥获取模块用于根据输入的所述身份向量、该身份向量的用户解密密钥,及所述申请私钥用户的身份编号,输出私钥申请者的用户解密私钥;
所述随机加密模块用于根据输入的所述身份向量、该身份向量对应的公钥及消息M,输出与消息M相对应的密文C,所述消息M来自于消息空间
Figure BDA0001739377690000021
中;
所述解密模块用于根据输入的所述身份向量,该身份向量的解密密钥及所述密文C,输出C所对应的消息M或消息不存在符号,所述消息不存在符号表示解密结果不在消息空间
Figure BDA0001739377690000022
中。
本申请实施例第二方面提供一种基于数据分层加密协议的保护方法,包括:
使用第一方面中所描述的数据分层加密装置对数据进行保护的方法。
本申请实施例第三方面提供另一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述本申请实施例第一方面提供的数据分层加密装置。
本申请实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的数据分层加密装置。
由上可见,本申请方案所描述的数据分层加密装置是基于l层的基于身份的分层加密HIBE协议生成的一组概率多项式时间PPT模块,包括:随机密钥生成模块,用户私钥获取模块,随机加密模块以及解密模块;与普通基于格的IBE加密协议相比,当加密层级t较大时,虽然该协议每次可对更长的消息进行加密,然而协议的公、私钥长度也会相对较大,但扩展因子仍然保持不变,即为2logq,协议的效率基本保持不变,提高了数据加密的效率。
附图说明
图1为本申请实施例提供的数据分层加密装置的结构示意图;
图2为本申请一实施例提供的步骤流程示意图;
图3为本申请一实施例提供的电子装置硬件结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
基于身份的分层加密(Hierarchical identity-based encryption,HIBE)是对身份加密技术的扩展,该技术可以缓解可信密钥生成中心的负载,比较适合用于保障在分布式环境下的数据安全。本发明提供了一种基于格的服务器数据保护协议,效率方面,由于协议是基于R-LWE困难性假设而设计的,在加密、解密阶段具有很高的运行效率,每比特的加、解密操作数均为
Figure BDA0001739377690000031
同时本发明所提协议为适应性选择身份攻击语义安全的。
在一个l层的HIBE协议中,同样存在一个负责生成主公钥和主私钥的可信权威中心,与IBE一样该中心可以用主私钥为身份为id1的用户生成相应的私钥
Figure BDA0001739377690000034
,同时HIBE协议的额外功能是个人私钥SKid现在也可被用于产生与“身份向量”(id1,id2)相对应的用户私钥
Figure BDA0001739377690000033
其能产生私钥对应的最大身份长度为l。同样类似于IBE,任何发送者都可用公钥PK及身份v对消息M进行加密,而任何具有私钥
Figure BDA0001739377690000032
的用户均可对加密结果进行解密。
请参阅图1,本申请实施例提供一种数据分层加密装置,其特征在于,所述数据分层加密装置是基于l层的基于身份的分层加密HIBE协议生成的一组概率多项式时间PPT模块,包括:
随机密钥生成模块101,用户私钥获取模块102,随机加密模块103以及解密模块104;
所述随机密钥生成模块101用于根据输入的安全参数以及HIBE的层数l,输出主公钥和用户根私钥,所述l为一正整数;
所述用户私钥获取模块102用于根据输入的身份向量、该向量的用户解密密钥,及申请私钥用户的身份编号,输出私钥申请者的用户解密私钥;
所述随机加密模块103用于根据输入的所述身份向量、身份向量对应的加密公钥及消息M,输出与消息M相对应的密文C,所述消息M来自于空间
Figure BDA0001739377690000041
中;
所述解密模块104用于根据输入的所述身份向量,该向量对应的解密密钥及所述密文C,输出所述消息M或消息不存在符号,所述消息不存在符号表示解密结果不在消息空间
Figure BDA0001739377690000042
中。
具体的,在本发明实施例中,所述身份向量用
Figure BDA0001739377690000043
表示,所述v的长度为|v|=L,则
Figure BDA0001739377690000044
表示长度为L+1的身份向量(v1,…,vL,r),ε表示长度为0的身份向量;
对于v=(v1,…,vL)及v'=(v'1,…,v'L'),若|v|≤|v'|且对任意的i≤|v|都有vi=v'i,身份向量v为v'的前缀,且|v'|≤l,则由身份向量v对应的私钥SKv可得到v'所对应的私钥SKv'
数据分层加密装置可以表示为:(HIBESetup,HIBEDer,HIBEEnc,HIBEDec)。其中,随机密钥生成算法为HIBESetup(1n,1l),用户私钥获取算法为HIBEDer(v,skv,v.r),随机加密算法为HIBEEnc(v,pkv,M),解密算法为HIBEDec(v,skv,C)。
随机密钥生成算法HIBESetup(1n,1l):
示例性的,输入为安全参数1n、HIBE协议层数l,输出主公钥mpk和用户根私钥skε(其中n,l=l(n)),记为:(mpk,skε)←HIBESetup(1n,1l)。
用户私钥获取算法HIBEDer(v,skv,v.r):
示例性的,输入一身份向量
Figure BDA0001739377690000045
相应解密密钥skv
Figure BDA0001739377690000046
输出与身份向量v.r相对应的用户解密私钥skv.r,记为:
Figure BDA0001739377690000047
同时给出用户加密公钥pkv。用户加密公钥与用户的身份向量有关(用户身份向量中含有用户身份ID);在实际应用中,主公钥是根据算法需求在最开始的时候生成的,与用户身份无关,在用户的公、私钥获取模块中可能会用到主公钥。
随机加密算法为HIBEEnc(v,pkv,M):
示例性的,输入身份向量
Figure BDA0001739377690000048
用户加密公钥pkv及消息空间
Figure BDA0001739377690000049
中的消息M,输出与M相对应的密文C,记为:
Figure BDA0001739377690000051
消息空间
Figure BDA0001739377690000052
中的消息M的示例:消息011001∈{0,1}6,其中{0,1}6为消息空间。
解密算法为HIBEDec(v,skv,C):
示例性的,输入身份向量
Figure BDA0001739377690000053
v对应的用户解密密钥skv及密文C,输出消息M或符号⊥(表示解密结果不在消息空间
Figure BDA0001739377690000054
中),并记为:
Figure BDA0001739377690000055
其中,要求对于由算法HIBESetup输出的所有主公钥mpk、根私钥对skε、任意身份向量
Figure BDA0001739377690000056
正确生成的与v对应的任一用户解密私钥skv(其中skv最开始为用户根私钥)及空间
Figure BDA0001739377690000057
中所有的消息M,恒有如下等式成立:
Figure BDA0001739377690000058
在上述定义中,假设用户A所持有的用户私钥为skv,其中|v|=t(t<l),则其他任何一个用户B以其自己身份(不妨设为
Figure BDA0001739377690000059
)向用户A进行私钥获取询问时都将得到下一层的用户私钥skv.r,该私钥对应的身份长度为t+1,如果身份为
Figure BDA00017393776900000510
的用户C也是向A进行私钥获取询问,则C也获取一身份长度为t+1的用户私钥skv.i,但如果C向用户B进行私钥获取询问,则C获取的为身份长度为t+2的用户私钥skv.r.i
需要说明的是,以上图1示例的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将数据分层加密装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,在实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成。本说明书提供的各个实施例都可应用上述描述原则,以下不再赘述。
实施例二
在上述实施例一数据分层加密装置的架构基础上,本发明实施例描述的是:若对于安全参数为n的任意PPT第二用户
Figure BDA00017393776900000511
在下述施例规则中的优势是可以忽略的,则l层HIBE(HIBESetup,HIBEDer,HIBEEnc,HIBEDec)在CPA模型下是选择身份攻击安全(即IND-sID-CPA)的。
其中,以下第一用户为本发明实施例中数据分层加密装置的使用用户,第二用户为本发明实施例中数据分层加密装置的攻击用户;IND-sID-CPA应用实施例规则可描述如下:
·目标身份确定:第一用户将1n、1l等公共参数发送至第二用户
Figure BDA0001739377690000061
Figure BDA0001739377690000062
输出一“目标”身份向量
Figure BDA0001739377690000063
·Setup:第一用户输入安全参数n,运行主公钥、根私钥生成算法
(mpk,skε)←HIBESetup(1n,1l)
并将主公钥msk发送至第二用户
Figure BDA0001739377690000064
用户根私钥skε自己保存。
·Queries1:第二用户
Figure BDA0001739377690000065
可以向用户私钥获取算法HIBEDer(v,skε,v.r)关于身份向量v.r进行私钥获取询问,即
Figure BDA0001739377690000066
随机选择身份向量r并发送至第一用户,第一用户运行如下算法
Figure BDA0001739377690000067
生成与身份向量对应的私钥skv.r,并将结果返回至第二用户
Figure BDA0001739377690000068
条件是身份向量v.r不能是“目标”身份向量v*的前缀。
·Challenge:第一阶段询问结束后,第二用户
Figure BDA0001739377690000069
输出两个等长度的明文
Figure BDA00017393776900000610
第一用户随机选取一比特b∈{0,1},运行如下算法
Figure BDA00017393776900000611
并将运行结果(即挑战密文)C*发送至第二用户
Figure BDA00017393776900000612
·Queries2:收到挑战密文C*后,
Figure BDA00017393776900000613
仍可以继续向私钥获取算法HIBEDer(v,skε,v.r)进行私钥获取询问并获得相应的私钥信息,同样条件是被询问身份向量v.r不能是“目标”身份向量v*的前缀,第一用户同Queries1一样对第二用户进行回复。
·Output:第二用户
Figure BDA00017393776900000614
输出b的猜测值b'∈{0,1}。
通常称上述第二用户
Figure BDA00017393776900000615
为IND-sID-CPA第二用户,应用实施例中如果b'=b,则称第二用户
Figure BDA00017393776900000616
成功赢得应用实施例,并将其成功概率记为
Figure BDA00017393776900000617
Figure BDA0001739377690000071
的优势可以利用其成功概率定义为:
Figure BDA0001739377690000072
实施例三
在上述实施例一数据分层加密装置的架构基础上,本发明实施例描述的是:数据分层加密装置所基于的协议的具体设置内容,包括:
设哈希函数
Figure BDA0001739377690000073
分别为将相应身份映射到
Figure BDA0001739377690000074
Figure BDA0001739377690000075
中元素的两个随机预言机,
Figure BDA00017393776900000719
是与身份向量v(|v|=i)相对应的秘密短基的克莱姆-施密特正交化向量组范数的上界,σi(1≤i≤l)是用于生成秘密短基时的高斯参数,其需要满足条件:对
Figure BDA0001739377690000077
Figure BDA0001739377690000078
成立。
基于R-LWE假设的有效l层HIBE协议
Figure BDA0001739377690000079
可具体描述如下:
·随机密钥生成算法HIBESetup(1n):输入安全参数n、整数m≥Cnlgq且m=2d(d∈Z),一大素数q=1mod(2m)及HIBE协议的层数l,运行短基生成算法TrapGen(q,n,m)产生矩阵
Figure BDA00017393776900000710
及一满足条件
Figure BDA00017393776900000711
的限门
Figure BDA00017393776900000712
其中主公钥为mpk=(A0,l),根私钥为skε=T0
·用户私钥获取算法HIBEDer(v,skv=(Tv,sv),v'=v.r):输入长度为t的身份向量
Figure BDA00017393776900000713
相应用户私钥skv(包含相应的秘密短基及解密私钥两部分)及
Figure BDA00017393776900000714
为了利用用户私钥skv获取与身份v.r对应的新的用户私钥skv.r,需进行如下操作(请参阅图2):
步骤S1、若身份向量、用户私钥对(v.r,skv.r)已存储,则直接返回skv.r,若本地存储中没有身份向量、用户私钥对(v.r,skv.r),则计算
Figure BDA00017393776900000715
其中,
Figure BDA00017393776900000716
是通过将Av中A0部分用Ar替换所得;
具体的计算可描述如下:
a)当|v|=1,即
Figure BDA00017393776900000717
时,有
Figure BDA00017393776900000718
b)当|v|=2,即
Figure BDA0001739377690000081
时,类似于a)中Av.r的计算方法,有
Figure BDA0001739377690000082
Figure BDA0001739377690000083
c)以此类推,当|v|=t,即
Figure BDA0001739377690000084
时,易知
Figure BDA0001739377690000085
此时Av.r中含有2t
Figure BDA0001739377690000086
2t-1
Figure BDA0001739377690000087
…,21
Figure BDA0001739377690000088
和Ar各一个,其中
Figure BDA0001739377690000089
步骤S2、同时运行格基控制扩展、随机化算法
Tv.r←RandBasis(ExtBasis(Tv,Av.r),σt+1)
获取与身份v.r对应的格∧(Av.r)的新短基
Figure BDA00017393776900000810
步骤S3、运行离散高斯采样算法SampleISIS(Av.r,Tv.rt+1,uv.r)获取一“较短的”解密私钥
Figure BDA00017393776900000811
令用户私钥skv.r=(Tv.r,sv.r),存储身份向量、用户私钥对(v.r,skv.r),并返回skv.r至询问用户;
步骤S4、置身份v.r对应的公钥为pkv.r=(a,b)=(a,a×sv.r+e),其中
Figure BDA00017393776900000812
为均匀随机选取,误差项e为从误差分布
Figure BDA00017393776900000813
中独立选取的较小元素。
·随机加密算法HIBEEnc(v,pkv=(a,b=a×sv+e),M):为了加密某一身份为v(不妨设|v|=t)的2tm维消息
Figure BDA00017393776900000814
(消息分量与2tm-1次多项式系数具有一一对应关系,故通过建立分量与系数的依次对应可将其视为
Figure BDA00017393776900000815
中多项式元素),在
Figure BDA00017393776900000816
中随机选取一“较小”的
Figure BDA00017393776900000817
输出密文
Figure BDA00017393776900000818
其中e1,e2为从误差分布
Figure BDA00017393776900000819
中独立选取的“较小”随机误差项。
·解密算法HIBEDec(v,skv,(c1,c2)):计算M'=c2-c1·sv,将M'的系数m'i(i=0,1,2,…,2tm-1)依次与0及[q/2]进行比较,如果m'i到0的距离比到[q/2]
的距离近则输出0,否则输出1。
为了证明上述l层HIBE协议
Figure BDA00017393776900000912
是正确的:
设在身份为v(|v|=t),公钥为(a,b=a·sv+e)的情况下一m比特消息
Figure BDA0001739377690000092
所对应的密文是:
Figure BDA0001739377690000093
其中
Figure BDA0001739377690000094
则解密过程可计算如下:
M'=c2-c1·Sv
=b·t+e2+[q/2]·M-(a·t+e1)·Sv
=(a·Sv+e)·t+e2+M·[q/2]-(a·t+e1)·Sv
=M·[q/2]+(e·t+e2-e1·Sv)
同样由于私钥sv是通过离散高斯分布取样算法SampleISIS(Av,Tvt,uv)产生的,通过该算法所获得的私钥sv是满足非齐次线性方程组最小解ISISq,m,β问题条件的最小解,因此
Figure BDA00017393776900000913
Figure BDA0001739377690000096
中一“较小”元素。另外,由算法HIBEDer及HIBEEnc知e,e1,e2,
Figure BDA0001739377690000097
也是
Figure BDA0001739377690000098
中相应“较小”的元素。因此,可以通过选取一较大的素模数q,如果选取的q可以使得(e·t+e2-e1·sv)的系数到0的距离在模q意义下不超过q/5,由解密算法可知输出结果依次为消息
Figure BDA0001739377690000099
所对应的系数mi(i=0,1,…,2tm-1),从而可正确解密密文(c1,c2)。
实施例三中的协议安全性分析:
对于满足R-LWE问题条件及协议要求的任意参数n、m、l、q、d、C及多项式f(x),如果R-LWE问题是困难的,则本发明所设计HIBE协议
Figure BDA00017393776900000910
在CPA模型下为选择身份攻击安全的(IND-sID-CPA)。
实施例三中的协议效率分析:
上述l层HIBE协议
Figure BDA00017393776900000911
是基于R-LWE困难性假设而构造的,不同层级用户使用该协议加、解密时对应的公私钥长度不同,可加密的消息长度也随着协议
Figure BDA0001739377690000101
的层次的深入不断提高。
身份长度为t(|v|=t)的用户使用该协议时每次可对空间
Figure BDA0001739377690000102
上的消息进行加密,与普通基于格的IBE加密协议相比,当加密层级t较大时,虽然该协议每次可对更长的消息进行加密,然而协议的公、私钥长度也会相对较大,但扩展因子仍然保持不变,即为2logq,协议的效率基本保持不变。根据整多项式环
Figure BDA00017393776900001015
上的多项式加法、乘法运算规则(包括对运算结果关于
Figure BDA0001739377690000104
及q取模运算)及协议
Figure BDA0001739377690000105
的加、解密过程易知:每加、解密1比特消息对应的基本运算次数为O(mlogq)。同时,该协议也可以进一步拓展为对
Figure BDA0001739377690000106
(p为一相对较小的素数)上的2tm维的消息进行加密,此时协议在相应层级加解密的公、私钥尺寸保持不变,扩展因子将缩小至2logq/logp。
2010年Cash等人提出了关于盆景树及格基扩展控制的重要理论,并基于LWE问题给出了第一个在CPA模型下选择身份攻击安全的不依赖于双线性对的HIBE协议,相关理论的提出及协议构建的思想不仅对基于格的HIBE协议而且对基于格的同态聚合密码理论发展都具有一定的指导意义,并奠定了很好的理论基础。
下面就本发明协议
Figure BDA0001739377690000107
与Cash等人方案的执行效率进行分析,不妨针对第t层加密来分析,即身份长度为|v|=t(0≤t≤l),协议
Figure BDA0001739377690000108
中加密私钥是从
Figure BDA0001739377690000109
中随机选取的元素
Figure BDA00017393776900001010
其长度为2tmlogq,由算法HIBESetup知公钥长度为私钥的两倍,即公钥长度为2t+1mlogq,但可一次对长度为2tm的消息
Figure BDA00017393776900001011
进行加密。Cash方案公、私钥为
Figure BDA00017393776900001012
即私钥长度为tmlogq、公钥长度为[n(tm+1)]logq,其中m≥Cnlogq。
由加密算法HIBEEnc和基于LWE问题的Cash分层身份加密方案中密文为
Figure BDA00017393776900001013
(消息m∈{0,1})易知协议
Figure BDA00017393776900001014
每次加密消息的长度为Cash方案所加密消息长度的2tm倍,而且相同长度的明文对应的加密效率提高约m倍。因此针对第t(0≤t≤l)层加密而言,Cash等人提出的层级基于身份加密(HIBE)方案与本文协议
Figure BDA0001739377690000111
的效率比较情况如表1所示。
表1本发明HIBE协议
Figure BDA0001739377690000112
与Cash等人提出的HIBE方案[20]效率比较
Figure BDA0001739377690000113
表1从多个方面对协议
Figure BDA0001739377690000114
中方案的效率进行了比较并给出其安全性所依赖的最坏情形下的困难性格问题,从表1中数据可以看出,虽然在层级t较大时协议
Figure BDA0001739377690000115
的公、私钥尺寸相对较大,但该尺寸是与协议一次所能加密的明文消息长度是对应的,即一次可加密的消息长度也是按相应比例增加的,而Cash方案在随着层级t加深时,每次所能加密的消息并没有随着公私钥尺寸的增加而增加,因此整体而言,当t越大时Cash方案的计算代价就会越越高,从而加、解密的效率也就越低,而本文协议
Figure BDA0001739377690000116
的加、解密效率与协议加密的层数t没有关系,即本发明协议的效率并没有随着层级t的增大而降低而是始终保持不变,只是每次处理的明文比特数越来越大,因此该协议相对比较适合于层级t取值较小时的情形。
实施例四
本申请实施例提供一种电子装置,请参阅图3,该电子装置包括:
存储器301、处理器302及存储在存储器301上并可在处理器302上运行的计算机程序,处理器302执行该计算机程序时,实现前述图1所示实施例中描述的数据分层加密装置所执行的方法。
本实施例提供的电子装置中各功能模块实现各自功能的具体过程,请参见上述图1所示实施例中描述的具体内容,此处不再赘述。
进一步的,该电子装置还包括:
至少一个输入设备303以及至少一个输出设备304。
上述存储器301、处理器302、输入设备303以及输出设备304,通过总线305连接。
其中,输入设备303具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备304具体可为显示屏。
存储器301可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器301用于存储一组可执行程序代码,处理器302与存储器301耦合。
进一步的,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子装置中,该计算机可读存储介质可以是前述图3所示实施例中的存储器。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图1-a所示实施例中描述的数据分层加密装置。进一步的,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的数据分层加密方法、电子装置及计算机可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (5)

1.一种数据分层加密装置,其特征在于,所述数据分层加密装置是基于l层的基于身份的分层加密HIBE协议生成的一组概率多项式时间PPT模块,包括:
随机密钥生成模块,用户私钥获取模块,随机加密模块以及解密模块;
所述随机密钥生成模块用于根据输入的安全参数以及HIBE的层数l,输出主公钥和用户根私钥,所述l为一正整数,其中输入安全参数n、整数m≥Cnlgq且m=2d(d∈Z),一大素数q=1mod(2m)及HIBE协议的层数l,运行短基生成算法TrapGen(q,n,m)产生矩阵
Figure FDA0002888929690000011
及一满足条件
Figure FDA0002888929690000012
的限门
Figure FDA0002888929690000013
其中主公钥为mpk=(A0,l),根私钥为skε=T0
所述用户私钥获取模块用于根据输入的身份向量、及该身份向量的用户解密密钥、及申请私钥用户的身份编号,输出该身份编号所对应身份向量的用户解密私钥,其中输入长度为t的身份向量
Figure FDA0002888929690000014
相应用户私钥skv(包含相应的秘密短基及解密私钥两部分)及
Figure FDA0002888929690000015
为了利用用户私钥skv获取与身份v.r对应的新的用户私钥skv.r,需进行如下操作:
步骤S1、若身份向量、用户私钥对(v.r,skv.r)已存储,则直接返回skv.r,若本地存储中没有身份向量、用户私钥对(v.r,skv.r),则计算:
Figure FDA0002888929690000016
其中,
Figure FDA0002888929690000017
是通过将Av中A0部分用Ar替换所得;
具体的计算可描述如下:
当|v|=1,即
Figure FDA0002888929690000018
时,有
Figure FDA0002888929690000019
当|v|=2,即
Figure FDA00028889296900000110
时,类似于a)中Av.r的计算方法,有
Figure FDA00028889296900000111
Figure FDA00028889296900000112
以此类推,当|v|=t,即
Figure FDA00028889296900000113
时,可得:
Figure FDA00028889296900000114
此时Av.r中含有2t
Figure FDA0002888929690000021
2t-1
Figure FDA0002888929690000022
Figure FDA0002888929690000023
Figure FDA0002888929690000024
和Ar各一个,其中:
Ar=H(r),
Figure FDA0002888929690000025
步骤S2、同时运行格基控制扩展、随机化算法:
Tv.r←RandBasis(ExtBasis(Tv,Av.r),σt+1)
并获取与身份v.r对应的格∧(Av.r)的新短基
Figure FDA0002888929690000026
步骤S3、运行离散高斯采样算法SampleISIS(Av.r,Tv.rt+1,uv.r)获取一“较短的”解密私钥
Figure FDA0002888929690000027
令用户私钥skv.r=(Tv.r,sv.r),存储身份向量、用户私钥对(v.r,skv.r),并返回skv.r至询问用户;
步骤S4、置身份v.r对应的公钥为pkv.r=(a,b)=(a,a×sv.r+e),其中
Figure FDA0002888929690000028
为均匀随机选取,误差项e为从误差分布
Figure FDA0002888929690000029
中独立选取的“较小”元素;
所述随机加密模块用于根据输入的所述身份向量、用户加密公钥及消息M,输出与消息M相对应的密文C,所述消息M来自于任一消息空间
Figure FDA00028889296900000210
中,其中为了身份向量为v的2tm维消息
Figure FDA00028889296900000211
Figure FDA00028889296900000212
中随机选取一“较小”的
Figure FDA00028889296900000213
输出密文:
Figure FDA00028889296900000214
其中,所述e1,e2为从误差分布
Figure FDA00028889296900000215
中独立选取的“较小”随机误差项,对于身份向量v,|v|=t,所述2tm维消息的消息分量与2tm-1次多项式系数具有一一对应关系,故通过建立分量与系数的依次对应可将其视为
Figure FDA00028889296900000216
中多项式元素;所述身份向量还涉及:
设哈希函数
Figure FDA00028889296900000217
分别为将相应身份映射到
Figure FDA00028889296900000218
Figure FDA00028889296900000219
中元素的两个随机预言机,
Figure FDA00028889296900000220
是与身份向量v(|v|=i)相对应的秘密短基的克莱姆-施密特正交化向量组范数的上界,σi(1≤i≤l)是用于生成秘密短基时的高斯参数,其需要满足条件:对
Figure FDA00028889296900000221
Figure FDA00028889296900000222
成立;
所述解密模块用于根据输入所述身份向量,该身份向量对应解密密钥及所述密文C,输出所述消息M或消息不存在符号,所述消息不存在符号表示解密结果不在消息空间
Figure FDA00028889296900000223
中,其中计算M'=c2-c1·sv,将M'的系数m′i(i=0,1,2,…,2tm-1)依次与0及[q/2]进行比较,如果m′i到0的距离比到[q/2]的距离近则输出0,否则输出1。
2.根据权利要求1所述的装置,其特征在于,所述身份向量包括:
所述身份向量用
Figure FDA0002888929690000031
表示,所述v的长度为|v|=L,则
Figure FDA0002888929690000032
表示长度为L+1的身份向量(v1,…,vL,r),ε表示长度为0的身份向量;
对于v=(v1,…,vL)及v'=(v′1,…,v′L'),若|v|≤|v'|且对应任意的i≤|v|都有vi=v′i,则称身份向量v为v'的前缀,且|v'|≤l,则由身份向量v对应的私钥SKv可得到v'所对应的私钥SKv'
3.一种基于数据分层加密协议的保护方法,其特征在于,包括:
使用权利要求1至2任一项权利要求中所描述的数据分层加密装置对数据进行保护的方法。
4.一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1至2中的任意一项装置执行的方法。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至2中的任意一项装置执行的方法。
CN201810811997.7A 2018-07-23 2018-07-23 数据分层加密装置及相关电子装置、存储介质 Active CN109040041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810811997.7A CN109040041B (zh) 2018-07-23 2018-07-23 数据分层加密装置及相关电子装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810811997.7A CN109040041B (zh) 2018-07-23 2018-07-23 数据分层加密装置及相关电子装置、存储介质

Publications (2)

Publication Number Publication Date
CN109040041A CN109040041A (zh) 2018-12-18
CN109040041B true CN109040041B (zh) 2021-04-06

Family

ID=64644301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810811997.7A Active CN109040041B (zh) 2018-07-23 2018-07-23 数据分层加密装置及相关电子装置、存储介质

Country Status (1)

Country Link
CN (1) CN109040041B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217627B (zh) * 2020-09-16 2021-10-12 南通大学 一种分层加密的商品防伪码生成方法
CN112149773B (zh) * 2020-09-16 2021-10-26 南通大学 一种基于汉字加密的商品防伪码生成方法
CN113722720B (zh) * 2021-10-29 2022-02-18 苏州浪潮智能科技有限公司 一种系统启动方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005198187A (ja) * 2004-01-09 2005-07-21 Ntt Docomo Inc 暗号方法、暗号システム及び端末装置
CN103354498A (zh) * 2013-05-31 2013-10-16 北京鹏宇成软件技术有限公司 一种基于身份的文件加密传输方法
CN107425972A (zh) * 2017-05-05 2017-12-01 河南理工大学 一种新的格上基于身份的分级加密方法
CN107425955A (zh) * 2017-06-23 2017-12-01 河南理工大学 一种高效可固定维数陷门派生的格上身份基分级加密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005198187A (ja) * 2004-01-09 2005-07-21 Ntt Docomo Inc 暗号方法、暗号システム及び端末装置
CN103354498A (zh) * 2013-05-31 2013-10-16 北京鹏宇成软件技术有限公司 一种基于身份的文件加密传输方法
CN107425972A (zh) * 2017-05-05 2017-12-01 河南理工大学 一种新的格上基于身份的分级加密方法
CN107425955A (zh) * 2017-06-23 2017-12-01 河南理工大学 一种高效可固定维数陷门派生的格上身份基分级加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"一种新的格上基于身份的分层加密方案";杨海滨;《武汉大学学报(理学版)》;20160430;全文 *
"一种高效的CP-ABE云数据访问控制方案";严新成等;《小型微型计算机系统》;20161031;全文 *

Also Published As

Publication number Publication date
CN109040041A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
Xiao et al. A novel key agreement protocol based on chaotic maps
CN110147681B (zh) 一种支持灵活访问控制的隐私保护大数据处理方法及系统
WO2020006692A1 (zh) 一种全同态加密方法、装置和计算机可读存储介质
WO2009026771A1 (fr) Procédé pour négocier une clé, chiffrer et déchiffrer des informations, signer et authentifier les informations
CN109040041B (zh) 数据分层加密装置及相关电子装置、存储介质
Moldovyan et al. A new hard problem over non-commutative finite groups for cryptographic protocols
US20160156470A1 (en) System for sharing a cryptographic key
JP2008513811A (ja) 計算変換の方法及びシステム
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
CN110602064A (zh) 一种支持多关键字搜索的基于身份加密方法与系统
Ruan et al. An efficient private set intersection protocol for the cloud computing environments
Cao et al. An efficient implementation of RSA digital signature algorithm
Saeed et al. Improved cloud storage security of using three layers cryptography algorithms
Rui et al. A k-RSA algorithm
Li et al. Privacy-preserving large-scale systems of linear equations in outsourcing storage and computation
Al-Kaabi et al. Methods toward enhancing RSA algorithm: a survey
Kahrobaei et al. Public key exchange using extensions by endomorphisms and matrices over a Galois field
CN102111266B (zh) 基于椭圆曲线的组密钥产生方法
Karvelas et al. Efficient privacy-preserving big data processing through proxy-assisted ORAM
Kumar et al. Implementation of modified RSA cryptosystem for data encryption and decryption based on n prime number and bit stuffing
Rivera et al. Hybrid cryptosystem using RSA, DSA, Elgamal, and AES
CN102347840B (zh) 一种基于互素序列和杠杆函数的公钥加密方法
CN114362912A (zh) 基于分布式密钥中心的标识密码生成方法、电子设备及介质
JP2009130872A (ja) 鍵共有方法、第1装置、第2装置、及び、それらのプログラム

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