随意的密码

目录

[TOC]

盲签名

性质

  1. 签名者对其签名的消息是不可见的(这就是“盲”的含义),即签名者不知道他所签名消息的具体内容。
  2. 签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他何时/哪次的签署的。

RSA盲签名流程

  • Alice选择一个随机数$k$作为盲化因子
  • Alice对原始的消息进行计算,$m’ = m k^e (mod \ n)$ 并把计算后(盲化)的消息 $m’$发送给Bob
  • Bob计算 $s’ = (m’)^d (mod \ n)$ 并把计算后的签名值 $s’$ 发送给Alice
  • Alice计算 $s = s’k^{-1} (mod \ n)$,$s$ 就是Bob对原始消息 $m$的数字签名

e,d是RSA的元素,e是d的逆元,ed % φ(n) = 1

C语言实现

java实现


Tips: RSA 盲签名的危险,盲签名诈骗

防御措施:

比较详细的算法介绍 wiki

preliminaries

Backblaze Storage Pods

无限在线备份服务和世界上最便宜的云存储服务需要大量数据存储 对于 Backblaze Vault 存储盒,每个存储盒都是创建 Backblaze Vault 所需的 20 个存储盒之一。Backblaze Vault 将文件分成 20 个部分(17 个数据和 3 个奇偶校验),并将文件的一部分放在 Vault 中的 20 个存储盒中的每一个上。我们使用我们自己的 Reed-Solomon 实现来编码文件并将其分发到 20 个 pod,实现 99.99999% 的数据持久性。我们也开源了 Reed-Solomon 编码实现。 https://www.backblaze.com/b2/storage-pod.html https://www.backblaze.com/blog/reed-solomon/ https://github.com/klauspost/reedsolomon

用 Intel SIMD 指令来加速 Galois 域,使用汇编可以加速Solomon编码 https://github.com/Backblaze/JavaReedSolomon

Paillier

paillierStep zk-paillier

论文 [Public-Key Cryptosystems Based on Composite Degree Residuosity Classes] (https://link.springer.com/chapter/10.1007/3-540-48910-X_16)

### Pedersen承诺

承诺方案综述 可验证秘密共享 Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing

### tips

https://github.com/unboundsecurity/blockchain-crypto-mpc

https://github.com/unboundsecurity/blockchain-crypto-mpc/blob/master/docs/Unbound_Cryptocurrency_Wallet_Library_White_Paper.md