本文详细介绍了一个基于FPGA的SHA-256密码破解器,该破解器运行在连接到树莓派5的LiteFury开发板上。最初的单核SHA-256计算器设计通过集成12个并行的`sha256_core_pif`模块得到了增强,显著提高了吞吐量。
关键优化包括将K矩阵外部化和并行化W矩阵的初始化,从而减少了核心逻辑并提高了性能。一个`SHA256_manager`模块协调各个核心并将其输出与目标哈希进行比较。
系统迭代地对候选字符串进行哈希运算,采用并行处理方式。Python驱动程序利用赛灵思的xDMA驱动程序通过PCIe与FPGA通信,写入寄存器以发送目标哈希,并读取回恢复的字符串以及找到它的核心的索引。
由于时间限制,AXI时钟速度降低到62.5 MHz。该项目展示了FPGA在加速密码学任务方面的强大功能,并突出了FPGA在网络安全领域日益增长的重要性。
作者最初发现像 Claude 3 Opus 和 OpenAI o3 这样的大型语言模型 (LLM) 对日常编码来说过于缓慢且昂贵,更倾向于使用 Claude Sonnet 等速度更快的模型。然而,o3 优越的工具使用和自我纠错能力证明出奇地高效,尽管每天的成本约为 50 美元,但在实践中却能更快地得到结果。 尝试之后,作者及其联合创始人发现 o3 的好处超过了成本,因为它生成的代码风险更低,更频繁地找到相关的代码,并且更严格地遵守规则。对大型语言模型的投资也帮助公司开发者更早地发现错误,使用更可靠的技术,改进 Cursor 规则,改进开发脚本,编写更易读的代码,并对模型产生同理心。 这导致作者将 Cursor 的支出上限提高到每月 1000 美元,这一决定也得到了业内其他人的支持。随着近期价格下降以及后台代理等新功能的出现,重点正从证明成本的合理性转向探索如何同时利用多个代理,从而使开发人员能够专注于更高层次的任务,例如系统设计和客户价值。
Collin Richards 将 tmux 从 C 语言重写为 Rust 语言,作为一项业余项目,最初使用了 C2Rust 转换器。然而,生成的 Rust 代码难以维护且体积显著增大,因此他进行了手动翻译。 该项目涉及理解 tmux 的 autotools 构建流程,将 Rust 代码集成作为静态库,最终切换到一个链接 C 代码的 Rust 二进制文件。采用了逐函数翻译的方法以确保持续验证。 Richards 遇到了一些有趣的错误,例如 C 语言中的隐式函数声明以及 C 和 Rust 之间不匹配的结构体定义。他使用 Rust 的原始指针来处理 C 语言的原始指针,用带标签的块和循环来模拟 goto 语句,并使用泛型 trait 来复制侵入式数据结构。Yacc 被 lalrpop crate 替换用于解析,从而完全去除了 C 代码。虽然转换后的代码并没有比 C2Rust 的输出好多少,并且仍然存在 bug,但 Richards 已经发布了 0.0.1 版本,并计划将代码库转换为安全的 Rust 代码。
帖子 - walterfreedom walterfreedom 🐠 鱼:关闭 © 2025 walterfreedom。版权所有。
请启用JavaScript和Cookie以继续
西蒙妮·斯卡达帕内(Simone Scardapane)的论文“爱丽丝在可微分仙境中的冒险——第一卷,对这片土地的游览”(Alice's Adventures in a Differentiable Wonderland -- Volume I, A Tour of the Land)是可微分编程和神经网络的入门读物。该论文以“爱丽丝”这样的新手为目标读者,重点介绍了通过自动微分优化函数的核心概念的直观理解。 这篇论文探讨了各种常用神经网络设计,这些设计常用于处理序列、图、文本和音频。它强调了这些网络背后的关键设计技术,包括卷积、注意力和循环模块。通过弥合理论知识和实践代码(使用PyTorch和JAX)之间的差距,这篇论文旨在使读者能够理解大型语言模型(LLM)和多模态架构等复杂模型。本质上,这篇论文是一份关于可微分编程和神经网络设计的自包含指南,使读者能够掌握并构建最先进的AI模型。