几个用FPGA破解的项目

几个用FPGA破解的项目,第1张

MD5原理

 

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

 

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

几个用FPGA破解的项目,bd47f856-0bb1-11ed-ba43-dac502259ad0.png,第2张

其加密原理如下:

几个用FPGA破解的项目,bd74d97a-0bb1-11ed-ba43-dac502259ad0.png,第3张

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%) 个逻辑单元。

几个用FPGA破解的项目,bda97338-0bb1-11ed-ba43-dac502259ad0.png,第4张

Netduino Plus 2

几个用FPGA破解的项目,bddc8b74-0bb1-11ed-ba43-dac502259ad0.png,第5张

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

几个用FPGA破解的项目,be35c036-0bb1-11ed-ba43-dac502259ad0.png,第6张

Arduino液晶屏

几个用FPGA破解的项目,be571984-0bb1-11ed-ba43-dac502259ad0.png,第7张

任何 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破解项目,只有前三个项目值得学习参考,后面项目挺乱的,并且有些还缺少文件,只适合参考。

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

最后,如果觉得今天项目无聊的话,我给大家咬个打火机吧~

 

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

      审核编辑:彭静

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2711472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存