当前位置:网站首页>优秀的 Verilog/FPGA开源项目介绍(三十零)- 暴力破解MD5
优秀的 Verilog/FPGA开源项目介绍(三十零)- 暴力破解MD5
2022-07-26 08:53:00 【碎碎思】

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破解项目,只有前三个项目值得学习参考,后面项目挺乱的,并且有些还缺少文件,只适合参考。
今天的项目虽然相对简单并且不“入流”,但是对于搞密码学的人来说,这些都是他们曾经奋斗的方向~
最后,如果觉得今天项目无聊的话,我给大家咬个打火机吧~
最后,还是感谢各个大佬开源的项目,让我们受益匪浅。后面有什么感兴趣方面的项目,大家可以在后台留言或者加微信留言,今天就到这,我是爆肝的碎碎思,期待下期文章与你相见。
优秀的 Verilog/FPGA开源项目介绍(二十九)- 开源网站
边栏推荐
- at、crontab
- C Entry series (31) -- operator overloading
- Oracle 19C OCP 1z0-082 certification examination question bank (13-18)
- Oracle 19C OCP 1z0-082 certification examination question bank (36-41)
- Cve-2021-21975 VMware SSRF vulnerability recurrence
- 03 exception handling, state keeping, request hook -- 04 large project structure and blueprint
- Typescript snowflake primary key generator
- uni-app 简易商城制作
- [suggestions collection] summary of MySQL 30000 word essence - locking mechanism and performance tuning (IV) [suggestions collection]
- idea快捷键 alt实现整列操作
猜你喜欢
[search topics] flood coverage of search questions after reading the inevitable meeting
The lessons of 2000. Web3 = the third industrial revolution?
[encryption weekly] has the encryption market recovered? The cold winter still hasn't thawed out. Take stock of the major events that occurred in the encryption market last week
Review notes of Microcomputer Principles -- zoufengxing
Sklearn machine learning foundation (linear regression, under fitting, over fitting, ridge regression, model loading and saving)
unity TopDown角色移动控制
CSDN TOP1“一个处女座的程序猿“如何通过写作成为百万粉丝博主?
C#入门系列(三十一) -- 运算符重载
Day06 homework - skill question 7
at、crontab
随机推荐
Overview of motion recognition evaluation
Deploy prometheus+grafana monitoring platform
My meeting of OA project (meeting seating & submission for approval)
TypeScript版加密工具PasswordEncoder
[encryption weekly] has the encryption market recovered? The cold winter still hasn't thawed out. Take stock of the major events that occurred in the encryption market last week
TCP solves the problem of short write
CSDN Top1 "how does a Virgo procedural ape" become a blogger with millions of fans through writing?
Store a group of positive and negative numbers respectively, and count the number of 0 -- assembly language implementation
Super potential public chain dfinity -- the best time for DFI developers to enter
Pytoch realizes logistic regression
Rocky基础练习题-shell脚本2
The largest number of statistical absolute values --- assembly language
Mutual transformation of array structure and tree structure
Nuxt - 项目打包部署及上线到服务器流程(SSR 服务端渲染)
Neo eco technology monthly | help developers play smart contracts
ES6模块化导入导出)(实现页面嵌套)
(1) CTS tradefed test framework environment construction
day06 作业--技能题2
PHP page value transfer
合工大苍穹战队视觉组培训Day6——传统视觉,图像处理