(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211080542.5
(22)申请日 2022.09.05
(71)申请人 哈尔滨理工大 学
地址 150080 黑龙江省哈尔滨市南岗区学
府路52号
(72)发明人 刘嘉辉 袁鸣
(51)Int.Cl.
H04L 9/00(2022.01)
H04L 9/24(2006.01)
H04L 9/40(2022.01)
H04L 69/04(2022.01)
H03M 7/30(2006.01)
G06F 21/62(2013.01)
G06F 21/60(2013.01)
(54)发明名称
基于混沌的MapReduc e数据压缩的信息保护
方法
(57)摘要
本发明提供一种基于混沌的MapReduce数据
压缩的信息保护方法, 具体为: 1、 在LZO压缩算法
中实现重复字符串搜索匹配策略的哈希方法; 2、
将混沌流加密过程引入到压缩过程中, 在
MapReduce中实现LZO压缩数据加密的方法。 本发
明通过哈希方法有效地提高LZO压缩算法的压缩
效率, 同时提供加密关键信息以保证隐私数据的
安全, 解决了MapReduce数据处理过程中的中间
结果由于 未加密而缺乏安全性问题; 防止非法用
户通过截取MapReduc e计算的中间结果所导致的
隐私数据泄露问题, 有效地解决了现有加密算法
中对MapReduce任务时间性能影响过大的问题;
本发明实现了 Hadoop中对隐私数据的保护。
权利要求书4页 说明书11页 附图3页
CN 115442024 A
2022.12.06
CN 115442024 A
1.一种基于混沌的MapReduce 数据压缩的信息保护方法, 其特 征在于, 包括:
Part_1: 在LZO压缩算法中实现重复字符串搜索匹配策略的哈希方法,
Part_2: 将混沌流加密过程引入到 压缩过程中, 在MapReduce中实现LZO压缩加密方法;
Part_1具体为:
LZO压缩算法通过逐字节扫描 的形式: 每次扫描四个字节; 哈希函数具体步骤为: 将四
个字节与素数进行相乘运算并将结果相加, 将得到的结果再进行一次变换, 结果作为混沌
映射的初始条件通过混沌映射迭代的方式得到哈希地址, 通过建立哈希表的方式实现快速
重复字符串搜索匹配, 通过二次哈希的方式处理第一次产生的冲突, 若二次哈希之后仍然
存在冲突则放弃搜索匹配;
LZO压缩算法重复字符串搜索匹配策略的哈希方法的数据结构和函数 过程定义如下:
定义函数TentHash表示LZO压缩算法重复字符串搜索匹配策略的哈希方法, 用于计算
哈希地址的混沌Tent映射定义如下:
xi+1= xi/u, 如果0 <xi<u;
xi+1= (1‑xi)/(1‑u), 如果u= < xi <1;
其中xi为混沌Tent映射第i次的迭代值; 初始值设置为x0; u为混沌Tent映射控制参数;
xadd_i1记为计算第一次哈希地址所得到的迭代值; xadd_i2记为处理第一次冲突所得到的
迭代值; addr1记 为第一次计算的哈希 地址; addr2记 为第二次计算的哈希地址; Offset记为
重复字符串的匹配距离; len记为重复字符串的匹配长度;
NumVal01_Hash记为哈希运 算初步处 理过程中的素 数, 初始值设置为31;
函数TentHash具体为:
TH_Step_01、 当前处理的四个字节与NumVal01_Hash进行运算, 将第一个字节值与
NumVal01_Hash进行相乘运算并和下一个字节值相加, 得到的结果再和NumVal01_Hash进行
相乘运算并和下一个字节值相加, 依次处 理四个字节;
TH_Step_02、 混沌Tent映射将初步处理的结果转换为Tent映射的初始条件, 在[0,1]区
间中形成混沌映射的x0;
TH_Step_03、 选取混沌Tent映射的控制参数u为0.499, 将混沌Tent映射进行10次迭代
得到迭代值xadd_i1;
TH_Step_04、 再将迭代值xadd_i1变换到哈希词典的范围内取整得到本次字符串匹配的
哈希地址ad dr1;
TH_Step_05、 当前正在处理的字符串与词典中哈希地址addr1所存储的字符串进行匹
配:
如果存储的值为空, 将当前字符串扩充到词典中, 然后扫描之后的数据;
如果存储的值不为空:
TH_Step_05_p1、 若字符串匹配成功, 则开始计算重复字符串的Offset和len, 依据字符
串的Offset和len以及LZO的五种压缩格式进行压缩编码;
TH_Step_05_p2、 若存储的值不为空, 且字符串匹配失败, 第一次冲突产生, 将xadd_i1通
过Tent映射再进行一次迭代得到xadd_i2;
TH_Step_0 6、 将xadd_i2再次变换到哈希词典的范围内取整得到ad dr2;
TH_Step_07、 当前正在处理的字符串与词典中哈希地址addr2所存储的字符串进行第权 利 要 求 书 1/4 页
2
CN 115442024 A
2二次匹配:
如果第二次字符串 匹配未产生冲突, 存储的值为空, 则将当前字符串扩充到词典中, 然
后扫描后面的数据;
如果第二次字符串匹配未产生冲突, 存储的值不为空且字符串匹配成功, 将匹配的重
复字符串计算Offset和len, 依据字符串的Offset和len以及LZO的五种 压缩格式进行压缩
编码; 若第二次字符串匹配产生冲突, 则放弃本次搜索匹配, 扫描后面的数据;
Part_1描述结束;
Part_2具体为:
在Map任务完成之后, 将Map端输出的中间结果使用LZO压缩加密方法进行压缩加密处
理, 将处理后的数据存 储在Map任务节点的本地磁 盘等待Reduce任务处 理数据;
在开始Reduce任务之前通过LZO解密解压缩方法将Map的中间结果解密解压缩为原始
数据, 然后再进行Reduce任务;
LZO压缩加密方法、 LZO解密解压缩方法的数据结构和函数 过程定义如下:
定义函数LZO_C haosEncrypt 表示LZO压缩加密过程;
定义函数LZO_C haosDecrypt 表示LZO解密解压缩过程;
伪随机数发生器选取二个混沌Logist ic映射分别记 为Logist ic_Map1、 Logistic_Map2,
用于生成混沌加密序列, 定义如下:
Logistic_Map1: yn+1=u1×yn×(1‑yn), 0<yn<1, 0<u1<=4;
Logistic_Map2: zn+1=u2×zn×(1‑zn), 0<zn<1, 0<u2<=4;
其中yn、 zn分别表示混沌Logistic_Map1、 Logistic_Map2映射的第n次迭代值; y0、 z0分别
为Logistic_Map1、 Logistic_Map2的初始值; u1、 u2分别为Logistic_Map1、 Logistic_Map2的
控制参数;
在混沌二进制加密/解密序列生成过程中, Logistic_Map1、 Logistic_Map2本轮最后一
次迭代值记为ye、 ze;
阈值函数Rn(yn,zn)用于生成随机混沌二进制序列, 定义如下:
Rn(yn,zn)=1, 如果yn<zn;
Rn(yn,zn)=0, 如果yn>=zn;
其中Rn表示第n个随机混沌二进制序列; 未匹配成功的新字符长度记为Unmatc h_L;
新字符记为Unmatc h_Ck, 1=< k <=Unmatch_L, k表示 为第k个新字符;
新字符按长度编码记为Unmatc h_Bj, j表示编码的第j个字节, j为整数;
新字符长度编码过程中当前新字符长度与字节编码最大值的差值记为Ld_val, d_val=1,
2,…; 压缩编码的首字节 记为Compres s_byte1;
定义密钥Key(y0,u1,z0,u2,m), 其中m为混沌Logistic_Map1、 Logistic_Map2映射的迭代
次数; 生成混沌二进制加密序列过程中的加密序列字节长度记为Len_Num1; 生成混沌二进
制解密序列过程中的解密序列字节长度记为 Len_Num2;
以字节为单位的混沌二进制加密序列: EnSequenceindex_i1表示第index_i1个字节的混
沌二进制加密序列, 1<=index_i1<=Len_Num1; 密文字节序列: CipherByteindex_i3表示为第
index_i3个密文字节, i ndex_i3是整数;
以字节为单位的混沌二进制解密序列: DeSequenceindex_i2表示第index_i2个字节的混权 利 要 求 书 2/4 页
3
CN 115442024 A
3
专利 基于混沌的MapReduce数据压缩的信息保护方法
文档预览
中文文档
19 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:27:04上传分享