论文部分内容阅读
随着信息科技的飞速发展,人们对于信息的安全性需求变得越来越迫切,加密解密是信息安全中的关键问题。然而加密算法安全性的提高和数据集规模的增长降低了暴力破解的速度和可行性,故提高暴力破解的速度成为密码破解的一个重要研究方向。同时,近年来,GPU高性能计算的发展相当迅速,与传统的CPU相比,基于CUDA的GPU技术在处理数据密集型问题上已被证明能提供很大的性能提升。 本文首先讨论了GPU的体系结构,详细介绍了CUDA的编程模型及GPU并行计算机制中CUDA的实现方法。其次在现有的分组密码暴力破解算法的基础上,提出了一种基于GPU的通用数据并行破解框架。该框架通过将暴力破解所需大量计算的部分从CPU负载在GPU上来提高计算的吞吐量。 文章进一步讨论了典型的分组密码TEA加密算法,研究了改进后用于QQ协议通信的TEA加密算法,并提出了GABFA算法(GPU-AcceleratedBruteForceAttack),即利用GPU通用数据并行处理能力将破解算法移植到GPU上;然后根据GPU的结构和算法的特点进行了存储、线程配置等多方面的优化设计。通过GPU和CPU平台上的对比实验得到GPU加速的结果,其证明了将破解密码工作从CPU负载到GPU的加速优势。同时对实验结果及优化后的效果进行了深入的分析,为今后其他密码算法的GPU加速破解实现提供了指导。