标签:
[Code]
Section 0:introduction of MD5, and some of its application [Ref]
STEP1:从plaintext末尾开始填充1000000.....,直到(数据长度)%512=448【单位:bit STEP2:继续填充64bit,这64bit里存储的是填充前plaintext的长度 STEP3:将填充好的信息拆分成整数个512bit的blocks,一个一个block处理 STEP4:FOR EACH 512b_BLOCKS: Round(1..4)
Application:
Unix系统中的密码
Section 1:Cracking MD5
1.MD5理论上不可能恢复出原文(According to Information Theory)
但是存在暴力破解方法
常用爆破方法:彩虹表、暴力
彩虹表:提前打好的一个大大大大大大Table,里面记录一大坨plaintext和对应的MD5
暴力:穷举
破解密码?无需从MD5恢复出plaintext。只需枚举plaintext,然后找到MD5相同的即可
Section 2:usage of CUDA in parallel computing, and the parallel algorithm for cracking MD5
2.1 Introduction of CUDA
2.2 parallel cracking algorithm
将plaintext解空间(alphabet的排列组合)分解成若干组,交给不同的GPU SM并行计算出MD5,并与原MD5比对。
Section 3:Performance testing
好的很呐
Section 4:Conclusion
虽然可以爆破,但是对于长密码,代价还是巨大的。MD5还能接着续几年
Section ?:Future Researching
[信安Presentation]一种基于GPU并行计算的MD5密码解密方法
标签:
原文地址:http://www.cnblogs.com/pdev/p/5388996.html