零知识证明|1.什么是同态隐藏?

零知识证明 - zkSNARK入门 网络上讲解零知识证明的文章就不多,这些文章要不太浅显,要不太深入,很少有能给入门者整体框架上的认识。 比如,阿里巴巴零知识证明就是一个非常好的通俗理解零知识证明的例子: 阿里巴巴被强盗抓住,为了保命,他需要向强盗证明自己拥有打开石门的密码,同时又不能把密码告诉强盗。他想出一个解决办法,先让强盗离开自己一箭之地,距离足够远让强盗无法听到口令,足够近让阿里巴巴无法在强盗的弓箭下逃生。阿里巴巴就在这个距... 阅读详情

所谓零知识证明,指的是在不泄露秘密的前提下,证明我知道这个秘密。

举个简单例子,假设我一个月工资2000,我老婆一个月工资3000。我不会把这两个数字透露给你,但是我可以告诉你,我俩每个月的工资加起来是5000。你可以通过某种方式验证我俩的工资加起来确实是5000,但是你没办法反推出来我每个月的工资是多少,我老婆每个月工资是多少。

要做到这一点,需要引入一个概念,叫做同态隐藏。这需要一些数论的知识,不过别担心,我也没有学过数论,所以我会尽可能用简单的语言来解释这个概念。

我们把上面那个问题用数学语言描述一下:已知两个数 x x x和 y y y,需要在不泄漏这两个数的前提下,证明 x + y = 5 x+y=5 x+y=5。

要实现这一点,我们需要引入一个同态隐藏函数 E ( x ) E(x) E(x),该函数满足下面3个条件:

  • 知道 E ( x ) E(x) E(x)的值,没法反推出 x x x的值。这个很容易理解,如果能反推的话,秘密就暴露了
  • 如果 x ≠ y x \neq y x̸​=y,那么 E ( x ) ≠ E ( y ) E(x) \neq E(y) E(x)̸​=E(y)。也就是说,这是一个单射,或者叫一一映射
  • 如果知道了 E ( x ) E(x) E(x)和 E ( y ) E(y) E(y),就可以算出 E ( x + y ) E(x+y) E(x+y)。举个例子: E ( x + y ) = E ( x ) ⋅ E ( y ) E(x+y)=E(x) \cdot E(y) E(x+y)=E(x)⋅E(y)

如果找到了这个同态隐藏函数,问题就简单了:我把 E ( x ) E(x) E(x)跟 E ( y ) E(y) E(y)的值告诉你,你用它们算出 E ( x + y ) E(x+y) E(x+y),然后判断一下是不是等于 E ( 5 ) E(5) E(5)就行了。也就是说,把验证 x + y = 5 x+y=5 x+y=5转化成了验证 E ( x + y ) = E ( 5 ) E(x+y)=E(5) E(x+y)=E(5)。

这个同态隐藏函数,用普通的加减乘除运算是没法实现的,我们需要引入2个新的运算。

1.模p加法

p可以是任意整数,不过为了获得一些特殊性质,p一般取一个素数,比如7。

所谓模p加法,就是加完之后对p取模(除以p取余数)。比如下面的例子:

x x x 0 1 2 3 4 5 6
( x + 1 ) ∥ m o d 7 (x+1)\|_{mod7} (
区块链交易隐私如何保证?华为零知识证明技术实战解析 证明者在不泄露任何有效知识的情况下,验证者可以验证某个论断是正确的。图1给出一个有趣的例子,Alice把自己的签名的信封放到一个保险箱中,Bob说他知道这个保险箱的密码,Alice让Bob证明给她看。Bob打开保险箱,把信封拿出来给Alice。Alice验证信封上的签名,确认了Bob确实知道这个密码。这个例子就是Bob没有告诉Alice密码却证明自己知道密码的的过程很好的解释了零知识证明的概念。... 阅读详情

相关推荐

多方安全计算-零知识证明

零知识证明(Zero-Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向...

hellompc的博客 2151

北京大学肖臻老师《区块链技术与应用》公开课笔记13——BTC匿名性篇2(零知识证明)

北京大学肖臻老师《区块链技术与应用》公开课笔记 比特币回顾问答篇,对应肖老师视频:https://www.bilibili.com/video/av37065233?p=12 全系列笔记请见:https://blog.csdn.net/Mu_Xiaoye/article/details/104299664 匿名性部分第一节——匿名性分析请见:https://blog.csdn.net/Mu_Xi...

Sinocifengs的博客 3454

哈希承诺 vs Pedersen 承诺:5 个维度对比与零知识证明场景选型

本文深入对比了哈希承诺与Pedersen承诺在隐藏性、绑定性、同态性、性能及零知识证明兼容性等五个维度的差异,并提供了面向电子投票、拍卖等场景的选型决策框架。重点分析了Pedersen承诺在零知识证明场景中的优势,包括其信息论安全性和加法同态性,为构建隐私保护的分布式系统提供实用指导。

culi4814的博客 550

零知识证明与同态加密:隐私计算两大核心技术的原理、实战与应用

隐私计算作为保障数据安全流通的关键技术,其核心目标是在不暴露原始数据的前提下实现数据的价值挖掘。从技术原理上看,它主要依赖于密码学领域的多项前沿成果。其中,零知识证明和同态加密是两大基石性技术,它们代表了两种不同的隐私保护哲学。零知识证明侧重于“可验证性”,它允许一方向另一方证明某个陈述的真实性,而无需透露陈述本身以外的任何信息,其核心在于通过交互式证明或非交互式简洁证明(如zk-SNARKs)来实现。同态加密则侧重于“可计算性”,它允许对加密状态下的数据直接执行运算,解密后的结果与对明文进行相同运算的结果

weixin_26642481的博客 367

Bulletproofs的零知识证明算法

Bulletproofs通过内积论证和递归技术,在保证零知识性的同时实现了高效、紧凑的证明,尤其适用于区块链中的隐私保护和复杂计算验证。其无需可信设置和同态运算支持的特点,使其在机密交易、智能合约及多方协作中展现出广泛的应用潜力。

百态·数智思维 | 聚焦大数据、量化与未来AI 1534

零知识证明与同态加密深度解析:底层原理、代码实战与隐私计算应用落地

选择一个大质数p(实际场景中p需足够大,这里为了演示选小质数)p = 257# 选择一个原根g(模p的生成元)g = 3"""快速幂取模:计算 (base^exp) mod mod"""result = 1零知识证明与同态加密是隐私计算的两大基石,前者解决“信任与验证”问题,后者解决“计算与隐私”问题。若需实现隐私验证、身份认证、匿名交易,优先选择零知识证明,推荐学习zk-SNARKs、zk-STARKs协议;若需实现密文数据分析、联邦学习、隐私计算。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 734

NVIDIA 2025 Board Design Engineer 校招笔试全解析:从基础门电路到理想放大器设计

本文详细解析了NVIDIA 2025届板级设计工程师校招笔试的核心考点与解题策略。内容涵盖从基础门电路、CMOS实现NOR门,到开关电源CCM/DCM模式波形分析与效率计算,以及理想运放电路设计与稳定性优化。旨在帮助考生构建硬件知识体系,掌握工程思维,顺利通过NVIDIA Board Design Engineer校招笔试。

weixin_29172201的博客 196

Shopee 虾皮API接口:商品详情采集的实践

随着电商行业的蓬勃发展,数据采集和分析在商业决策中扮演着越来越重要的角色。Shopee作为东南亚领先的电商平台,拥有大量的商品数据。通过Shopee的API接口,我们可以方便地获取商品详情,为数据分析和市场研究提供有力支持。本文将介绍如何使用Shopee API接口采集商品详情,并分享一些实践技巧。提供了丰富的数据接口,包括商品详情、店铺信息、订单数据等。通过API接口,开发者可以轻松地获取Shopee平台上的数据,进行进一步的处理和分析。Shopee API接口:商品详情采集的实践与技巧。

An4480的博客 1888

如何实现三种不同RAM?(单端口RAM、伪双端口RAM、真双端口RAM|verilog代码|Testbench|仿真结果)

RAM(随机存取存储器)是计算机系统中的一种主要存储器件,用于存储和读取数据。在RAM中,单端口RAM(Single-port RAM)和双端口RAM(Dual-port RAM)是两种常见的类型,双端口RAM又分为真双端口(True dual-port RAM)和伪双端口RAM(Simple dual-port RAM)。那么什么是单端口和双端口?又该如何区分真双端口和伪双端口?输入只有一组数据线和一组地址线,读写共用地址线,输出只有一个端口。

Loudrs的博客 1万+

保姆级教程:在RK3588平台上为IMX415 Sensor配置HDR2曝光(附完整代码与避坑点)

本文提供RK3588平台上为IMX415 Sensor配置HDR2曝光的详细教程,涵盖基础概念、限制条件、实战配置步骤及常见问题解决方案。通过完整代码示例和关键参数解析,帮助开发者高效实现HDR2曝光模式,提升图像质量并避开常见陷阱。

weixin_28685287的博客 284

计算机三级考试嵌入式系统重点精简汇总

第一章 嵌入式系统概论 1.1.1嵌入式系统 (1)特点:(1)专用性;(2)隐蔽性;(3)资源受限;(4)高可靠性;(5)实时性;(6)软件固化。 (2)应用:(1)冰箱、洗衣机、电饭煲、空调、摄影机、DVD播放器等;(2)数控机床、飞机、汽车、电梯、X光机、血压计等;(3)电话机、传真机、打印机、pos机、GPS导航仪、路由器等。 1.1.2嵌入式系统组成与分类 (1)逻辑组成:硬件和软件,分为处理器、存储器、I|0设备与I|O接口,数据总线; (2)处理器:分为主处理器(CPU)和协处

chemkrik的博客 1万+

VirtualBox虚拟机拖放文件总失败?手把手教你配置双向拖放与共享文件夹(Ubuntu版)

本文详细指导如何在VirtualBox的Ubuntu虚拟机中配置高效的数据交换方案。核心是安装VirtualBox Guest Additions,并在此基础上开启双向拖放与共享粘贴板功能,同时建立稳定的共享文件夹,彻底解决主机与虚拟机间文件传输失败的问题,构建无缝的跨系统工作环境。

weixin_29245767的博客 232

【ARFoundation自学04】AR Tracked Image 图像追踪识别与对应类的调用

1.添加组件 2.创建图像识别库 3.创建识别后追踪的物体(UI、模型等)

leoysq的博客 2560

Jetson Nano 实战指南:深度学习环境配置与 YOLOv5 边缘端部署解析

Jetson Nano是NVIDIA推出的嵌入式AI开发板,凭借其强大的GPU计算能力和完善的软件生态系统,成为边缘AI部署的理想平台。本教程源于作者团队参加2024中国机器人大赛暨RoboCup机器人世界杯中国赛机器人先进视觉3D识别赛道的实战经验,是一份经过验证的环境部署指南。

FJN110的博客 152

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 以太坊控制台源码分析
下一篇: 零知识证明|2.什么是多项式盲计算?
TurkeyCock
博客等级 码龄21年 406粉丝 73原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值