“Cryptography”
哈希函数
哈希函数:将任意长度的消息,映射为一个固定长(256bit)的随机数。这段随机数称为消息摘要。摘要的长度一般不低于 256 比特。在现实世界的密码学中,算法的安全级别不能低于 128 比特。根据...
TLS vs. Signal 端到端加密
加密端到端加密:可以避免服务器查看用户之间的通信消息。前向安全/前向保密:即使密钥在某个时候泄露,攻击者也不能用该私钥解密之前的消息。后向安全/后向保密:即使密钥在某个时候泄露,攻击者也不能据此...
AES 对称加密
加密流程AES 是一个分组密码,每组 16 bytes,即 128 bit(也有 256 bit 的,不过 128 bit 的安全性就足够了)将 128 bit 的明文写为 $4*4$ 的矩阵 ...
TSS vs SSS vs MultiSig
对于单签,私钥只由一个人保管,私钥的丢失意味着永远失去了资产。用户也可以选择多复制几份私钥存到不同的设备上,但这样增加了被盗的风险。而 MultiSig 或 TSS 将保管私钥的责任分散到了多方...
AES vs RSA vs ECC
AES-256 是抗量子安全的,RSA 和 ECC 是量子不安全的。AES-GCM 可以检测密文是否被篡改。ECC 被认为是 RSA 的现代继承者,因为在相同的安全级别上使用比 RSA 更小的密...
Signal 协议:X3DH 和 Double Ratchet
Signal 协议采用首次信任(Trust On First Use, TOFU)方法,用户盲目信任第一次连接时看到的密钥,并在未来拒绝任何更改。不过允许用户稍后对公钥验证,这种验证是在带外完成...
TSS 两方私钥分片推第三方
对于 2 / 3keygen各方构造随机多项式:$p_1(x) = 1 + 2x$$p_2(x) = 2 + 3x$$p_3(x) = 3 + x$各方算出 $p_i(j)$:$p_1(1)=3...
MPC HD Wallet [2]
本文整理自 BIP32-Compatible Threshold Wallets目标设计一个兼容 BIP32 的 HD 钱包,以支持门限 $(t, n)$ 签名。在推导子钱包的过程中无需交互。n...
MPC HD Wallet
本文根据 HD wallets and the Legendrery PRF in MPC 整理目标实现 hardened 类型的 MPC HD 钱包这需要设计一个 PRF,根据 $[K]$ 和...
UC 安全模型
UC 安全由 Canetti 提出 UC 框架(Universally Composable security framework)可以保证协议的通用可组合安全,即在与其他协议并发运行的情况下,...