可搜索加密技术了解

Searchable Encryption

目前可搜索加密技术在加密类型上主要分为可搜索对称加密SSE和可搜索非对称加密SAE,在构造加密检索方案上主要分为基于线性查找的可搜索加密和基于索引的可搜索加密方案。

Symmetric Searchable Encryption

开源代码有:
Searchable Symmetric Encryption / Sophos · GitLab
clarus-proxy/searchableencryption-module

寻求数据库方面实现,对searchableencryption-module了解如下:

  • 获取数据库的清晰内容,提取关键字,建立安全的搜索索引,并对数据库的内容进行加密(AES);
  • 生成一个搜索查询,即为搜索的关键字生成一个陷门;
  • 解密搜索查询的结果;

可以实现:

  • single keyword search queries
  • range queries
  • boolean queries.

搜索查询使用PL/Java:PL/Java is a free add-on module that brings Java™ Stored Procedures, Triggers, and Functions to the PostgreSQL™ backend.

Public Key With Encryption Search

带关键词搜索的公钥加密方案,算法主要实现了四个步骤:1

  1. 生成公私钥,初始化安全参数P;
  2. 对关键词进行加密;
  3. 生成陷门,接收方指定某些关键字W2 生成陷门H1(W2)的阿尔法次幂;
  4. 查找,输入S=【A,B】 其中A=h的r次幂;

Attribute-Based-Searchable-Encryption

开源实现wanfen018/Attribute-Based-Searchable-Encryption了解如下:
将策略放进密文中,可以细粒度的控制搜索者,满足加密的策略且搜索内容存在则可取的明文数据,一个文档对应一个关键词集合,搜索时使用关键词索引对文档进行检索,密文无需解密。
样例调用如下:

过程如下:

  • setup初始化生成公共参数 pp 和主钥 mk;
  • enc函数对信息msg加密生成密文CT;
  • keygen函数根据属性串生成访问密钥key;
  • tokgen函数根据搜索词生成搜索令牌;
  • search函数执行搜索返回结果

ABE简述如下:
将(属性、策略P)嵌入到(密钥K、密文C)中,根据嵌入的对象不同,划分成了KP-ABE与CP-ABE:

  • KP-ABE(Key-policy ABE)是将策略嵌入到密钥中,属性嵌入到密文中。
  • CP-ABE(Ciphertext-policy ABE)是将策略嵌入到密文中,属性嵌入到密钥中。

Multi-Keyword Fuzzy Search over Encrypted Data

面向多关键字的模糊密文搜索方法。该方案以布隆过滤器(Bloom filter)为基础,使用对偶编码函数和位置敏感Hash函数来对文件索引进行构建,并使用距离可恢复加密算法对该索引进行加密,实现了对多关键字的密文模糊搜索.同时方案不需要提前设置索引存储空间,从而大大降低了搜索的复杂度。
详见https://crad.ict.ac.cn/CN/10.7544/issn1000-1239.2017.20151125

补充

JPBC Implementation of H. Maji’s ABS

https://github.com/chrizchow/JPBC-ABS2

Forward Secure Public-key Authenticated Encryption with Conjunctive Keyword Search

https://github.com/Atharva-K12/Forward-Secure-Public-key-Authenticated-Encryption-with-Conjunctive-Keyword-Search


  1. https://blog.csdn.net/zhuiyunzhugang/article/details/107673670 ↩︎

  • 4
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值