当前位置:网站首页>优秀的 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开源项目介绍(二十九)- 开源网站
边栏推荐
- Web3 Games: current situation and future
- PAT 甲级 A1013 Battle Over Cities
- Foundry tutorial: writing scalable smart contracts in various ways (Part 1)
- pl/sql之集合-2
- 正则表达式:判断是否符合USD格式
- Uni app simple mall production
- Oracle 19C OCP 1z0-082 certification examination question bank (36-41)
- The largest number of statistical absolute values --- assembly language
- Day06 homework -- skill question 1
- Arbitrum Nova release! Create a low-cost and high-speed dedicated chain in the game social field
猜你喜欢

Review notes of Microcomputer Principles -- zoufengxing

Study notes of automatic control principle --- stability analysis of control system

Okaleido launched the fusion mining mode, which is the only way for Oka to verify the current output

《Datawhale熊猫书》出版了!

数据库操作 题目一

JDBC数据库连接池(Druid技术)

What are the contents of Oracle OCP and MySQL OCP certification exams?

Huffman transformation software based on C language

Vision Group Training Day5 - machine learning, image recognition project

Probability model in machine learning
随机推荐
Ansible important components (playbook)
网络安全漫山遍野的高大上名词之后的攻防策略本质
In the first year of L2, the upgrade of arbitrum nitro brought a more compatible and efficient development experience
Form form
unity简易消息机制
Espressif plays with the compilation environment
The lessons of 2000. Web3 = the third industrial revolution?
Huffman transformation software based on C language
Mutual transformation of array structure and tree structure
JS file import of node
Dynamic SQL and exceptions of pl/sql
Replication of SQL injection vulnerability in the foreground of Pan micro e-cology8
[recommended collection] MySQL 30000 word essence summary + 100 interview questions (I)
CSDN Top1 "how does a Virgo procedural ape" become a blogger with millions of fans through writing?
The largest number of statistical absolute values --- assembly language
Study notes of automatic control principle -- dynamic model of feedback control system
Pytoch realizes logistic regression
Cve-2021-3156 duplicate of sudo heap overflow privilege raising vulnerability
Pxe原理和概念
03 exception handling, state keeping, request hook -- 04 large project structure and blueprint
