论文部分内容阅读
计算机技术的不断发展,使得计算机已经逐渐融入了人们的工作与日常生活中。新型的利用计算机进行违法犯罪的案件也越来越多,大量与计算机相关的犯罪案件的调查取证工作都需要获取计算机中的电子证据。在调查取证过程中,调查取证人员往往需要破译相关计算机中的加密数据信息或系统安全口令,这就需要进行大量的密码破解工作。MD5算法作为一种常用的加密算法应用于很多计算机安全相关的领域。由于MD5算法是一种高强度的加密算法,在以往的破解中,一般只是利用CPU的运算能力,破解效率很低。随着计算机图形处理器GPU进入通用计算领域,高性能计算机领域中出现了搭载有多块GPU显卡作为运算模块的SMP集群。为了提高MD5算法的破解效率,自然就想到了能否在基于GPU的SMP集群上实现一个MD5高速并行破解系统,充分利用SMP集群和GPU的运算能力,实现对MD5算法的快速破解。本文详细分析了高性能并行计算技术和Fermi架构新型GPU以及CUDA计算统一设备架构,详细分析了基于GPU的SMP集群在高性能计算中的优势。通过仔细研究新型采用Fermi架构的GPU的硬件特点,总结采用CUDA编程的方法和优点,确定在基于GPU的SMP集群系统中使用MPI-CUDA的双层混合并行编程模型开发MD5高速并行破解系统。以实际需求为牵引详细研究了MD5算法及破解方法,分析了破解算法的可并行性,阐述了如何对密码破解计算任务进行分解,设计了破解系统的程序流程。在本文的实现部分,具体描述了在基于GPU的SMP集群系统上如何利用MPI-CUDA并行混合编程模型进行编程。最后通过实验对系统进行测试,发现系统中的不足,并对破解系统进行优化,并总结分析了系统采用MPI-CUDA编程模型的优缺点和程序优化方法。最终验证结果是采用该系统MD5算法破解效率比传统的基于CPU的破解算法提高了35倍,优化后提高到约95倍。