文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
视频
课程
集训营
专栏
活动
工作
文档
集市
搜索
登录/注册
精选
推荐
最新
周榜
关注
RSS
全部
通识
以太坊
比特币
Solana
公链
Solidity
Web3应用
编程语言
安全
密码学
AI
存储
其他
与独裁者共处:变形密码学
本文介绍了变形密码学的概念,它允许对同一密文进行不同的解密,使得在“独裁者”审查的环境下,可以向审查者显示无害信息,同时秘密接收者可以解密出真实信息。文章通过ElGamal算法演示了变形密码学的实现,并提供了相应的Python代码示例。
变形密码学
ElGamal
加密
解密
安全
密钥
asecuritysite
发布于 2025-04-21
阅读 ( 1054 )
( 19 )
将PQC视为(主要)没有陷门的网络世界
本文讨论了后量子密码学(PQC)的两种主要数字签名方法:基于哈希的签名(SPHINCS+)和基于格的签名(ML-DSA)。SPHINCS+通过Lamport签名和WOTS+方法减少公钥和私钥的大小,但签名较大。ML-DSA使用Fiat-Shamir方法将Schnorr身份证明转换为非交互式零知识证明,避免了陷门。
后量子密码学
数字签名
SPHINCS+
ML-DSA
Fiat-Shamir
哈希签名
格签名
asecuritysite
发布于 2025-04-20
阅读 ( 1145 )
( 3 )
Zama 的阈值密钥管理系统 (TKMS) 介绍 - 解决 FHE 密钥管理问题
Zama 团队发布了一个基于阈值密码学的阈值密钥管理系统 (TKMS),旨在解决同态加密 (FHE) 应用中的密钥管理问题。该系统将密钥分成多个片段分发给多个参与方,且在密码学操作期间不进行重组,类似于区块链中的多方计算 (MPC) 钱包。Zama 同时开源了 MPC 库,并发布了详细的密码学报告,以促进 FHE 领域的合作和进步。
同态加密
阈值密钥管理系统
多方计算
密钥管理
密码学
TFHE
ZamaFHE
发布于 2025-04-18
阅读 ( 895 )
( 3 )
引介 Constantine - 用于证明系统和区块链协议的高性能密码学开源库
Constantine是一个高性能密码学库,专注于区块链协议和零知识证明系统。它提供常数时间实现的密码学原语,支持多种椭圆曲线和协议,包括以太坊BLS签名、KZG承诺等,并提供Nim、C、Rust、Go等多种语言的接口。该库旨在提供快速、紧凑和强化的椭圆曲线密码学解决方案。
密码学
椭圆曲线
零知识证明
BLS签名
KZG承诺
常数时间
mratsim
发布于 2025-04-17
阅读 ( 1616 )
( 53 )
Circom 零知识电路简介
in
零知识证明之书
in
零知识证明之书
本文介绍了 Circom 编程语言,它用于创建 Rank 1 Constraint Systems (R1CS) 并填充 R1CS 的 witness 向量,主要是为了简化约束系统的设计和自动化 witness 的生成。文章还解释了 Circom 存在的意义,以及它如何帮助开发者更轻松地进行零知识证明相关的开发,最后说明了学习 Circom 的理由,并概述了资源结构,包括语法和约束设计。
circom
R1CS
SNARKs
Groth16
零知识证明
约束系统
RareSkills
发布于 2025-04-16
阅读 ( 1698 )
( 16 )
Circom 之 Hello World
in
零知识证明之书
in
零知识证明之书
本文介绍了Circom代码与其编译成的Rank 1 Constraint System (R1CS)之间的关系,并通过几个例子详细解释了如何在Circom中编写约束,以及如何使用Circom命令行工具编译电路、生成witness,并验证电路的正确性。文章还介绍了zkRepl在线IDE的使用,以及Circom中有限域的概念,以及如何将snarkjs导出的R1CS约束转换为Circom中的原始约束。
circom
R1CS
zk-SNARK
零知识证明
约束系统
有限域
RareSkills
发布于 2025-04-16
阅读 ( 1522 )
( 9 )
二次约束 - Circom
in
零知识证明之书
in
零知识证明之书
本文介绍了Circom中Rank 1约束系统的规则,即每个约束最多只能有一个信号间的乘法,超过则会报错。文章通过正反例解释了这一规则,并说明了常量乘法、加法、减法是被允许的。此外,还解释了Circom如何处理除法,以及为何数组索引、模运算、左移等操作不被允许。最后总结了约束系统的限制,并提及了绕过这些限制的设计模式。
circom
约束系统
R1CS
算术化
二次约束
信号
RareSkills
发布于 2025-04-16
阅读 ( 1063 )
( 8 )
Circom中的符号变量
in
零知识证明之书
in
零知识证明之书
本文介绍了Circom中的符号变量,它是被赋值为信号值的变量,常用于在循环中对信号求和。文章解释了符号变量的定义、使用场景,例如校验数组求和、校验二进制表示,以及如何避免因符号变量导致的二次约束冲突。此外,还阐述了非符号变量在模运算和位移操作中的使用限制,以及符号变量在循环边界和条件判断中的禁用。
circom
符号变量
信号
约束
二次约束
R1CS
RareSkills
发布于 2025-04-16
阅读 ( 900 )
( 8 )
Circom 中间信号与子组件
in
零知识证明之书
in
零知识证明之书
本文介绍了 Circom 中的 `<==` 和 `==>` 操作符,它们用于在电路中自动计算和赋值中间信号,从而避免手动提供所有信号作为输入。文章还展示了如何使用模板将电路拆分成更易于管理的模块,以及如何在组件之间传递结果。此外,还强调了组件的输出信号必须被约束使用,以防止恶意证明者篡改。
circom
R1CS
约束系统
零知识证明
中间信号
模板
电路
RareSkills
发布于 2025-04-16
阅读 ( 1107 )
( 7 )
先指示再约束 - 在 Circom 中复杂约束条件的方法
in
零知识证明之书
in
零知识证明之书
本文介绍了在 Circom 中使用 indicator signals 和 Circomlib comparator library 来实现复杂约束条件的方法。
circom
零知识证明
电路
约束
比较器
indicator signals
RareSkills
发布于 2025-04-16
阅读 ( 1140 )
( 6 )
先计算,后约束 - ZK 电路设计模式
in
零知识证明之书
in
零知识证明之书
本文介绍了零知识电路中的“计算后约束”设计模式,它首先在没有约束的情况下计算算法的正确输出,然后通过强制执行与算法相关的约束来验证解决方案的正确性。
零知识证明
ZK电路
circom
计算后约束
密码学
电路设计
RareSkills
发布于 2025-04-16
阅读 ( 1164 )
( 8 )
Circom循环中的组件
in
零知识证明之书
in
零知识证明之书
本文介绍了在 Circom 中如何在循环中使用组件。由于 Circom 不允许在循环中直接实例化组件,文章提供了通过预先声明组件数组并在循环内指定组件类型的方式来解决这一问题,并提供了三个实际案例:求数组最大值、检查数组是否已排序以及确保数组中所有元素都是唯一的,展示了如何在循环中有效地使用 Circom 组件,以及一些使用 circom 的小技巧。
circom
零知识证明
zk-SNARKs
电路
组件
循环
RareSkills
发布于 2025-04-16
阅读 ( 1176 )
( 8 )
Circom 中的条件语句
in
零知识证明之书
in
零知识证明之书
本文深入探讨了 Circom 中 if 语句的使用限制,明确指出信号不能用于改变 if 语句的行为,也不能在依赖于信号的 if 语句中赋值。
circom
零知识证明
R1CS
电路
条件分支
信号
RareSkills
发布于 2025-04-16
阅读 ( 1063 )
( 7 )
Quin Selector(选择器)
in
零知识证明之书
in
零知识证明之书
本文介绍了Quin Selector这一设计模式,它允许使用信号作为信号数组的索引。文章通过代码示例,展示了如何在Circom中实现Quin Selector,并讨论了优化方法。同时,文章还提到了Circomlib库中的multiplexer组件,它可以实现类似的功能,并提供了一个使用示例。最后,文章提到了该算法的历史渊源。
circom
Quin Selector
零知识证明
电路
multiplexer
电路优化
RareSkills
发布于 2025-04-16
阅读 ( 904 )
( 6 )
ZK 中有状态计算简介
in
零知识证明之书
in
零知识证明之书
文章介绍了在算术电路中进行迭代计算(如幂、阶乘或计算斐波那契数列)时,如何通过预先计算所有可能的值并使用 Quin 选择器来解决条件停止的问题。文章通过阶乘和斐波那契数列的例子,展示了如何在 Circom 中实现这种方法,并强调了约束的重要性,最后提供了一个关于幂运算的练习。
算术电路
迭代计算
阶乘
斐波那契数列
Quin 选择器
circom
R1CS
RareSkills
发布于 2025-04-16
阅读 ( 989 )
( 7 )
在Circom中交换数组中的两个条目
in
零知识证明之书
in
零知识证明之书
本文介绍了如何在Circom中交换信号列表中的两个信号,这是排序算法的重要子程序,并解释了在ZK电路中执行此操作的复杂性,由于信号的不可变性,需要创建一个新数组并将旧值复制到新数组,在特定条件下进行修改,文章还指出了代码中的一个错误,即未考虑s等于t的情况,并提供了修复方案,最后总结了在Circom中操作数组的通用模式。
circom
零知识证明
信号交换
数组操作
ZK电路
Quin选择器
RareSkills
发布于 2025-04-16
阅读 ( 1098 )
( 8 )
在 ZK 中建模栈数据结构 - 如何在 Circom 中创建一个堆栈
in
零知识证明之书
in
零知识证明之书
本文详细介绍了如何在 Circom 中创建一个栈数据结构,以及如何使用零知识证明(ZK proofs)来验证栈的操作,包括 push、pop 和 no change。通过定义栈的最大高度和使用栈指针(stack pointer)来跟踪栈的使用情况,并详细描述了在不同操作下栈状态的转换和约束。
circom
零知识证明
栈
栈指针
zkVM
密码学
RareSkills
发布于 2025-04-16
阅读 ( 1450 )
ZK中的32位仿真
in
零知识证明之书
in
零知识证明之书
本文介绍了如何在零知识证明(ZK)电路中模拟32位算术运算,由于ZK默认数据类型是有限域元素,而实际计算常用32位、64位或256位数字,因此需要用域元素来模拟传统数据类型。文章详细讲解了32位范围检查、加法、乘法、除法与取模、位移以及位运算的实现方法,并提供了相应的Circom代码示例,同时还讨论了ZK EVM如何处理256位数字。
零知识证明
circom
32位算术
有限域
ZK EVM
范围检查
模运算
RareSkills
发布于 2025-04-16
阅读 ( 1062 )
( 7 )
Circom 中的 MD5 哈希
in
零知识证明之书
in
零知识证明之书
本文详细介绍了如何在 Circom 中实现 MD5 哈希算法,包括计算哈希值和约束其正确性。文章首先介绍了 MD5 哈希的原理和步骤,然后展示了如何在 Circom 中构建实现 MD5 哈希所需的各种组件,如位运算、循环左移、32 位加法以及初始填充。并通过一个python的例子,展示了MD5哈希的计算过程。
MD5
circom
哈希函数
零知识证明
密码学
RareSkills
发布于 2025-04-16
阅读 ( 1338 )
( 7 )
零知识证明友好的哈希函数
in
零知识证明之书
in
零知识证明之书
本文介绍了在零知识证明友好的哈希函数,重点介绍了Minimal Multiplicative Complexity (MiMC) 和 Poseidon 这两个流行的 ZK 友好哈希函数的工作原理和性能, 并对比了他们的优劣. 此外还提及了基于椭圆曲线的Pedersen哈希,并指出了以太坊基金会悬赏征集MiMC哈希碰撞,以及对Poseidon安全性的研究。
ZK友好哈希函数
MIMC
Poseidon
零知识证明
哈希碰撞
Pedersen哈希
RareSkills
发布于 2025-04-16
阅读 ( 2060 )
( 6 )
‹
1
2
...
4
5
6
7
8
9
10
...
45
46
›
发表文章
我要提问
扫一扫 - 使用登链小程序
热门文档
»
Solidity 中文文档 - 合约开发
Foundry 中文文档 - 开发框架
Hardhat 中文文档 - 开发框架
ethers.js 中文文档 - 与链交互
Viem 中文文档 - 与链交互
web3.js 中文文档 - 与链交互
Anchor 中文文档 - 开发框架
以太坊改进提案EIP翻译
以太坊域名服务(ENS)文档
Etherscan API 手册 - 查询链上数据
热门百科
»
DoS攻击
数组
ZK-Rollups
Engine API
插件开发
更新日志
网络
NFT艺术收藏
链游
sumcheck
1inch
数据索引
Magic Eden
日志
create3
带宽优化
AMP
MegaETH
prover
子网
区块链架构
Giveth
区块链节点
数据服务
以太坊网络
30天文章收益榜
»
Tiny熊
191 篇文章,650 学分
Henry
96 篇文章,585 学分
OpenZeppelin
223 篇文章,461 学分
寻月隐君
261 篇文章,458 学分
Helius
151 篇文章,431 学分
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容: