SHA-3 不是对旧哈希打补丁,而是一种全新骨架:把消息吸进一个固定容量的状态,靠置换函数反复搅拌,再从状态里挤出任意长度的输出。本文拆解海绵构造的 rate 与 capacity 分工、为什么同一个状态既能当哈希又能当流加密和密钥派生,以及 Keccak 与 SHA-3 的命名差别和以太坊的坚持。
汇总与「密码学」相关的文章,帮助你系统了解该主题。
SHA-3 不是对旧哈希打补丁,而是一种全新骨架:把消息吸进一个固定容量的状态,靠置换函数反复搅拌,再从状态里挤出任意长度的输出。本文拆解海绵构造的 rate 与 capacity 分工、为什么同一个状态既能当哈希又能当流加密和密钥派生,以及 Keccak 与 SHA-3 的命名差别和以太坊的坚持。
门限签名要先有一把没有完整形态的私钥。DKG 让 n 个参与者共同生成密钥:没有人见过完整私钥,也没人能把密钥往自己有利的方向偏。本文讲 Feldman 可验证分享、Pedersen 两轮回铸协议、GJKR 发现的偏置攻击与修补,以及以太坊信标链生成仪式这类万人大众筹钥匙的现实案例。
以太坊的配对预编译长期只有 BN254 一条曲线,安全强度约 80 比特。EIP-2539 提议为 BLS12-377 增加一组预编译,把配对友好曲线的选择权交给合约。本文讲清这条曲线的来路与提案的编码设计,以及它停留在 Stagnant 的原因。
以太坊信标层的RANDAO依赖验证者提交的reveal值,而现行reveal只是对轮次编号的签名,提交前结果就可被推算。EIP-7998提议把上一轮的混合值与当前槽位一并纳入签名,把它升级为每个槽位独立、连提交者自己都无法预测的VRF。本文解释RANDAO的混合机制、可预测性的隐患与升级后的应用空间。
格密码的核心运算是多项式乘法,而数论变换NTT能把它从平方级降到准线性。EIP-7885提议在EVM中加入NTT正逆变换等预编译合约,为抗量子签名和STARK验证提速。本文解释NTT在算什么、预编译方案怎么定价,以及草案阶段的不确定之处。
零知识与聚合签名都需要把任意消息变成曲线上的点,且不能知道离散对数。EIP-3068 提议给 BN256 加一个哈希进曲线的预编译来便宜地做这件事。本文解释为什么直接哈希会坏、标准方法长什么样,以及这条停在停滞状态的提案在生态里的位置。
区块哈希、交易哈希、默克尔节点全部是两次 SHA-256 的结果,多跑一遍不是仪式感。本文从 Merkle-Damgard 结构的长度扩展缺陷讲起,说明双哈希如何顺手堵上这扇门,以及比特币在哪些地方仍只用一次哈希。
闪电网络节点之间的连接在发出第一条业务消息之前,就已经完成了一次基于 Noise 框架的加密认证握手。本文拆解 BOLT8 使用的 Noise_XK 模式、三条握手消息的结构、为什么收方身份可以不暴露,以及密钥轮换的意义。
AsicBoost 利用 SHA-256 处理 80 字节区块头时前 64 字节可复用的结构性特点,为矿机省下可观的功耗。公开版靠版本号碰撞一眼可见,隐蔽版靠默克尔根尾字节碰撞藏进正常结构。本文拆解两种形态的原理,以及隔离见证如何让隐蔽版难以为继。
以太坊的配对运算预编译只为固定曲线而设,想验证 BLS 签名就得逐条 EIP 加新预编译。2019 年的 EIP-1962 设想一个运行时定义曲线的通用预编译:一条曲线说明串,配上标量乘、配对和大域运算。提案已停滞,但它提出的问题正被 2537 式的定点路线逐一回应。