• 安全多方计算背景知识


    安全多方计算(Secure Multi-Party Computation,MPC)由姚期智先生于1982年提出。MPC允许参与方在数据机密性得到保护的条件下完成联合计算任务,使各个参与方除计算结果之外无法获得其他任何信息,从技术层面实现数据可用不可见的安全目标。

    安全和可验证计算主要包括两种类型:外包计算和多方计算。

    外包计算

    在外包计算中,第一个参与方拥有数据,希望能够获得该数据的计算结果,称为数据所有方。

    第二个参与方接收并存储加密后的数据,在加密数据上执行计算,将加密结果返回给数据所有方。

    在整个过程中,第二个参与方无法得到与输入数据、中间结果、最终结果相关的任何信息。数据所有方可以解密返回的计算结果以得到输出。

    同态加密方案允许在加密数据上执行运算。此密码学原语可以很自然地实现外包计算。

    多方计算

    MPC与外包计算的区别,所有协议参与方都是数据所有方。

    MPC应用

    百万富翁问题

    安全拍卖

    投票

    安全机器学习

    其他应用:应用MPC实现隐私保护

    安全多方计算的模型

    攻击能力模型

    qCiLSP.png

    Corruption模型描述攻击者控制参与者的能力。

    静态攻击者仅仅能够在协议开始前攻陷参与者;协议幵始之后,攻击者只能控制一个任意但是固定的参与者集合。

    动态攻击者可以在协议开始之前以及协议执行过程中根据自己的意愿随意选择攻击哪个参与者。

    Action模型描述攻击者的活动方式。被动攻击者无法控制协议的执行过程。主动攻击者可以。

    有限计算能力,概率多项式时间。

    计算模型

    如果存在恶意参与者参与协议的执行,则此类计算模型称为恶意模型,否则是半诚实模型。

    通信模型

    同步通信模型和异步通信模型,安全信道模型包括公开信道模型、匿名信道模型、点对点信道和公告板等。

    半诚实模型、恶意模型下安全两方协议的安全性定义,看不懂

    现实模型,理想模型,如果存在一个多项式时间可计算的转换使得下面公式成立。

    qCVQED.png

    则称在半诚实模型(恶意模型)下协议 Π 安全的实现了函数f。

    安全多方计算的密码学工具

    秘密共享 Shamir(t-n)门限秘密共享,基于中国剩余定理的(t,n)门限秘密共享方案。

    混淆电路

    qCKevd.png

    • 每条电路线对应两个混淆码:一个是比特 0,一个是比特 1。
    • 如果电路的每一条输入线都有一个给定的混淆密钥,那么整个混淆电路就可以在不泄漏任何其他信息的情况下不经意间地计算得到电路的输出值。

    茫然传输

    2取1茫然传输协议,n取m茫然传输协议

    Alice输入信息si,Bob输入选择ci,如果Alice和Bob是诚实的,Bob得到S_ci,无法得到其他值,Alice无法得知Bob的选择。

    同态加密

    零知识证明

    比特承诺

    第一个阶段是承诺阶段,此时承诺者向验证者承诺比特b(也可以是比特串),但此时验证者不知道比特的内容;第二个阶段是揭示阶段,承诺者向验证者证实第一阶段承诺的确实是b,此时验证者获知比特b的内容。

    参考文献:

    实用安全多方计算导论

    安全多方计算及其应用研究_孙茂华

    安全多方计算:理论、实践与应用 - 知乎 (zhihu.com)

  • 相关阅读:
    python自定义编写有关用户登录注册程序代码
    项目经理多年的经验之谈
    Linux虚拟机克隆后,启动系统发现网卡无法启动
    mysql出现服务器异常后,重启服务器后无法开启数据库处理方法
    计算机毕业四年,我都做了什么?
    个人Blog(采用Django+uwsgi+nginx)里面包含很多技术文章
    Delphi to C# Equivalancesdelphi和C#类似的地方
    Javascript浏览器关于scrollLeft,scrollTop的兼容性
    Mozilla Firefox15怎么样才能把标签页弄到下面去,就和360的一样,Mozilla Firefox15没有取消标签置顶这个选项……
    Delphi过程函数传递参数的几种方式
  • 原文地址:https://www.cnblogs.com/qing123tian/p/16018812.html
Copyright © 2020-2023  润新知