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关键词可搜索加密详解相关推荐

  1. 模糊匹配 读音_onenote搜索机制详解②:两种搜索模式,模糊与精确匹配

    先从纯文本搜索讲起,这是最基本也是最重要的. 从这篇开始,以及接下来连续几篇文章,都会介绍搜索的基础功能.注意,这几篇文章中谈论的都是基本的.正常的搜索功能,暂时不考虑Bug等因素. 在很多软件(例如 ...

  2. 搜索引擎高级搜索指令详解

    在当今外贸竞争越来越惨烈的情况下,广大站长没有两把刷子是不行滴.学习外贸SEO就是一个方法. 当初凭借傻瓜式就可以赚取美金等外币的时代已经悄悄远去,当下如果要提高站点排名,提升外贸网站流量,那么必须使 ...

  3. IOS之RSA加密解密与后台之间的双向加密详解

    IOS之RSA加密解密与后台之间的双向加密详解 序言 因为项目中需要用到RSA加密,刚开始也是有点乱,这两天也整理的差不多了,希望能帮到大家. 这次先上代码,我想大部分人肯定是着急解决问题,所以不要废 ...

  4. 微信公众号登录密码参数加密详解

    微信公众号登录密码pwd参数加密详解 前言 此参数的加密没有任何难度,适合小白练手学习. 网址:https://mp.weixin.qq.com/ 一.打开浏览器开始抓包 输入错误的账号密码,登录.然 ...

  5. AES加密 — 详解

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/120285594 本文出自[赵彦军的博客] 文章目录 推荐 AES 简介 对称加密 ...

  6. java加密算法入门(三)-非对称加密详解

    1.简单介绍 这几天一直在看非对称的加密,相比之前的两篇内容,这次看了两倍多的时间还云里雾里的,所以这篇文章相对之前的两篇,概念性的东西多了些,另外是代码的每一步我都做了介绍,方便自己以后翻阅,也方便 ...

  7. linux如何确定共享库路径,摘录Linux下动态共享库加载时的搜索路径详解

    对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似"error while loading shared libraries"这样的错误,这是典型的因为需要的动态库不在动态链接器 ...

  8. Spring和Elasticsearch全文搜索整合详解

    Spring和Elasticsearch全文搜索整合详解 一.概述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web ...

  9. mysql数据库表添加加密密码_数据库账号密码加密详解及实例

    数据库账号密码加密详解及实例 数据库中经常有对数据库账号密码的加密,但是碰到一个问题,在使用UserService对密码进行加密的时候,spring security 也是需要进行同步配置的,因为sp ...

最新文章

  1. IE6 IE7 不支持 JSON
  2. 东南大学计算机科学试验中心,受迫振动试验数据处理的研究-东南大学物理试验中心.doc...
  3. 疯狂android讲义(kotlin版) 源码 pan_每周一书《疯狂Python讲义》分享
  4. php Session存储到Redis的方法
  5. OMAP-L138核心板
  6. 微型计算机的评估指标,T∕CECA-G 0060-2020 “领跑者”标准评价要求 微型计算机(9页)-原创力文档...
  7. MFC Windows 消息发送顺序
  8. windows修改时间服务器,在Windows中设置时间服务器 2012 R2
  9. 数论 —— 莫比乌斯反演
  10. 华为P30系列新配色官宣:9月6日IFA2019上见!
  11. java json解码器_Jackson:我是最牛掰的 Java JSON 解析器(有点虚)
  12. 问题 F: 成绩统计
  13. Sublime text2空格替换tab键
  14. SQL2005中row_number( )、rank( )、dense_rank( )、ntile( )函数的用法(2)
  15. linux下proc里关于磁盘性能的参数
  16. 为什么沃伦·巴菲特有那么多的时间去阅读和思考
  17. 使用Python开发游戏运行脚本(三)图片查找
  18. windows无法新建计算机对象,无法创建文件,详细教您无法新建文件夹怎么办
  19. 多个元素过渡---过渡模式
  20. 关闭虚拟机linux的防火墙,Linux新建虚拟机网络配置,防火墙关闭

热门文章

  1. 2023年免费推广平台有哪些
  2. Centos 7 PHP开发环境搭建
  3. Guacamole搭建,一个基于HTML5的远程桌面
  4. 数字签名标准(DSS)工作原理指南
  5. 元宇宙:我所知道的一切
  6. 打造新基建AI强大基石,百度智能云Techday首次公开数据众包硬核实力
  7. 从零开始学习微服务 -微服务基本概述、微服务案例
  8. dr.oracle黑钻面膜,Dr.magic 黑金备长炭控油净致面膜好不好用?
  9. SQL Plus常用命令,文件操作,Orcale用户操作
  10. 联想为何再次架构重组?