本文深入探讨了生成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在保护数据隐私方面的潜力,适用于在加密数据上进行计算的场景。
本文介绍了全同态加密(FHE)、零知识证明(ZKP)和多方计算(MPC)这三种密码学原语,阐述了它们的基本概念、应用场景以及各自的优势。FHE允许在加密数据上进行计算,ZKP允许在不泄露信息的情况下证明计算的正确性,MPC允许多方安全地进行联合计算。这三种技术在去中心化账本和数据隐私保护中发挥着重要作用,并相互促进,共同发展。
本文介绍了公钥密码学中的RSA算法,包括其基本原理、密钥生成、加密解密过程以及安全性问题。文章还提供了一些用Rust语言实现RSA关键功能的代码示例,如模块化指数运算、最大公约数计算、模逆运算和素性检验。最后,强调了正确实现RSA的重要性,并提到了一些安全性注意事项。
本文介绍了密码学中常用的一些数学基础概念,包括自然数、整数、群、环、域、素数、最大公约数、同余、费马小定理、Euler定理、子群、拉格朗日定理以及离散对数问题。文章通过详细的定义、性质和示例,为读者理解密码学算法背后的数学原理打下基础,也提到了 RSA 加密算法的原理。
本文介绍了椭圆曲线密码学(ECC)及其在密码学中的应用,包括密钥交换、数字签名和零知识证明。为了提高计算效率,文章讨论了将椭圆曲线从二维空间转换到三维射影空间,以及使用蒙哥马利曲线和扭曲爱德华兹曲线等特殊形式的曲线来避免在每一步计算中求逆,从而优化椭圆曲线上的运算。