调试底层密码学代码

过去几天,我用 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 提出的代码修复被描述为“平庸”或不完整,需要人工重写。该工具在处理看似随机的巨大输出时注意力受限,发现“较简单”的错误反而比复杂逻辑错误更难。最终实施必须经过人工审查。。

工具

Claude Code

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 逻辑中。如果错误涉及数据编码,请检查位/字节长度不匹配。如果涉及数学运算,请检查变换是否被重复应用。提供关于错误及涉及具体行的简明摘要。在我确认之前,不要继续执行其他任务。

原始来源

来源报告未经独立核验。发布日期为本站案例发布日期,并非原始文章日期。

更多同类案例 · 安全与运维