Hacker News | 📄 原文链接 | 2026-10-18 收录

cryptoint:让 C 代码真的常量时间 — Hacker News 中文摘要

来源:cr.yp.to — 19 分 · by akkartik · 0 条评论

📋 概述

djb(Daniel J. Bernstein)的 cryptoint 是一套给 C/C++ 用的常量时间整数运算库:crypto_int64_max 这类函数存在的意义,是把“秘密数据不能影响执行时间”这件事从程序员脑子里搬进库。因为编译器会把 x>y 之类的比较优化成分支,破坏原本常量时间的代码,cryptoint 用全局 volatile 零变量等手法阻止编译器内部引入条件判断。它近乎 header-only,能自动在汇编与可移植代码间选择;每个函数除了常规测试,还做符号执行与 SMT 求解的等价性检查。

🔑 核心要点

💡 金句

crypto_int64_max(x,y) takes responsibility for avoiding data flow from x and y into timings
← 返回 Hacker News 首页