04、CONSTANT-ROUND CZK PROOFS for NP–Alon Rosen[对于NP的常数轮CZK证明]

这篇博客,是关于第九届BIU密码学冬令营上的内容,这篇博客是第三篇,会持续更新。
也可以在我之前的这篇博客中,去寻找一些关于其它知识点的博客,下面的博客链接是我整个内容的目录博客,如果有其它内容的需要,可以去翻阅,下面是博客地址。
https://blog.csdn.net/qq_43479839/article/details/112946344

下面正式开始第四部分关于NP问题的常数轮CZK的证明:
这节所包含的部分:这主要包括四块,
目录如下:
目标:构建一个证明对于每一个L∈NP,【满足CZK,有可忽略的可靠性和一个常数轮】
要解决的问题:可扩展性[malleability]以及模拟过程中的中断。

4.1 回顾对于HAM的CZK

4.1.1 零知识性质【引入了模拟器】

4.1.2 Parallel repetition【降低soundness error】


存在的问题:V*的给出的挑战询问,变成了长度为k的字符串,b∈{0,1}k,模拟器的模拟过程其尝试的次数也变成了2k次【最多需要进行2k次的重复】
解决方法:验证者预先提交b的承诺d=com(b)

【其中这个soundness中的,如果要保证Gb1,…, Gbk 都是valid,这个概率是2-k ;这也保证了其可靠性。】

4.1.3 证明者承诺的可延展性

例子:中间人攻击【Man-in-the-middle attack】:即敌手以不同的角色分别执行俩次协议,并试图从其中一次执行中获益,而实现对另一个协议的攻击。例如:在一个承诺方案中,敌手作为接受者收到承诺者对某个字符串的承诺(成为左侧对话),同时作为承诺者与另一个接收者交互,试图伪造一个相关字符串的承诺。若协议能够抵抗中间人攻击,则称为不可延展。
【我们希望是不可扩展的】
但是要满足其不可扩展性,就需要满足一些要求:
1、Com必须是在统计上隐藏的;否则证明者会根据d=com(b)去产生c;一直到之后也可以很自然的产生有效的Dec(Gb1,…,Gbk);
【可扩展性会因为Com的统计上的隐藏性而被防止】

4.2 统计性隐藏的承诺

定义:统计性隐藏承诺满足统计上的隐藏和计算上的绑定。
统计性绑定性(binding)【与计算上的绑定性不同】:对于任意能力无穷大的恶意承诺者C*,在打开阶段C*能够将承诺打开为不同值并且通过验证的概率可忽略。【这个解释来自:微信公众号:包罗万象】

4.2.1 统计性隐藏承诺的例子

例如Pederson就是利用gm对m进行的隐藏。

4.2.2 零知识(引入模拟器)

最开始:是证明者P向V*发送很多全0的垃圾信息。
【在这个方案中会出现一个问题,就是如果有一个恶意的验证者总是去拒接解除承诺,会出现一些问题,下面会具体展开介绍】

4.2.3 a Naive Simulator【给出当V*拒接去给这个d解除承诺会怎么办】

4.2.4 the Issue 下面是存在的问题:

4.2.5 解决上面问题的办法

4.2.6 更简单的一个方案


4.0 POK[Proof of knowledge]


【解决方法:将c的依赖方由b转变为P控制的b1和V控制的b2???;这样V就可以通过改变b2来改变c??】

ZK和POK的区别

rewind返回的地点不同【有点不清楚】


04、CONSTANT-ROUND CZK PROOFS for NP--Alon Rosen[对于NP的常数轮CZK证明]相关推荐

  1. 05、WITNESS-INDISTINGUISHABILITY and SZK ARGUMENTS for NP——Alone Rosen【witness的不可区分性以及对于NP问题的SZK论证】

    05.WITNESS-INDISTINGUISHABILITY and SZK ARGUMENTS for NP--Alone Rosen[witness的不可区分性以及对于NP问题的SZK论证] 这 ...

  2. P、NP、NPC(NP完全问题)、NP-hard问题概述

    P.NP.NPC(NP完全问题).NP-hard问题概述 一.概念总结 1.P问题: 能在多项式时间内解决的问题 2.NP问题: 不能在多项式时间内解决或不确定能不能在多项式时间内解决,但能在多项式时 ...

  3. python使用numpy的np.fmod函数计算numpy数组除以某一特定数值剩余的余数(remainder)、np.mod函数和np.fmod函数对负值的处理方式有差异

    python使用numpy的np.fmod函数计算numpy数组除以某一特定数值剩余的余数(remainder).np.mod函数和np.fmod函数对负值的处理方式有差异 目录

  4. np.random.randint 与 np.random.rand区别 前者返回为参数指定的范围区间的一个整数后者返回的为一个概率

    np.random.randint  与 np.random.rand区别 前者返回为参数指定的范围区间的一个整数后者返回的为一个概率 import numpy as np num_lstm = np ...

  5. np.random.RandomState、np.random.rand、np.random.random、np.random_sample

    0. np.random.RandomState 计算机实现的随机数生成通常为伪随机数生成器,为了使得具备随机性的代码最终的结果可复现,需要设置相同的种子值: np.random.randn(-) ⇒ ...

  6. [转载] python numpy.sqrt_python中numpy库ndarray多维数组的的运算:np.abs(x)、np.sqrt(x)、np.modf(x)等...

    参考链接: Python中的numpy.tan numpy库提供非常便捷的数组运算,方便数据的处理. 1.数组与标量之间可直接进行运算 In [45]: a Out[45]: array([[ 0, ...

  7. np.add.at和np.negative.at

    np.add.at np.at(a, indices, b=None, /),这个方法等价于 a[indices] += b.在有限元程序中合成总纲或者总载荷的时候是个不错的方法.(对应的位置按照索引 ...

  8. Numpy.array()详解 、np.array与np.asarray辨析、 np.array和np.ndarry的区别

    记录一下numpy.array()的详细用法,以及与np.asarray()和np.ndarray()的区别. 目录 1. Numpy.array()详解 1.1 函数形式 1.2 参数详解 1.3 ...

  9. 如何区分np.random.normal()、np.random.randn()、np.random.randint()、np.random.random()、np.random.choice()

    本期我们来对np.random中常用的函数进行区分 np.random.normal(loc,scale,size) 参数说明: loc:正太分布的均值 scale:正太分布的标准差 size:设定数 ...

  10. 算法中的P问题、NP问题、NP难问题和NP完全问题

    P问题:该问题存在一个可以在多项式时间内解决该问题的算法.(P:polynominal,多项式) 为什么我们要研究这个?因为计算机处理的输入常常不是那么几十个几千个那么一点点,想象一下,当计算机处理的 ...

最新文章

  1. matlab结课论文_科研小班 | 加州大学伯克利分校 | 物理、电子工程:MATLAB信号和数据处理课题...
  2. 阿里技术嘉年华-aDev内容感悟
  3. tar 压缩与解压缩打包命令
  4. css媒体查询改变上边距,CSS媒体查询宽度或高度
  5. android仿高德地图透明黑字,Android 仿高德地图可拉伸的BottomSheet
  6. Linux sudoers文件的写法
  7. Leetcode-二叉搜索树最近公共祖先
  8. 牛客网多校第9场 E Music Game 【思维+数学期望】
  9. gdpr合规性测试_使用生产数据在GDPR后世界进行测试
  10. java入门第六天课程_Java基础学习第六天 小游戏
  11. 用maya怎么做ak47_串串香应该怎么用配料才能做得好吃
  12. 在不安装oracle,在linux上安装oracle 10g上还是不顺利
  13. 火山应用系列之调用炫彩模块自制登陆与主窗口
  14. 计算机专业毕业设计题目大全 (各类型系统设计大全)
  15. java 网站 分类
  16. java手机 最新版本_JAVA手机模拟器安卓版
  17. python汉语词频统计_Python之四大名著汉字词频统计
  18. php按钮如何加显示不出来,javascript - 点击按钮 显示更多,自定义变量显示不出来?...
  19. nvidia-docker的安装
  20. 装PDF应用软件重启计算机,Win10每次将PDF默认打开方式设为其他软件,第二天总会改回Edge?...

热门文章

  1. 网页游戏服务器端开发心得
  2. bootstrap导航栏.nav与.navbar区别
  3. 大部分码农辛苦半辈子,还是做不了软件架构师,转行后只能碌碌无为一生?(这是一个交流贴欢迎讨论)
  4. 对视频图像进行OSD叠加
  5. python共有前缀_Python 匹配多个字符前缀
  6. ELMO驱动器与nanotec电机通过compser软件调试PID参数的方式
  7. 分享一个qt实现的登录界面模板
  8. 服务器位置异常饿了么,饿了么定位失败怎么办 饿了么无法定位解决办法
  9. 下一跳配置的原则--ensp
  10. 2022智博会| 麒麟信安携操作系统亮相华为展台