阿萍的博客

“Cryptography”

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...

密码学[4]:电路 R1CS QAP

1 形式语言形式语言给出:语句的形式 proof 是什么。设 $\sum$ 是任意集合,$\sum^*$ 是所有的长度有限的字符串 $<x_1, .., x_n>$,其中 $x_j$...

密码学[3]:椭圆曲线

1 Short Weierstrass Curves1.1 Affine Short Weierstrass formShort Weierstrass 椭圆曲线:F 是特征 q > 3 ...