“Cryptography”
GG18: tss-lib 门限签名库源码解析
源码:tss-lib假设 TSS 为 3-3keygenround_1选择随机数 $u_i \in [1, n-1]$ 作为共享秘密 $sk$选择随机数 $a_i, b_i \in [1, n-...
zk-Sigma & zk-Schnorr
zk-Sigma知道 1 个秘密 $w$椭圆曲线生成元为 $G$ ,群的阶为 $| F_r |$ ;标量域为 $F_r$ ,基域为 $F_q$知道秘密 $w$,且与公开输入 $Q$ 满足离散对数...
ElGamal 和 Paillier 同态加密
ElGamal 同态加密初始化:素数群 $G$ 的阶为 $q$,生成元为 $g$密钥生成:私钥 $sk=\alpha$,公钥 $PK=h=g^{\alpha}$加密:消息为 $m \in Z_q...
RSA 加密和签名
RSA(Rivest–Shamir–Adleman)是早期被广泛使用的非对称加密算法。不过后来 ECC 成为主流,因为 ECC 比 RSA 的安全性更高,密钥更短。加密:A 用 B 的公钥加密,...
STARK 中的 DEEP FRI
问题描述通过如下关系去计算一个序列$$ \begin{align} & a_0 = 3 \\ & a_{n+1} = a_n^2 \\ \end{align} $$结果需要模一个...
Kate 承诺 KZG
承诺承诺分为 3 个步骤:承诺,打开承诺,验证承诺承诺:发送方将某个值 x 封装为 y 发送给接收方。1)发送方不能改变信封中的值;2)接收方无法知道 x打开承诺:发送方揭露 x校验承诺:接收方...
PLONK 理解
程序可以转换为电路,电路上有门和线,所有会有门约束和线约束两种等式,这些等式可以限定电路的形状。门约束用来检查电路的运算是否对,线约束是限制某个门的输入必须等于另一个门的输入和或输出,也称拷贝约...
Near-Optimal Oblivious Key-Value Stores 实现
源码:https://github.com/felicityin/rb-okvs有时候需要多方协作来完成一些计算,但每方都不希望暴露自己的数据。所以目标就是确保各方仅仅了解自己的数据,而不要了解...
halo2 example
源码:https://zcash.github.io/halo2/user/simple-example.html 证明 $a^2⋅b^2=c$private 数据:a, bpublic 数据:...
密码学[5]:Groth16
zero-knowledge protocol:是一组数学规则,根据这些规则,在给定 instance 后,prover 可以向 verifier 证明自己知道该 instance 的 wit...