异构模型下彩虹表密码分析算法的改进与实现

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:TNT2000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
密码分析的问题可以通过穷搜索或查表法解决。但是它们分别需要需要大量的时间与存储空间。进而,穷搜索与查表法存在比较大的局限。彩虹表密码分析算法是时间与空间两个维度上的一类折中算法。与前者相比,彩虹表的适用性更广2003年,Oechslin提出了彩虹表算法,并使用它实现了对Win-dows XP登录系统使用的LM算法的破解。但是,Oechslin没有深入分析预计算所需要的时间。我们发现,在彩虹表的很多应用中,预计算所需的时间仍然在可接受的范围之外。因此,本课题主要动机是减少预计算所需要的时间。近些年来,科学计算领域已经开始大量采用基于中央处理器与图形处理器的异构模型。在所有异构计算解决方案中,NVIDIA的统一计算架构(CUDA)应用最为广泛。新架构给我们带来了新的机遇,与此同时也带来了新的挑战。鉴于彩虹表算法的实际需求以及CUDA异构模型能提供的强大计算能力,本课题基于CUDA异构模型,改进与实现了彩虹表算法。具体而言,本文涉及的主要工作与创新点如下:一、研究彩虹表算法,并提出改进方案。本文分析了在线阶段中,理论研究与工程实现之间的差异。基于此,提出了优化参数选择与改进表结构的方法。优化参数选择侧重在通用性。而改进表结构侧重在一类新的结构。二、研究CUDA编程模型,实现彩虹表算法。本文讨论了CUDA编程的特性与优化方法。首次全面考虑异构模型的引进对彩虹表每一个阶段的影响。与此同时,考虑到图形处理器的特点,本文还讨论了归约函数的实现与线程参数的选择。最后,基于彩虹表与图形处理器的特性,对HMAC-MD5算法的实现提出了改进的方法。三、基于改进与实现,完成了对比实验。基于提出的方案,在多平台上完成了离线与在线阶段的对比实验。通过对比实验,一方面,验证了文章中的一些结论;另外一方面,也验证了与传统的计算模型相比,异构模型下,离线阶段与在线阶段分别只需要1/40与1/3的成本。最后,通过深入分析实验结果,我们得出彩虹表的瓶颈在硬件与函数实现。破解的瓶颈则在对链重构上
其他文献
微电子工艺的快速发展推动集成电路进入了片上系统SoC(System onChip)时代,随着设计复杂度的提高,传统的设计方法已无法满足SoC设计的需要。软硬件协同设计强调在系统设计初期
随着多种多样的蠕虫不断地涌入到网络中,Intemet的安全问题日趋严重。近年来,蠕虫的传播方式也趋于多样,甚至出现了利用流行的P2P系统或P2P应用程序作为载体进行初期的传播,并且
能够让机器自主的发现病毒、木马,并实现自身免疫,是计算机诞生以来人类的一个梦想。入侵防御系统(IPS)的研究目的在于实现计算机本身对病毒、木马的免疫反应,而NEL规则自动生成
传统的基于网页“超链”的搜索引擎只能查到HTML格式,导致以其他形式存储的信息会长期地“沉没”在信息的海底中;传统搜索引擎采取的是集中式的资源存储和管理方式,会导致硬件成
医学影像三维可视化系统是计算机科学和图像处理在生物医学工程上的重要应用,它涉及数字图像处理、计算机科学以及生物医学等多个技术领域,是一项多学科交叉的研究课题。近年来
当前网络安全的威胁日益严重,各种网络安全事件层出不穷。由于绝大多数的攻击者都使用伪造的IP地址,使得难以区分攻击者的来源,更难以对攻击者进行追踪定位,从而不能有针对性
人工神经网络是为了研究人类的认知过程而发展起来的,它的中心问题是面向研究对象的机器学习方法与学习机器的构造问题。混沌现象是非线性确定性系统的一种内在随机过程的表现
随着移动通信技术和GIS技术的发展,人们生活水平的逐步提高,位置服务在国内逐渐兴起。由于国内电信运营商拥有无线网络设施、高精度定位系统以及多种增值业务系统,他们在发展位
随着计算机在社会各个领域的广泛应用,人们对信息系统的依赖程度越来越高。数据库作为信息系统的重要组成部分,存储着大量的重要数据,在整个系统的构建和应用中承担着核心的角色
随着计算机技术和微电子技术的高速发展,具有可靠性高、扩展性强、开发应用程序简单等优点的基于32位嵌入式处理器和嵌入式操作系统的具备通讯能力的嵌入式系统成为当前新的发