Arthur-Merlin protocol交互式知识证明系统

2023-10-09 15:59

本文主要是介绍Arthur-Merlin protocol交互式知识证明系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Arthur-Merlin protocol(以下简称AM)为交互式证明系统,其中Merlin为prover, Arthur为verifier。verifier公开投掷硬币(对prover也可见)来query prover,并对prover提供的proof进行验证来决定是否接受。

1. interactive proof system交互式证明系统

源自论文《Private coins versus public coins in interactive proof systems》:
交互式证明系统中的prover通常被认为具有无限的资源,verifier具有有限的资源。verifier通过抛硬币的方式query prover(有可能询问相同的问题),并对prover返回的结果(proof)进行验证测试,通过测试才认为prover的回答为正确的。
可把这个证明系统扩展为NP问题,其中verifer不需要抛硬币或询问问题,仅需要听(接收)及验证。
在交互式证明系统中,proof的正确性不是数学意义上的,而是概率意义上的,具有一个非零可忽略的错误概率。

可把verifier想象为具有随机数生成器的普通计算机,而将prover想象为具有无限算力的预言机。prover需回答verifier的询问,由verifier来判断prover的回答是否可信。

在论文《Private coins versus public coins in interactive proof systems》中,证明了verifier秘密抛硬币和公开抛硬币在交互式证明系统中的等价性。

2. MA(Arthur-Merlin protocol的1-message模式)

在这里插入图片描述
如上图所示,若在AM中仅有一次消息交互,则可称为该种情况下可称为MA, M A ⊆ A M MA\subseteq AM MAAM。pover对 x x x的proof m m m若为真,则verifier通过运行polynomial time test信服该proof的概率应不低于2/3,若proof为假,则信服该结果的概率应不高于1/3。

  • if x ∈ L x\in L xL, then ∃ m \exist m m, P r r ( V ( m , r ) = 1 ) ≥ 2 3 Pr_r(V(m,r)=1)\geq \frac{2}{3} Prr(V(m,r)=1)32,
  • if x ∉ L x\notin L x/L, then ∀ m \forall m m, P r r ( V ( m , r ) = 1 ) ≤ 1 3 Pr_r(V(m,r)=1)\leq \frac{1}{3} Prr(V(m,r)=1)31.

若并行运行以上流程 n n n次,则有,对于 ∀ n \forall n n:

  • if x ∈ L x\in L xL, then ∃ m \exist m m, P r r ( V ( m , r ) = 1 ) ≥ 1 − 1 2 n Pr_r(V(m,r)=1)\geq 1-\frac{1}{2^n} Prr(V(m,r)=1)12n1,
  • if x ∉ L x\notin L x/L, then ∀ m \forall m m, P r r ( V ( m , r ) = 1 ) ≤ 1 2 n Pr_r(V(m,r)=1)\leq \frac{1}{2^n} Prr(V(m,r)=1)2n1.

所以,综上对MA的perfect completeness表述可为:

  • if x ∈ L x\in L xL, then ∃ m \exist m m, P r r ( V ( m , r ) = 1 ) = 1 Pr_r(V(m,r)=1)=1 Prr(V(m,r)=1)=1,
  • if x ∉ L x\notin L x/L, then ∀ m \forall m m, P r r ( V ( m , r ) = 1 ) ≤ 1 2 Pr_r(V(m,r)=1)\leq \frac{1}{2} Prr(V(m,r)=1)21.

参考资料:
[1] https://en.wikipedia.org/wiki/Arthur–Merlin_protocol
[2] 讲义:lect22-An Arthur-Merlin proof for the Hilbert’s Nullstellensatz
[3] 讲义:Lecture 17- Arthur-Merlin games, Zero-knowledge proofs
[4] 论文《Private coins versus public coins in interactive proof systems》

这篇关于Arthur-Merlin protocol交互式知识证明系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/173978

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法:

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方