一种可验证的公钥可搜索加密方案

合集下载

支持多关键字分级的可搜索同态加密方案

支持多关键字分级的可搜索同态加密方案

支持多关键字分级的可搜索同态加密方案李宏霞;庞晓琼【摘要】为满足加密文件的多关键字检索需求并解决云存储下用户的隐私与数据安全的问题,提出改进的分级的多关键字可搜索加密方案。

该方案保障数据与查询机密性的同时,利用向量空间模型构建可搜索索引,使用同态加密算法进行加解密,支持查询结果的分级检索,有效避免了服务器端返回相关度不大的文件。

进一步的安全分析和性能评估表明,该方案在安全性上满足CCA2安全,降低了通信开销,也消除了不必要的流量开销。

%To satisfy the requirement for multi-keyword searching over encrypted data, and solve the problem of privacy preserving and data security of the users, a modified multi-keyword ranked searchable encryption scheme is proposed. The scheme utilizes the vector space model to construct the searchable index and uses the improved homomorphic encryp-tion algorithm to encrypt and decrypt data. It also supports the ranked result, which effectively avoid returning the low relevance documents. Further thorough security analysis and performance evaluations show that the scheme provides CCA2 securityand how effectively improves system performance and reduce communication cost and eliminates unneces-sary traffic.【期刊名称】《计算机工程与应用》【年(卷),期】2016(052)022【总页数】6页(P93-98)【关键词】多分级检索;同态加密;向量空间模型;云计算【作者】李宏霞;庞晓琼【作者单位】中北大学计算机与控制工程学院,太原 030051;中北大学计算机与控制工程学院,太原 030051【正文语种】中文【中图分类】TP391.1LI Hongxia,PANG Xiaoqiong.Computer Engineering andApplications,2016,52(22):93-98.云存储[1]为用户提供了弹性、高可靠、易使用与价格便宜的数据存储服务。

第13次课 公钥密码

第13次课 公钥密码

研究公钥密码算法就是找出合适的单向限门函数。
对公钥密码体制的攻击
穷搜索攻击。
寻找从公开钥计算秘密钥的方法。
可能字攻击。
对称密码
一般要求: 1、加密解密用相同的密钥 2、收发双方必须共享密钥 一般要求:
公钥密码
1、加密解密算法相同,但使用不同 的密钥 2、发送方拥有加密或解密密钥,而 接收方拥有另一个密钥
Alice发送“Hi”给Bob。
“Hi” 01001000 01101001 72 105
加密:72139 (mod253) = 2 解密:219 (mod253) = 72
Bob查ASCII表得 “Hi”
105139 (mod253) = 101 10119 (mod253) = 105
Bob收到消息(2 101) ,用自己的私钥解密。
安全性要求: 1、密钥必须保密 2、没有密钥,解密不可行 3、知道算法和若干密文不足以确定 密钥
安全性要求: 1、两个密钥之一必须保密
2、无解密密钥,解密不可行
3、知道算法和其中一个密钥以及若 干密文不能确定另一个密钥
关于公钥密码的几种误解
公钥密码比传统密码安全?
公钥密码是通用方法,所以传统密码已经过时?
RSA算法的安全性基于数论中大整数分解的困难性。
Euler 函数
φ(n): 设n是一个正整数,小于n且与n互素的正整数的个 数称为n的欧拉函数。
当n是素数时,小于n的所有整数均与n互素,因此 φ(n)=n-1 . 对n=pq, p和q 是素数, φ(n)=φ(p)φ(q)=(p-1)(q-1)
多个用户加密的消息 只能由一个用户解读。
公钥密码体制认证 框图
不具有保密性!
只能由一个用户加密消息而使多个 用户可以解读。

第3章密码技术

第3章密码技术

3.2 对称加密算法





分组密码 分组密码是将明文消息编码表示后的数字(简称明文数字) 序列,划分成长度为n的组(可看成长度为n的矢量),每 组分别在密钥的控制下变换成等长的输出数字(简称密文 数字)序列。 扩散(diffusion)和扰乱(confusion)是影响密码安全的 主要因素。扩散的目的是让明文中的单个数字影响密文中 的多个数字,从而使明文的统计特征在密文中消失,相当 于明文的统计结构被扩散。 扰乱是指让密钥与密文的统计信息之间的关系变得复杂, 从而增加通过统计方法进行攻击的难度。扰乱可以通过各 种代换算法实现。 分组密码包括DES、IDEA等。
3.2 对称加密算法




DES算法 主要有以下四点: (1)提供高质量的数据保护,防止数据未经授权 的泄露和未被察觉的修改; (2)具有相当高的复杂性,使得破译的开销超过 可能获得的利益,同时又要便于理解和掌握; (3)DES密码体制的安全性应该不依赖于算法的 保密,其安全性仅以加密密钥的保密为基础; (4)实现经济,运行有效,并且适用于多种完全 不同的应用。
3.2 对称加密算法


对称加密采用了对称密码编码技术,它的特点是文件加密 和解密使用相同的密钥,或加密密钥和解密密钥之间存在 着确定的转换关系。这种方法在密码学中叫做对称加密算 法,其实质是设计一种算法,能在密钥控制下,把 n比特 明文置换成唯一的n比特密文,并且这种变换是可逆的。 根据不同的加密方式,对称密码体制又有两种不同的实现 方式,即分组密码和序列密码(流密码)。
3.3 非对称加密技术

RSA算法公钥和私钥的生成
假设 A 要与 B 进行加密通信,该怎么生成公钥和私钥呢? 1.随机选择两个不相等的质数 p 和 q。 假设 A 选择了 3 和 11。 (实际应用中,这两个质数越大,就越难破解。 ) 2.计算 p 和 q 的乘积 n。 n=3× 11=33 n 的长度就是密钥长度。33 写成二进制是 100001,一共有 6 位,所以这个 密钥就是 6 位。 实际应用中, RSA 密钥一般是 1024 位, 重要场合则为 2048 位。 3.计算 n 的欧拉函数 (n) 。 根据公式:

云环境下基于属性策略隐藏的可搜索加密方案

云环境下基于属性策略隐藏的可搜索加密方案

云环境下基于属性策略隐藏的可搜索加密方案周艺华;扈新宇;李美奇;杨宇光【期刊名称】《网络与信息安全学报》【年(卷),期】2022(8)2【摘要】基于属性的可搜索加密技术可以实现对数据的细粒度访问控制,但现有的可搜索加密方案,关键字的搜索、访问控制、文件加密基本上是分别执行的,导致攻击者可能跳过访问策略直接进行关键字索引匹配或文件解密;其次,现有方案中数据拥有者需将加密文件的密钥以安全通道传给用户,增加了数据拥有者的开销;此外,大多基于树型的访问控制策略是公开的,容易造成隐私泄露。

因此,基于线性秘密分享(LSSS,linear secret sharing schemes)访问结构,提出了一种云环境下基于属性策略隐藏的可搜索加密方案。

通过将策略秘密值嵌入关键字加密与文件存储加密,实现访问控制、关键字搜索与文件加密的有机结合;通过聚合密钥技术实现用户无须与数据拥有者交互,即可对文件进行解密的功能,减轻了密钥管理的负担,存储空间提高约30%。

实验结果及安全性分析表明,所提方案具有数据存储的安全性、访问策略的隐私性、陷门的不可连接性等功能,具有较高的密文检索效率,与已有主流方案相比,检索效率提高至20%以上。

【总页数】10页(P112-121)【关键词】可搜索加密;属性基加密;策略隐藏;聚合密钥【作者】周艺华;扈新宇;李美奇;杨宇光【作者单位】北京工业大学信息学部;可信计算北京市重点实验室【正文语种】中文【中图分类】TP309【相关文献】1.混合云环境下基于属性的密文策略加密方案2.云环境下密文策略的权重属性多中心加密方案3.云环境下基于无证书的多服务器可搜索加密方案4.完全隐藏策略的基于属性可搜索加密方案5.云环境下基于属性加密体制算法加速方案因版权原因,仅展示原文概要,查看原文内容请购买。

密文字段检索方案

密文字段检索方案

密文字段检索方案密文字段检索方案是一种用于在加密或哈希后的数据中进行关键字搜索的技术。

它可以在不暴露原始数据的情况下,快速找到包含特定关键字的记录。

本文将介绍密文字段检索方案的原理、应用领域以及一些挑战和解决方案。

密文字段检索方案的原理是将数据进行加密或哈希处理,生成一个密文索引。

这个索引可以用于快速搜索包含特定关键字的记录,而不需要解密整个数据集。

这种方法在保护数据隐私的同时,提供了高效的检索功能。

这种技术在许多领域都有应用。

例如,在云计算中,用户可以将敏感数据加密后存储在云服务器上,并使用密文字段检索方案来搜索特定的记录,而不必将整个数据集下载到本地。

另一个应用是在区块链中,通过使用密文字段检索方案,可以在保护数据隐私的同时,实现快速的交易确认和数据查询。

然而,密文字段检索方案也面临一些挑战。

首先,加密或哈希后的数据无法直接进行比较或排序,因此需要设计特殊的索引结构来支持搜索操作。

其次,由于加密或哈希算法的不可逆性,无法从密文中恢复原始数据,因此只能搜索关键字而无法对数据进行其他复杂的操作。

此外,由于加密或哈希算法的计算复杂度较高,对大规模数据集的搜索性能也是一个挑战。

针对这些挑战,研究者们提出了一些解决方案。

首先,他们设计了一些高效的索引结构,如倒排索引、布隆过滤器等,来加速搜索操作。

其次,他们提出了一些基于加密或哈希的陷门函数,可以在保护数据隐私的同时,支持更多的数据操作,如范围查询、模糊搜索等。

此外,他们还提出了一些优化算法,如并行计算、近似搜索等,来提高搜索性能。

密文字段检索方案是一种重要的数据安全和隐私保护技术。

它可以在保护数据隐私的同时,实现高效的关键字搜索。

虽然面临一些挑战,但通过设计合适的索引结构和陷门函数,以及优化搜索算法,可以克服这些挑战。

随着数据安全和隐私保护的需求不断增加,密文字段检索方案将在更多的领域得到应用和发展。

第4章公钥密码体制

第4章公钥密码体制

4.2.3 乘法逆元
如果gcd(a,b)=1,那么: 存在a-1,使a* a-1 ≡1 mod b 存在b-1,使b* b-1 ≡1 mod a 这里,把a-1称为a模b的乘法逆元, b-1称为b 模a的乘法逆元
用扩展的欧几里德算法求乘法逆元
gcd(11111,12345)
12345=1*11111+1234 11111=9*1234+5 1234=246*5+4 5=1*4+1 4=4*1+0
characteristic of algorithms
It is computationally infeasible to determine the decryption key given only knowledge of the cryptographic algorithm and the encryption key. Either of the two related keys can be used for encryption, with the other used for decryption.
4.2 数论基础
数论中的许多概念在设计公钥密码算法时是 必不可少的.掌握这些基础知识对于理解公 钥密码体制的原理和应用十分重要.
整 除
定理:设整数a和b,如果存在整数k,使 b=ak,则说b能被a整除,记作:a|b 例:3|15,-15|60 性质:
对所有整数a≠0, a|0, a|a成立 对任意整数b, 1|b成立
本原根的性质
如果a是n的本原根,且:
x1=a1 mod n,x2=a2 mod n,…,xФ(n)=aФ(n) mod n
则:
x1≠x2≠…≠xФ(n),且xФ(n)=1

加密方法简介(一)

加密方法简介(一)

第1阶段-古典密码
1883年Kerchoffs第一次明确提出了编码的原则:加
密算法应建立在算法的公开不影响明文和密钥的安 全。
这一原则已得到普遍承认,成为判定密码强度的衡
量标准,实际上也成为传统密码和现代密码的分界
线。
第2阶段 1949~1975


计算机使得基于复杂计算的密码成为可能
加密与解密的密钥相同,即:P=D(K,E(K,P)) 加密与解密的密钥不同,则:P=D(KD,E(KE,P))
常规加密简化模型
常规加密的安全性
加密算法足够强大:仅知密文很难破译出明文 基于密钥的安全性,而不是基于算法的安全性
:基于密文和加/解密算法很难破译出明文
算法开放性:开放算法,便于实现
据无 规律性,则加密不可能简单地为多字母替换; 2、计算重合指数验证第一步中得出的预测; 3、若步1和步2指示一个预定值,则将密文分成适当的 子集 合,并独立地计算每个子集合的重合指数。
“完美”的替换密码
使用非重复的加密字母序列加密会使密码分析至今能使用的 任何工具失效。
一次性密钥(One Time Pad)
罗谢福特最后认为,AF一定是中途岛 检验: 得到尼米兹海军上将的准许之后,向中途 岛发送一个伪造的情报--很清楚地报告了岛上蒸 馏厂的倒闭。两天后,他们截获到一个新的日军 报告,说AF缺少淡水
纳瓦霍语
1942至1945年太平洋战争期间,美国海 军陆战队征召了420名纳瓦霍族人,让他们用 自己的土著语言编制和传递密码 由于纳瓦霍语没有文字,语法和发音又极其复杂, 当时与美军作战的日军一直无法破译,因此这种 密码也被称为“不可破译的密码”

第3阶段 1976~
1976年:Diffie

第3章公钥密码算法new

第3章公钥密码算法new

6
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10
问题的提出 公钥加密模型 什么是公钥密码体制 公开密钥的加密 背包问题 数论简介 Diffie-Hellman密钥交换算法 RSA公钥算法 椭圆曲线密码体制 ECC和RSA比较
7
3.3 什么是公钥密码体制

i1
b
j=1
j

经MH(Merkle-Hellman)变换ak=wbk(mod m)得到 的。虽然,a1,a2,…an不具有超递增性,但可经变换后成 为超递增系列求解。
26
加密
将明文分为长度为n的块X=(x1,…,xn) 然后用公钥A’ = (a1’, …, an’),将明文变为密文S S = E(X) = ∑ai`xi
28
3.5.7例 3.5.7例-加密
消息=011000 110101 101110 明文: 0 1 1 0 0 0 背包: 62 93 81 88 102 37 密文:93+81=174 :93+81=174 011000 对应于93+81=174 110101对应于62+93+88+37=280 101110对应于62+81+88+102=333
满足下列条件的背包,ai > ∑aj (j = 1,…,i-1),这样的背 包也被称为简单背包. 求解过程
– 从最大的ai开始,如果S大于这个数,则减去ai, 记xi为1,否则记xi 为0 – 如此下去,直到最小的ai
例如 背包序列{2, 3, 6, 13, 27, 52} 求解70的背包 结果为{2, 3, 13, 52} 所以,密文70对应的明文为110101
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种可验证的公钥可搜索加密方案刘鹏亮;俎龙辉;白翠翠;马华【摘要】公钥可搜索加密能实现基于密文的信息检索,适用于云计算环境。

但现有公钥可搜索加密方案普遍依赖于双线性对,并且无法对服务器返回的搜索结果进行验证,效率和安全性较低。

为此,基于ElGamal加密算法提出一种可验证的公钥可搜索加密方案。

该方案使用ElGamal加密算法替代双线性对运算,与传统算法相比具有较低的计算复杂度,并且易于实现。

在密文关键词及加密文件生成算法中,采用ElGamal签名算法对关键词的哈希值进行数字签名。

当收到服务器返回的搜索结果后,用户可以通过计算得到发送者的公钥,并对相应的签名值进行验证,从而有效防止服务器返回错误结果。

%As an attractive cryptographic primitive, the public key searchable encryption enables users to search on encrypted data,and hence is applicable to the setting of cloud computing. But mostof the existing schemes have to adopt the bilinear pairing and fail to verify search results from the server. Accordingly,these schemes suffer drawbacks in terms of efficiency and security. Aiming at this problem,based on the ElGamal encryption algorithm,a new verifiable scheme is proposed . It has more desirable computation efficiency and is easy to implement in because it replaces the bilinear pairing with the ElGamal encryption. Especially,during the generation of encrypted keywords and encrypted files,the new scheme can generate the digital signature of the hash valueof keywords based on the ElGamal signature algorithm. Upon receiving the search results from the server,users can obtain the public key of thesender,and then verify the ElGamal signature, which effectively preventsthe server from returning wrong results.【期刊名称】《计算机工程》【年(卷),期】2014(000)011【总页数】4页(P118-120,125)【关键词】可搜索加密;公钥;密文;验证;搜索;ElGamal加密【作者】刘鹏亮;俎龙辉;白翠翠;马华【作者单位】西安电子科技大学数学与统计学院,西安710071;西安电子科技大学数学与统计学院,西安710071;西安电子科技大学数学与统计学院,西安710071;西安电子科技大学数学与统计学院,西安710071【正文语种】中文【中图分类】TP309随着云计算技术越来越流行,大量的私密信息被存储在云端[1-2]。

因此,云端数据的安全性引起了广泛关注。

加密技术保护了数据的机密性和隐私性,却给加密数据的检索带来了很大的困难。

检索加密数据的一种方法是用户将所有密文全部下载,逐一解密寻找自己想要的文件,确保了不会泄露任何信息给服务器。

这是一项非常耗时且需要很大存储空间的任务,对资源受限的用户来说,寻找特定文件是不现实的。

为使用户在不解密密文的情况下快速找到自己想要的文件,研究者提出了可搜索加密方法[3],主要分为公钥可搜索加密[4-5]和对称可搜索加密[6-7]。

目前许多公钥可搜索加密方案相继被提出,如文献[8-9]通过利用改变传统陷门信息解决了公钥可搜索加密中存在的陷门攻击问题,增强了方案的安全性。

但其方案都是基于计算量大且难以实现的双线性对。

针对这一缺陷,文献[10]基于K-容忍的身份加密技术提出了一种新的公钥可搜索加密方案,方案中运用多项式和异或运算代替双线性对,提高了计算效率。

文献[11]提出了一种基于大整数分解的公钥可搜索加密方案。

然而,上述方案都存在着一个共同的问题:均没有对搜索结果进行正确性验证。

而与公钥相对应的对称可搜索加密中已经实现了对搜索结果的验证。

文献[6-7]分别提出了对称可搜索加密中确定性和模糊性关键词搜索结果的验证方案,确保了用户对服务器返回结果的正确性和完整性的验证。

针对公钥可搜索加密中缺少验证这一问题,本文基于离散对数问题,运用ELGamal 算法构造一种可验证的公钥可搜索加密方案。

2.1 ELGamal加密算法ELGamal加密算法不是一个确定性算法,其加密结果依赖于消息、公钥和一个随机选择的数,算法具体过程如下:(1)密钥生成:Zp是有p个元素的有限域,p是一个大素数,g是中的一个生成元。

选择随机整数x,0≤x≤p-2,计算y=gxmodp,则公钥为(p,g,y),其中,p,g可由一组用户共享,私钥为x。

(2)加密:若加密明文消息为M,发送者选择随机整数k(1≤k≤p-1),并且gcd(k,p-1)=1。

计算y1=gk,y2=Myk=Mgxk,则密文为C=〈y1,y2〉。

(3)解密:当接收者接收到密文C后,利用私钥x恢复。

2.2 ELGamal签名算法ELGamal签名算法的具体过程如下:(1)密钥生成(同ELGamal加密算法):公钥为(p,g,y),私钥为x。

(2)签名:对明文消息M,进行如下操作:选择随机整数k(1≤k≤p-2),这里k必须满足并且gcd(k,p-1)=1;r=gkmodp,s=k-1(M-rx)mod (p-1),则签名消息为(M,r,s)。

(3)验证:当接收者收到签名消息(M,r,s)后进行如下计算:1)验证是否有1≤r≤p-1,如果不是,则拒绝签名;2)计算v=gM和w=yrrs;3)如果v=w成立,则接受签名,否则拒绝。

公钥可搜索加密方案模型如图1所示。

发送者(Alice)利用接收者(Bob)的公钥生成密文关键词并将密文存储于服务器。

Bob用自己的私钥生成陷门发送给服务器,然后服务器检测密文关键词和陷门是否是由同一个关键词生成。

如果相同,服务器就发送密文给接收者。

否则,返回空值。

本文基于ELGamal加密和签名算法构造了一种新可验证的公钥可搜索加密方案。

新方案不仅实现了关键词的检索,而且Bob可以对服务器返回的搜索结果的正确性进行验证。

新方案包括 5个算法:(1)参数生成算法首先Alice运行ELGamal加密算法,选择一个大素数p1,g1是中的一个生成元。

选择随机整数x1(0≤x1≤p-2),计算,Alice公钥为(p1,g1,y1),私钥为x1。

选取g2和g 分别为和的生成元,Bob公钥为(p2,g2,y2),私钥为x2;服务器公钥为(p,g,y),私钥为x,哈希函数H:。

(2)密文关键词及加密文件生成算法若Alice要发送含有关键词w的文件M给Bob。

Alice计算关键词W的哈希值H(W),选取2个随机数r1,r2∈Z*p,计算S1=r1rH(w)2 modp,S2=r1H(w)-1r2modp,则密文关键词为S=〈S1,S2〉。

Alice用Bob的公钥(p2,g2,y2)对文件M进行加密:选择随机整数k(1≤k≤p2-1),且gcd(k,p2-1)= 1,计算y11=gk2mod(p2-1),y12=Myk2mod(p2-1)=Mgx2k2mod(p2-1),密文为C1=〈y11,y12〉。

Alice用自己的私钥x1对H(w)进行签名:选择随机整数k1,k1(1≤k1≤p1-1),r=g1k1mod(p1-1),s=k-11(H(w)-rx1)mod(p1-1),则签名为sig=〈H(w),r,s〉。

为了让Bob确定此消息是来自Alice,Alice需对自己的身份IDA用Bob的公钥(p2,g2,y2)进行加密:选择随机整数k2(1≤k2≤p2-1),计算y21=,则身份密文为C2=〈y21,y22〉,最后Alice将密文关键词S=〈S1,S2〉和D=〈C1,sig,C2〉发送给服务器。

(3)陷门生成算法当Bob要检索一个含有关键词w1的文件时,他首先计算A=H(w1),然后用服务器的公钥(p,g,y)对其进行加密。

选择随机整数α(1≤α≤p-1)。

计算y31=gαmodp;y32=Agαmodp;TW=Enc(A)=〈y31,y32〉。

Bob将Tw发给服务器,作为对关键词w的搜索请求。

(4)检测算法当服务器接收到来自Bob的搜索请求后,首先解密获取陷门信息。

如果S1=SH(w1)2 ,服务器返回D=〈C1,sig,C2〉发送给Bob。

否则,返回空值。

(5)验证算法当Bob收到服务器返回的结果D后并将其分成C1,sig和C23个部分,首先对身份密文C2进行解密,确认发送者身份。

然后再用其公钥对关键词的签名进行验证,若验证成功再对C1进行解密。

否则,丢弃。

方案正确性验证过程如下:(1)Alice计算:(2)服务器收到陷门信息,首先计算,若w=w1,则有。

否则说明没有找到要查询的关键词。

(3)若Bob收到服务器返回的D=〈C1,sig,C2〉,首先进行身份验证:1)对C2进行解密计算,确认发送者的身份:2)若上步身份验证是Alice时,用其公钥进行签名验证:①验证是否有1≤r≤p1-1,如果不是,则拒绝该签名;3)解密:签名验证成功后Bob用自己的私钥对加密文件进行解密:通过以上分析,可以证明此方案是正确的。

本文方案采用的是ELGamal加密和签名算法,接下来从3个方面对其安全性进行分析:(1)文件密文和陷门信息安全性:对文件和陷门信息的加密都采用ELGamal加密算法,该算法基于求解离散对数困难问题。

攻击者要通过求解离散对数得到解密密钥,而求解过程非常复杂。

因此,保证了密文和陷门信息的安全性。

(2)签名安全性:对关键词w,同样采用基于求解离散对数困难问题的ELGamal签名算法。

相关文档
最新文档