[发明专利]一种基于MapReduce彩虹表并行系统设计方法和装置在审
申请号: | 201410540011.9 | 申请日: | 2014-10-14 |
公开(公告)号: | CN104281816A | 公开(公告)日: | 2015-01-14 |
发明(设计)人: | 李伊飏;何宝华 | 申请(专利权)人: | 厦门智芯同创网络科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F9/48 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 361000 福建省厦门市思明*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mapreduce 彩虹 并行 系统 设计 方法 装置 | ||
1.一种基于MapReduce彩虹表并行系统设计方法,包括彩虹表数据生成步骤和彩虹表解密步骤;
其中,彩虹表数据生成步骤包括:
步骤A:对于彩虹表的每个彩虹链,获取该彩虹链的链首节点数据矢量和链尾节点数据矢量,链首节点数据矢量记为链尾节点数据矢量记为以EPi为Key,以SPi为Value,形成<EPi,SPi>数据对;
步骤B:对<EPi,SPi>数据对进行重组,形成的数据结构,其中表示一个链表,其值为所有以EPi为链尾节点数据矢量的彩虹链的链首节点数据矢量的集合;最后把各个重组完的彩虹表数据以新的<Key,Value>数据对插入到NoSQL数据库中;
彩虹表解密步骤包括:
步骤C:解析待解密哈希H0,将其映射为彩虹链上的节点Nodei;然后将Nodek转为链尾节点数据矢量EP′i;以EP′i为key从NoSQL数据库中读取重组后的彩虹链数据,并解析出H0的密码;其中,i∈[0,L],k∈[0,L]。
2.根据权利要求1所述的基于MapReduce彩虹表并行系统设计方法,其特征在于,获取每一组彩虹链的链首节点数据矢量和链尾节点数据矢量包括以下步骤:
步骤A1,数据的加载步骤:接收一组的彩虹链的链首节点数据矢量,记为并设置彩虹链的最大长度为L,将链首节点数据矢量和彩虹链的最大长度L传递给map模块;
步骤A2,彩虹链map计算步骤:map模块对每个彩虹链建立一组对应的map线程,该map线程负责并行计算对应的彩虹链尾节点数据矢量,记为 map线程以EPi为Key,以SPi为Value,形成<EPi,SPi>数据对。
3.根据权利要求1或2所述的基于MapReduce彩虹表并行系统设计方法,其特征在于,对<EPi,SPi>数据对进行重组,包括以下步骤:
步骤B1,设置彩虹链最大允许的交接链表数N,即允许的最多的元素个数,记的元素个数为
步骤B2,Reduce模块对每个彩虹链建立一个对应Reduce子线程,每个Reduce子线程负责收集各自对应的Key的彩虹链,将第i个Reduce子线程记为子线程Ri,则第i个Reduce子线程负责收集链尾节点数据矢量为EPi的彩虹链;
步骤B3,交叠链表重组,假设子线程Ri为当前取得的彩虹链为如果当前的小于N,则把插入到中,否则丢弃剩下所有的以EPi为链尾节点数据矢量的彩虹链,并完成子线程Ri的重组工作;
步骤B4,等待所有的子线程Ri直至重组结束。
4.根据权利要求1所述的基于MapReduce彩虹表并行系统设计方法,其特征在于,彩虹表解密步骤包括:
步骤C1:解析待解密哈希H0,按照彩虹表生成的原理,将其映射为彩虹链上的节点,即为Nodei;
步骤C2:将Nodek转为链尾节点数据矢量EP′i,k∈[0,L];
步骤C3:以EP′i为key,从对应的NoSQL数据库中读取重组后的彩虹链数据,如果记录存在,则一次读取并解析依次取出每个SP′i,并还原计算出每个彩虹链上的各个节点及其对应的哈希值如果存在某个等于H0,那么对应的密码即为H0的密码;否则根据步 骤2计算下一个映射;
步骤C4,如果所有映射均计算完,仍不存在任何一个等于H0,那么解密失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门智芯同创网络科技有限公司,未经厦门智芯同创网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410540011.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于尾气净化的风机系统
- 下一篇:一种基于多粒度的布料图像检索方法