(04) 笔记
工作笔记。
这些工作笔记关心的是:软件说法怎样变得可核对——靠接口、测试、发版证据、运行边界,以及已交付系统背后的取舍。只读一篇的话,从讲常量时间说法的那篇开始。
-
「共用代码」和「共用一个包」,是两个决定
两样东西开始共用代码时,下意识的动作是把它抽成一个独立的包。这是错的判据。对的那个是一条触发条件——在谁都还不需要它的时候,就先定好、先写下。 继续读 →
-
常量时间的说法,是信任问题,不是理解问题
解释「常量时间」是最容易的部分,也不是有疑心的读者真正需要的。能把可信度交出去的,是一个必须故意失败的泄漏检测器,和一句在别人追问之前就先写下的但书。 继续读 →
-
什么都没变的版本,就不发
发出去的版本号是对字节的承诺,不是工作量的流水账。这篇讲 gm-crypto-rs 里几个最吃紧的周期,为什么干脆没发。 继续读 →
-
把 unsafe 挡在默认构建之外
快路径需要 unsafe。与其让它们进核心,不如把它们放进一个你主动选用的 crate——这样核心始终钉着 unsafe_code = "forbid"。 继续读 →
-
符合标准,就是逐字节一致——否则不算
密码学的测试不问「输出看着对不对」。它问的是:在相同的模式语义下,输出字节是否与参考实现完全一致——而难就难在后半句。 继续读 →
-
在 CI 里拦住常量时间回归
「常量时间」是那种你做对一次、又会悄悄丢掉的性质。这篇讲 CI 里那根绊线:时序泄漏一回来就让构建变红——以及为什么它是检测,不是证明。 继续读 →
-
开个笔记本
公开的工程笔记本要站得住,每篇至少得有一个有用的判断、一个具体决定,以及让多疑读者能顺着查的证据。 继续读 →