几个用FPGA破解的项目-暴力破解MD5

描述

MD5原理

在密码领域,美国一直在向全世界推广MD5密码,还多次声称:没人能破解我们的MD5密码,就连著名的密码学家Biham,也把破解MD5密码作为一生的梦想。(这是多年前的言论。不要过度解读,做个简单开场白~)

MD5目前应用比较多的就是文件校验,当然作为一种“密码”其也可以在密码管理以及数字签名领域使用。

破解器

其加密原理如下:

破解器

MD5刚出来的时候的确加密性很强,但是经过几年的发展,在1996年左右被发现是可以被破解的,同时在2004年由中国王小云教授发现其也不可以防碰撞(所谓“碰撞“并不是正向破解,而是用其他方式生产一个一样的HASH值)。

既然MD5可以被破解,那我们今天就看几个用FPGA破解的项目~

fpga-md5-cracker

https://github.com/John-Leitch/fpga-md5-cracker

用verliog编写的64级流水线实现MD5破解。在 DE0-Nano(Altera FPGA) 上以 100mhz 时钟进行可靠的运行,每秒计算 1 亿次HASH。

介绍

这个项目是一个硬件 MD5 破解器,它围绕 MD5 哈希函数的高吞吐量、流水线特点而实现的。它由三个设备组成:

DE0-Nano FPGA

主力军。设计相当大,消耗了 21,257/22,320 (95%) 个逻辑单元。

破解器

Netduino Plus 2

破解器

充当程序员,通过 SPI 与 FPGA 通信,同时使用以太网和计算机连接。选择 NP2 是因为它是我手头上唯一的 3.3v SPI 主设备。其他设备也可以工作,但如果使用 DE0-Nano,请记住 Cyclone IV 不能承受 5v。还值得注意的是,如果选择另一种设备,可能不得不重写程序员,因为当前的实现是用 C# 编写的。

破解器

Arduino液晶屏

破解器

任何 Hitachi HD44780 兼容的 LCD 都应该可以工作。为了简化接线,破解者使用 4 位模式的 LCD。

关于硬件连接,项目里都有详细的设计。

ntlmv2-cracker

https://github.com/nimrods8/ntlmv2-cracker

使用Max10 FPGA作为并行计算平台,128级流水线破解MD4/MD5

在上面项目基础上,使用Max10 FPGA作为并行计算平台,128级流水线破解MD4/MD5。

md5cracker

https://github.com/zhemao/md5cracker

基于Cyclone V SoC 的硬件 MD5 破解器

因为SoC中有双核的ARM所以不需要其他的处理器进行通信。

md5-hbf

https://github.com/fallen/md5-hbf

md5 硬件暴力破解 IP 核

使用 Swapnajit Mittra 制造的 pancham MD5 IP 核 < http://www.angelfire.com/ca/verilog >

该设计可以在 spartan 3E 500K 门上以 50MHz 运行。

它已成功综合并用于 Spartan-3A XC3S400A 和 Spartan-3AN XC3S700AN

分别在 AVNET Spartan-3A fpga 开发板和 Xilinx Spartan-3AN 入门套件上。

当暴力破解显示 md5 哈希冲突时,usart 输出有效并显示明文密码。

其他

https://github.com/dnet/fpga-md5

https://github.com/davidgfnet/fpga-hash-bruteforcer

https://github.com/ebrahimAlhaddad/MD5-Hardware-Accelerator

https://github.com/bhagyasr/MD5-Cracker

总结

今天介绍的MD5破解项目,只有前三个项目值得学习参考,后面项目挺乱的,并且有些还缺少文件,只适合参考。

今天的项目虽然相对简单并且不“入流”,但是对于搞密码学的人来说,这些都是他们曾经奋斗的方向~

最后,还是感谢各个大佬开源的项目,让我们受益匪浅。后面有什么感兴趣方面的项目,大家可以在后台留言或者加微信留言,今天就到这,我是爆肝的碎碎思,期待下期文章与你相见。

审核编辑 :李倩

 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分