文章摘要
作者在实现NIST的后量子签名算法ML-DSA时遇到验证失败问题,尝试调试未果后意外发现Claude Code能快速定位到低层加密代码中的复杂错误。这让他意识到AI工具在调试领域的潜力超出预期,成为质疑者值得参考的案例。
文章总结
标题:Claude代码能调试底层加密算法
作者在四天内用Go语言实现了NIST去年夏天发布的后量子签名算法ML-DSA,但在测试时发现验证功能总是拒绝有效的签名。在疲惫之余,他尝试让Claude Code(Anthropic公司提供的AI工具)帮忙调试,结果这个AI工具迅速找出了一个相当复杂的底层bug。
具体来说,作者在签名和验证过程中错误地两次对w1值进行了HighBits操作。Claude Code不仅准确指出了问题所在,还编写了测试用例验证假设,并提出了修复方案。虽然作者最终重写了修复代码,但这个案例展示了AI在调试复杂加密算法时的实用价值。
作者还进行了两次对照实验: 1. 第一次实验中,Claude成功找出了导致无限循环的常量计算错误,耗时比作者手动调试更短。 2. 第二次实验中,Claude虽然花费更长时间,但还是发现了签名值长度错误的问题(32位而非32字节)。
值得注意的是: - Claude在三次调试尝试中都一次成功,且无需额外帮助 - 作者强调不需要完全信任AI的输出,而是将其作为节省调试时间的工具 - 作者建议开发更好的LLM工具,比如在测试失败时自动触发AI调试
文章最后展示了作者的工作赞助方信息,包括Geomys组织及其支持者。作者认为可持续的开源加密协议维护对区块链技术普及至关重要。
(注:文中关于赞助商的具体宣传内容已适当精简,保留了与主题相关的核心信息)
评论总结
以下是评论内容的总结,平衡呈现不同观点并保留关键引用:
对LLM工具形态的批评与期待
- 认为当前聊天形式限制了LLM潜力,期待更专业的工具形态
- 关键引用:"chat is such a garbage modality" (qsort)
- "continuously running mode that would ping me would be interesting" (qsort)
CLI工具的高效性
- 强调命令行工具的强大功能和成本优势
- 关键引用:"CLI terminals are incredibly powerful...free if you use Gemini CLI" (Frannky)
- "create smart programs just with CLI + MCP servers + MD files" (Frannky)
LLM调试功能的应用
- 讨论通过Git钩子/代理自动调试的实践方案
- 关键引用:"use Git hooks...spawn an instance of claude" (delaminator)
- "have coding agents do the work of digging around hunting down bugs" (simonw)
密码学领域的特殊适用性
- 指出LLM在密码学调试中的系统性优势
- 关键引用:"Claude takes standard coding issues and systematizes them" (lordnacho)
- "ideal scenario...easily verifiable through running tests" (didibus)
使用策略建议
- 提倡"AI优先"的使用哲学
- 关键引用:"ask the AI first...learn how to structure your requests" (XenophileJKO)
- "throw away your process...see how the model does" (XenophileJKO)
潜在风险警告
- 对密码学实现中引入新函数的担忧
- 关键引用:"giving out very bad advice...shooting someone in the foot" (cluckindan)
- "can be a liability...assume it is nodejs project" (phendrenad2)
营销现象观察
- 注意到Anthropic的营销力度加大
- 关键引用:"tons of Anthropic Instagram ads...quarter of all sponsored content" (pton_xd)