码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 不经意传输协议OT


    不经意传输协议OT

    • 概述
    • OT协议类型
    • 基于RSA的1-out-of-2 OT
    • 基于DH密钥协商的 1-out-of-2 OT(SimpleOT)
    • 参考网页链接

    概述

      不经意传输(Oblivious Transfer,OT)是一种密码学协议,被广泛应用于多方安全计算等领域。其核心是 Alice 虽然不知道 Bob 想要哪一个信息,但能保证 Bob 只获得其中一个信息。
    在这里插入图片描述

    OT协议类型

    • 1选1不经意传输:Alice给Bob发送一条消息,Bob只有1/2的概率能够接受到真正的消息,且Alice不知道Bob是否真正接受了消息。
    • 2选1不经意传输:Alice 给 Bob发送两条消息 ( m 1 , m 2 ) (m_1, m_2) (m1​,m2​),Bob能够在不知道另外一条消息的内容的情况下得知其中一条消息的内容,且Alice不知道Bob选择的哪条消息。
    • n选1不经意传输: 是2选1不经意传输的一般推广。效果可以类比2选1不经意传输协议进行联想。
    • n选m不经意传输:更加一般化的一种情形, Bob 从 Alice的n个输入中得到m个。

    基于RSA的1-out-of-2 OT

    协议流程:

    在这里插入图片描述

    1. 发送者 Alice 生成两对 RSA 公私钥( k p u b 0 、 k p r 0 k_{pub0}、k_{pr0} kpub0​、kpr0​ 和 k p u b 1 、 k p r 1 k_{pub1}、k_{pr1} kpub1​、kpr1​), 并将两个公钥 k p u b 0 , k p u b 1 k_{pub0}, k_{pub1} kpub0​,kpub1​ 发送给接收者Bob。
    2. Bob 生成一个随机数 b b b, 并用收到的两个公钥之一加密随机数(用哪个秘钥取决于 Bob 想要获取哪条数据,如果 Bob 想要得到消息 M 0 M_0 M0​ 就用 k p u b 0 k_{pub0} kpub0​加密随机数,如果想要得到 M 1 M_1 M1​就用 k p u b 1 k_{pub1} kpub1​加密随机数)得到密文 k k k, 并将密文结果发送给Alice。
    3. Alice 用自己的两个私钥 k p r 0 、 k p r 1 k_{pr0}、k_{pr1} kpr0​、kpr1​分别解密收到随机数密文 k k k,并得到两个解密结果 k 0 , k 1 k_0,k_1 k0​,k1​。并将两个结果分别与要发送的两条信息进行异或( k 0 ⊕ M 0 = e 0 k_0 \oplus M_0 = e_0 k0​⊕M0​=e0​, k 1 ⊕ M 1 = e 1 k_1 \oplus M_1 = e_1 k1​⊕M1​=e1​),并将两个结果 e 0 , e 1 e_0,e_1 e0​,e1​发给 Bob。
    4. Bob用自己的真实随机数 b b b与收到的 e 0 、 e 1 e_0、e_1 e0​、e1​分别做异或操作,得到的两个结果中只有一条为真实数据,另外一条为随机数。

    基于DH密钥协商的 1-out-of-2 OT(SimpleOT)

    在这里插入图片描述

    参考网页链接

    1. 多方安全计算-不经意间传输
    2. MPC–不经意传输(Oblivious Transfer)算法及使用Demo
    3. 不经意传输协议-OT(MPC)
    4. 不经意传输协议快速入门
    5. “我知道这是二分之一的机会”——1/2不经意传输协议介绍
    6. SimpleOT
  • 相关阅读:
    治愈系书单|林曦《只生欢喜不生愁》
    前端之CSS——网页的皮肤!!
    ubuntu虚拟机中安装Hadoop全过程(单机分布方式+伪分布方式)
    gpt-4-vision-preview 识图
    大数据Flink(七十三):SQL的滚动窗口(TUMBLE)
    序列化、反序列化
    Go: Struct 匿名字段简介与实践
    算法与设计分析--实验一
    MySQL的索引原理
    如何深度了解汤泉场所?VR全景给你答案
  • 原文地址:https://blog.csdn.net/qq_43751200/article/details/126232276
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号