PEKS关键词可搜索加密详解
PEKS算法主要实现了四个步骤。
第一步:
生成公私钥,初始化安全参数P(数值为质数,这里我认识跟哈希类似,减少冲突)(普通的安全参数一般是指比特的长度,长度越大说明越安全)。
具体流程
输入P安全参数,对于循环群G来讲(循环的实现是通过模P)。该群的阶数等于 P内的质数个数-P的质因子分解个数+1(1除外)。
咱们这里设定阶数为q,如何来求G群的原根?
可以用穷举方法,穷举P的质因子组成的所有循环群。可以参考14=2*7这个例子
该图中可以看出阶数是6,说明6个数值为一个循环。所以3和5是生成元(合数的原因,质数可能会只有一个生成元)最终会取得生成元g。
进而得到了对于任意的整数k,g的k次幂都属于群G。计算a=g^k^(mod p)。a属于G
而求k的是logg(a)是离散对数问题。(这就把NP离散对数问题联系在一起啦)
密钥的生成 选取阿尔法属于Z的群,Z的内容为{0,1,2...P-1} 这个数是随机取得的。公钥为g的阿尔法次幂。表示的时候用[g,g的阿埃尔次幂] 这个是为了以后能够便于运算。
第二步:
PEKS对关键词进行加密,这里是用了两个哈希,首先对W进行哈希H1(W) 这个哈希是把关键字映射到群G里。e(H1(W),h的r次幂)。h的r次幂就是H1(W) (r也是随机数) 也是为了创造双线性对。然后进行二次哈希进行加密H2W(t),表示为[g的r次幂,H2(t)]
第三步:
生成陷门,接收方指定某些关键字W2 生成陷门H1(W2)的阿尔法次幂。
第四步:
查找,输入S=【A,B】 其中A=h的r次幂 这个就是待查找的单词(哈希表示的)B加密后的密文。TEST(公钥,TW,S)
经过推导可知H2(e(Tw,A))==B 这个可以这么理解 把文字我们哈希成A,加密成B。我现在查关键词A经过一系列步骤后等于B 说明查找成功
推导公式公式如图
PEKS关键词可搜索加密详解相关推荐
- 模糊匹配 读音_onenote搜索机制详解②:两种搜索模式,模糊与精确匹配
先从纯文本搜索讲起,这是最基本也是最重要的. 从这篇开始,以及接下来连续几篇文章,都会介绍搜索的基础功能.注意,这几篇文章中谈论的都是基本的.正常的搜索功能,暂时不考虑Bug等因素. 在很多软件(例如 ...
- 搜索引擎高级搜索指令详解
在当今外贸竞争越来越惨烈的情况下,广大站长没有两把刷子是不行滴.学习外贸SEO就是一个方法. 当初凭借傻瓜式就可以赚取美金等外币的时代已经悄悄远去,当下如果要提高站点排名,提升外贸网站流量,那么必须使 ...
- IOS之RSA加密解密与后台之间的双向加密详解
IOS之RSA加密解密与后台之间的双向加密详解 序言 因为项目中需要用到RSA加密,刚开始也是有点乱,这两天也整理的差不多了,希望能帮到大家. 这次先上代码,我想大部分人肯定是着急解决问题,所以不要废 ...
- 微信公众号登录密码参数加密详解
微信公众号登录密码pwd参数加密详解 前言 此参数的加密没有任何难度,适合小白练手学习. 网址:https://mp.weixin.qq.com/ 一.打开浏览器开始抓包 输入错误的账号密码,登录.然 ...
- AES加密 — 详解
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/120285594 本文出自[赵彦军的博客] 文章目录 推荐 AES 简介 对称加密 ...
- java加密算法入门(三)-非对称加密详解
1.简单介绍 这几天一直在看非对称的加密,相比之前的两篇内容,这次看了两倍多的时间还云里雾里的,所以这篇文章相对之前的两篇,概念性的东西多了些,另外是代码的每一步我都做了介绍,方便自己以后翻阅,也方便 ...
- linux如何确定共享库路径,摘录Linux下动态共享库加载时的搜索路径详解
对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似"error while loading shared libraries"这样的错误,这是典型的因为需要的动态库不在动态链接器 ...
- Spring和Elasticsearch全文搜索整合详解
Spring和Elasticsearch全文搜索整合详解 一.概述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web ...
- mysql数据库表添加加密密码_数据库账号密码加密详解及实例
数据库账号密码加密详解及实例 数据库中经常有对数据库账号密码的加密,但是碰到一个问题,在使用UserService对密码进行加密的时候,spring security 也是需要进行同步配置的,因为sp ...
最新文章
- IE6 IE7 不支持 JSON
- 东南大学计算机科学试验中心,受迫振动试验数据处理的研究-东南大学物理试验中心.doc...
- 疯狂android讲义(kotlin版) 源码 pan_每周一书《疯狂Python讲义》分享
- php Session存储到Redis的方法
- OMAP-L138核心板
- 微型计算机的评估指标,T∕CECA-G 0060-2020 “领跑者”标准评价要求 微型计算机(9页)-原创力文档...
- MFC Windows 消息发送顺序
- windows修改时间服务器,在Windows中设置时间服务器 2012 R2
- 数论 —— 莫比乌斯反演
- 华为P30系列新配色官宣:9月6日IFA2019上见!
- java json解码器_Jackson:我是最牛掰的 Java JSON 解析器(有点虚)
- 问题 F: 成绩统计
- Sublime text2空格替换tab键
- SQL2005中row_number( )、rank( )、dense_rank( )、ntile( )函数的用法(2)
- linux下proc里关于磁盘性能的参数
- 为什么沃伦·巴菲特有那么多的时间去阅读和思考
- 使用Python开发游戏运行脚本(三)图片查找
- windows无法新建计算机对象,无法创建文件,详细教您无法新建文件夹怎么办
- 多个元素过渡---过渡模式
- 关闭虚拟机linux的防火墙,Linux新建虚拟机网络配置,防火墙关闭