零知识证明

FHE、MPC、zk-SNARK有何不同

╄→尐↘猪︶ㄣ 提交于 2020-02-29 01:44:00
隐私计算技术是密码学的一个前沿发展方向,填补了数据在计算环节隐私性问题的空白,将基于密码学的信息安全体系打造成完整的闭环,为云计算、分布式计算网络和区块链等技术的应用提供隐私性基础。本专题将简述隐私计算技术,并分析其起源、技术方向与应用前景。 随着信息技术的不断发展,数据逐渐成为政府、企业与个人的重要资产,其发掘、存储、处理与使用变得愈发重要,逐渐产生了隐私性需求。隐私计算,是一类数据或计算方法保持加密状态,不泄露给其他合作方的前提下,进行计算合作的技术,其出现填补了密码学出现以来在信息的处理和使用环节的空白。 目前阶段,密码学层面的隐私计算主要有全同态加密、多方安全计算、零知识证明等主要的技术方向。   满足同态性的加密函数能够实现在不解密原始数据的前提下对加密数据进行某一运算,提供了对加密数据的计算能力。全同态加密算法则是指给定任意一种运算规则,可以通过算法构造出对加密数据的相应运算规则,并满足同态性。全同态加密是相对基础性的隐私计算技术,应用范围较广,但其目前计算效率较低,并存在一定局限性。   安全多方计算解决如何在参与计算的各方不泄露自身输入、且没有可信第三方的情况下安全地计算约定的函数并得到可验证结果的问题。安全多方计算主要解决的主要目的是解决互不信任的参与方在保护隐私的前提下协同计算的难题。其自身同样存在局限性,不能保证参与者的诚实度,也无法阻止参与者恶意输入。  

深入浅出区块链——零知识证明

情到浓时终转凉″ 提交于 2019-12-01 22:02:17
引子     隐私保护在区块链领域越来越受到重视,在隐私保护的种种手段中,零知识证明脱颖而出。那么零知识证明到底是什么东西呢?   首先,我们抛出一个问题:如何在不说出秘密的情况下,让对方知道你已经知道了这个秘密? 例子1:用户注册   用户在系统注册时,系统不会保存用户的密码明文,而是保存了密码的哈希值;用户在登录系统时,只需要输入注册时的密码,系统会根据用户输入密码产生的哈希值与系统数据库保存的哈希值进行比对。如果一致,则系统认为—— 当前登录用户知道该账号的密码。   这样, 用户不需要告诉网站密码,就能证明自己的身份。这其实就是一种零知识证明。 例子2:在校大学生实习   A要去公司实习,公司要求A在校所有功课没有挂科,才有资格加入公司。A虽然所有功课都没有挂科,但都在61、62左右徘徊;A不想让公司看到自己的成绩单,于是A委托学校开了一个证明:证明A在校所有功课全部及格。并交到了公司,加入了公司。   这样, A既没有暴露自己的确切考试成绩,又向公司证明自己满足要求 。这其实就是零知识证明。 如何从字面解释“零知识证明”?   零知识证明:零知识,即在证明的过程中不透露任何内情。 通俗的来讲,就是既证明了自己想证明的事情,同时透露给验证者的信息为“零”。 什么是零知识证明?   零知识证明(Zero—Knowledge Proof),是由S.Goldwasser、S