调试底层密码学代码
过去几天,我用 Go 新写了一个 ML-DSA 实现。ML-DSA 是 NIST 去年夏天发布规范的一种后量子签名算法。任务:作者用 Go 实现了 ML-DSA 算法,但验证功能始终失败。在手动调试受阻后,作者使用 Claude Code v2.0.28(Opus 4.1 模型)分析代码库。AI 识别出 Verify 函数中存在逻辑错误,即高位部分被重复提取。作者审查了该发现,弃用了 AI 提出的修复方案,并手动重构了代码以提高清晰度。;工具:Claude Code。人工角色:原始帖子没有说明人如何参与。;局限:作者从 Anthropic 获得了免费的 Claude Max 访问权限,这可能引入偏见。AI 提出的代码修复被描述为“平庸”或不完整,需要人工重写。该工具在处理看似随机的巨大输出时注意力受限,发现“较简单”的错误反而比复杂逻辑错误更难。最终实施必须经过人工审查。。
工具
Agent Work Atlas 发布日期:
概述
过去几天,我用 Go 新写了一个 ML-DSA 实现。ML-DSA 是 NIST 去年夏天发布规范的一种后量子签名算法。
工作流程
作者用 Go 实现了 ML-DSA 算法,但验证功能始终失败。在手动调试受阻后,作者使用 Claude Code v2.0.28(Opus 4.1 模型)分析代码库。AI 识别出 Verify 函数中存在逻辑错误,即高位部分被重复提取。作者审查了该发现,弃用了 AI 提出的修复方案,并手动重构了代码以提高清晰度。
原文报告的结果
Claude Code 成功识别了密码学实现中的三个不同底层错误,包括复杂的逻辑错误和常量计算错误。作者报告称,这节省了显著的调试时间,估计每个错误节省一到两个小时。AI 提出的修复方案通常被弃用,转而进行手动重写,但其诊断准确性很高。
人工角色
原始帖子没有说明人如何参与。
局限
作者从 Anthropic 获得了免费的 Claude Max 访问权限,这可能引入偏见。AI 提出的代码修复被描述为“平庸”或不完整,需要人工重写。该工具在处理看似随机的巨大输出时注意力受限,发现“较简单”的错误反而比复杂逻辑错误更难。最终实施必须经过人工审查。
试一试
我正在调试 [replaceable: 密码学算法,如 ML-DSA] 的 Go 实现,代码位于 [replaceable: 代码路径,如 src/crypto/internal/fips140/mldsa]。测试失败,报错为 [replaceable: 错误信息,如 invalid signature]。使用 Claude Code 和 Opus 4.1。通过 [replaceable: 测试命令,如 bin/go test ...] 运行测试。分析代码以找出失败的根本原因。不要自动应用修复。相反,输出关于错误位置和逻辑错误的详细解释。我将审查你的分析并手动实施修复。首先确定问题是在 Sign 还是 Verify 逻辑中。如果错误涉及数据编码,请检查位/字节长度不匹配。如果涉及数学运算,请检查变换是否被重复应用。提供关于错误及涉及具体行的简明摘要。在我确认之前,不要继续执行其他任务。
来源报告未经独立核验。发布日期为本站案例发布日期,并非原始文章日期。