[发明专利]一种基于加密算法的网络节点布隆过滤器构建及实现方法在审
申请号: | 201710993208.1 | 申请日: | 2017-10-23 |
公开(公告)号: | CN107566111A | 公开(公告)日: | 2018-01-09 |
发明(设计)人: | 张尧 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/06;H04L29/06 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 韩月娥 |
地址: | 450008 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 加密算法 网络 节点 过滤器 构建 实现 方法 | ||
1.一种基于加密算法的网络节点布隆过滤器构建及实现方法,其特征在于,通过计数器模式下的高级加密算法AES对布隆过滤器的插入、查询元素进行加密,近似得到布隆过滤器中所需的哈希流;通过对生成的哈希流进行截断输出,得到不同参数设置下,布隆过滤器所对应的各个哈希函数;
具体实现流程包括:
步骤一,设置布隆过滤器的加密密钥,并进行轮密钥扩展;
步骤二,布隆过滤器接收一系列插入或查询请求,根据初始请求的元素长度进行元素预处理操作;
步骤三,使用高级加密标准AES对预处理后的数据进行加密;
步骤四,确定布隆过滤器哈希函数的输出值;
步骤五,根据步骤四产生的哈希函数的输出值,完成布隆过滤器相应的插入或查询请求。
2.根据权利要求1所述一种基于加密算法的网络节点布隆过滤器构建及实现方法,其特征在于,所述步骤一,
设置高级加密标准AES加密密钥,根据设置的AES加密密钥,轮密钥扩展利用指令集AES-NI支持的AES_Key_Expansion()函数,生成所有后续插入或查询操作所需AES加密过程的轮密钥值。
3.根据权利要求2所述一种基于加密算法的网络节点布隆过滤器构建及实现方法,其特征在于,所述步骤二,
布隆过滤器接收一系列插入或查询请求,对于每个请求,根据相应的初始请求元素的长度进行元素预处理操作,具体流程包括:
步骤1,计算加密分组数量b;
步骤2,分组长度填充;
步骤3,元素自我复制;
若加工后的元素依然不足b个分组,则进行自我复制直至最终达到b个分组。
4.根据权利要求3所述一种基于加密算法的网络节点布隆过滤器构建及实现方法,其特征在于,所述步骤2,
比较初始请求元素与最大输入长度的值,确定预处理操作的方式,使元素被修正以最终对齐至最大输入长度。
5.根据权利要求4所述一种基于加密算法的网络节点布隆过滤器构建及实现方法,其特征在于,所述步骤2,
使用PKCS#7填充模式将元素的大小对齐至AES分组长度的整数倍。
6.根据权利要求5所述一种基于加密算法的网络节点布隆过滤器构建及实现方法,其特征在于,还包括:
利用指令集AES-NI对布隆过滤器的实现进行速度优化的步骤。
7.根据权利要求6所述一种基于加密算法的网络节点布隆过滤器构建及实现方法,其特征在于,对AES算法的计算过程包括轮密钥扩展和文本加密两个过程,进行加速。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710993208.1/1.html,转载请声明来源钻瓜专利网。