“Cryptography”
CMP20 Threshold
Key Generation原理输入: party 下标 $i$,party 数量 $n$,门限 $t$,曲线 $E$,其生成元为 $G$,阶为 $q$round_1随机选择 $s_{i,0},...
BLS 签名
双线性映射$G_1, G_2, G_T$ 是三个阶为素数 $p$ 的循环群群 $G_1$ 的生成元为 $g_1$,群 $G_2$ 的生成元为 $g_2$$e$ 为双线性映射 $G_1 \time...
ElGamal & ECIES 加密
基于素数群的 EIGamal 加密系统参数:素数群 $G$ 的阶为 $p$,生成元为 $g$密钥生成:选择随机数 $\alpha \in Z_p$,计算 $g_1=g^{\alpha}$,则私钥...
消息认证码 MAC
如何确保消息的完整性,即没有被篡改,一种方式是用哈希算法计算一个摘要,但如果哈希值的来源变得不可行,那么它也就无法确保数据的完整性!消息认证这个密码学原语可以满足我们的要求,与哈希函数的相同之处...
哈希函数
哈希函数:将任意长度的消息,映射为一个固定长(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)方法,用户盲目信任第一次连接时看到的密钥,并在未来拒绝任何更改。不过允许用户稍后对公钥验证,这种验证是在带外完成...