本文介绍了零知识证明(ZKP)中将计算转换为多项式的过程,即算术化。文章详细讲解了三种主要的算术化方案:R1CS、AIR 和 Plonkish,以及它们在电路计算和机器计算中的应用。此外,文章还提到了为优化算术化过程而提出的多种技术,如查找表、SNARK 友好的密码学原语、并发证明生成和硬件加速。
本文介绍了如何将计算问题转化为算术电路,从而利用zk-SNARKs进行高效验证。文章详细解释了算术电路和R1CS(Rank-One Constraint System)的概念,以及如何使用编译器将高级代码转换为算术电路。同时,讨论了非原生数据类型和操作在算术电路中的表示方法,以及SNARK友好的密码学原语的重要性。
本文深入探讨了零知识证明(zk-SNARKs)中的Pinocchio协议,通过将程序转化为算术电路,利用多项式编码和Schwartz-Zippel引理,实现了简洁的电路执行证明。文章详细解释了如何构造多项式来表达正确的电路执行,以及如何使用隐藏技术和算法来保证证明的有效性和安全性,最终给出了Pinocchio协议的完整流程。
本文介绍了ZEXE协议及其改进版本VERI-ZEXE,ZEXE旨在解决去中心化账本的隐私和可扩展性问题,允许用户在公共账本上运行私有应用程序。VERI-ZEXE通过改进证明系统和密码学原语,如使用PLONK作为PIOP、轻量级验证电路、实例合并、批量证明等,显著提升了性能并降低了计算成本。
本文介绍了zk-SNARKs的基本概念、性质和构造方法,zk-SNARKs 是一种强大的密码学工具,可以用于构建完全私有的应用程序。文章重点阐述了KZG承诺方案,并探讨了如何使用椭圆曲线配对来实现高效的证明生成和验证。
本文深入探讨了生成zk-SNARKs(如Aleo所用)背后的密码学计算,重点介绍了椭圆曲线及其在有限域上的运算,详细解释了椭圆曲线点的加法和倍乘运算,以及多标量乘法(MSM)问题和优化方法。此外,还介绍了BLS 12-377曲线的特性及其在密码学中的应用,以及场扩展和快速傅里叶变换(FFT)在加速椭圆曲线运算中的作用。
本文介绍了如何使用零知识证明(ZKP)来验证AES加密算法的正确执行。通过将AES加密过程转换为算术电路,并使用Marlin和KZG承诺方案生成加密证明,验证者可以在不泄露密钥或消息内容的前提下,验证密文是否由给定的明文和密钥正确加密生成。这在需要确保数据加密正确性但又不完全信任加密执行者的情况下非常有用。
本文介绍了 ZEXE 协议,该协议旨在实现无需信任方的共识,并解决分布式账本中的隐私和扩展性问题。ZEXE 允许离线执行程序并提交计算正确的证明,从而实现数据和函数隐私,并利用zk-SNARKs密码学技术,为去中心化应用(如金融、游戏和治理等)提供了一个基础平台。
本文介绍了加速计算的几种算法,包括用于大整数乘法的Karatsuba算法、Toom-Cook算法和Schönhage-Strassen算法,以及在多种领域有重要应用的快速傅里叶变换(FFT)。这些算法通过分而治之的策略,将复杂计算分解为更小的子问题,从而显著提高计算效率。
本文介绍了全同态加密(FHE)的概念、应用和发展历程,重点介绍了基于环上的全同态加密(TFHE)方案,包括其使用的LWE、RLWE和RGSW三种加密方案,以及密钥交换、外积和控制多路复用器(CMux)门等技术,并概述了FHE在保护数据隐私方面的潜力,适用于在加密数据上进行计算的场景。