基于量子同态的安全多方量子求和加密

news2024/9/22 12:22:08
摘要
安全多方计算在经典密码学中一直扮演着重要的角色。量子同态加密(QHE)可以在不解密的情况下对加密数据进行计算。目前,大多数协议使用半诚实的第三方(TP)来保护参与者的秘密。我们使用量子同态加密方案代替TP来保护各方的隐私。在量子同态加密的基础上,提出了一种安全的多方量子和方案,其中N个参与者可以委托一个具有强大量子计算能力的服务器协助计算。通过将计算和密钥更新过程委托给服务器和半诚实的密钥中心,参与者使用泡利算子加密他们的私有信息数据以获得总和。此外,服务器可以自行设计和优化求和线,即使秘密信息为负,也能得到正确的结果。正确性分析表明,参与者能够正确地获得计算结果。安全性分析证明,该方案既能抵抗外部攻击,又能抵抗参与者自身的攻击,并能抵抗多达N-2个参与者的合谋攻击。从理论上讲,该协议可以推广到其他安全的多方计算问题。

QOTP

量子同态加密方案包括四种算法,每种算法的实现过程如下。

  1. 密钥生成算法。客户端使用安全参数的一元表示作为算法的输入,获得一组密钥,即经典公开加密密钥pk、经典秘密解密密钥sk和量子评估密钥 ρ e v k ρ_evk ρevk
  2. 加密算法。客户端根据加密密钥pk的值对明文信息M进行加密,并将加密后的信息C发送给服务器。加密是由多个X和Z门组合后形成的结果。
  3. 同态求值算法。服务器对接收到的加密信息C执行一元算子U,并将评估信息E发送给客户端。这个过程将消耗量子评估密钥。
  4. 解密算法。由于服务器执行了幺正算子U,客户端更新解密密钥sk对接收到的求值信息e进行解密,客户端的解密信息本质上就是作用于明文信息M的幺正算子U。

OTP的加密公式如下所示
在这里插入图片描述
基于该加密公式的变式如下所示:
在这里插入图片描述
当服务器执行T或Ty门的评估时,会发生意外的s错误
在这里插入图片描述
如果只对求值结果执行X和Z,则不能完全得到T|φ >,可能会出现s误差。为了消除s误差,Gong等基于u旋转贝尔测量的思想,设计了如图所示的量子电路来完成t门的同态评价过程。
在这里插入图片描述
根据加密密钥a的值,客户端进行Sa旋转贝尔测量,得到r和t的值。根据密钥更新算法,客户端将解密密钥更新为 a ⊕ r a\oplus r ar a ⊕ r ⊕ t a\oplus r \oplus t art,用于解密算法,完成t门的求值。
在这里插入图片描述

量子全加法器电路

在本节中,我们描述了如何构建一个基于经典二进制加法的量子全加法器电路。假设有两个无符号二进制数,A=(a0,a1,…,an-1)和B=(b0,b1,…,bn-1)。这两个数的和是C = (c0, c1,…,cn),其中q是进位量子位。
在这里插入图片描述
二进制加法包括异或运算和与运算。量子电路中的CNOT和Toffoli门完成这两种操作。由CNOT门和Toffoli门组成的两个参与者的全加法器电路,一个两位量子全加法器电路如下图所示。
在这里插入图片描述
Toffoli门可分解为2个H门、1个S门、6个CNOT门、3个t门和4个ty门,详细电路如下图所示。
在这里插入图片描述
Toffoli门的详细分解电路是实现2位量子全加法器的基本元件。它将三量子位门的实现转化为单量子位和双量子位门的组合,在一定程度上易于实验和技术实现。

在我们的协议中,要加密的参与者的消息是经典的二进制数据,可以通过利用水平和垂直极化来表示。垂直偏振光子|1 >表示1,水平偏振光子|0 >表示0。在传输这些光子之前,所有的光子都是使用QOTP加密。请注意,如果加密消息是经典的,则可以使用QOTP生成完全安全的密文。
在这里插入图片描述

假设有N个参与者(P1, P2,…,Pn),每个参与者都持有一个只有他们自己知道的m长度的秘密信息Ii(i = 1,2,…,N)。它们可以借助服务器和可信密钥中心计算出Ii的总和,它们与TP之间的通信模型如上图所示。为了防止计算溢出,需要一个安全参数K,其中K = [log2(N)] + 2。在下图中,我们展示了该方案的流程图。
在这里插入图片描述

  1. 密钥中心随机生成N个长度为2m的密钥,并通过安全的密钥分发协议(如BB84协议)将 K e y i 0 Key^0_i Keyi0发送给参与者Pi。
  2. 如果参与者的秘密信息 I i I_i Ii的数量为正或零,参与者不必对他们的0-1代码做任何事情。否则,它们将0-1代码转换为2的补码。然后他们准备光子序列 ∣ ψ 1 i ⟩ . . . ∣ ψ M i ⟩ |\psi^i_1\rangle...|\psi^i_M\rangle ψ1i...∣ψMi基于它们的0-1编码,如果 B i n j i = 1 Bin^i_j=1 Binji=1,则 ∣ ψ j i ⟩ = ∣ 1 ⟩ |\psi^i_j\rangle=|1\rangle ψji=∣1;如果 B i n j i = 0 Bin^i_j=0 Binji=0,则 ∣ ψ j i ⟩ = ∣ 0 ⟩ |\psi^i_j\rangle=|0\rangle ψji=∣0。然后使用 K e y i 0 Key^0_i Keyi0对光子序列进行加密,基于QOTP得到 ∣ Ψ 1 i ⟩ . . . ∣ Ψ M i ⟩ |\Psi^i_1\rangle...|\Psi^i_M\rangle Ψ1i...∣ΨMi= X a 1 ( 0 ) Z b 1 ( 0 ) ∣ ψ 1 i ⟩ . . . X a M + L ( 0 ) Z b M + L ( 0 ) ∣ ψ M i ⟩ X^{a_1(0)}Z^{b_1(0)}|\psi^i_1\rangle...X^{a_{M+L}(0)}Z^{b_{M+L}(0)}|\psi^i_M\rangle Xa1(0)Zb1(0)ψ1i...XaM+L(0)ZbM+L(0)ψMi。最后,密钥中心根据安全参数k添加2K零密钥。
    参与者在光子序列前加上k长度为|0>的光子,则新光子序列为 ∣ 0 1 ⟩ . . . ∣ 0 k ⟩ ∣ Ψ 1 i ⟩ . . . ∣ Ψ M i ⟩ |0_1\rangle...|0_k\rangle|\Psi^i_1\rangle...|\Psi^i_M\rangle 01...∣0kΨ1i...∣ΨMi.信息为负的参与者在光子序列前添加k长度|1 >个光子,新光子序列为 ∣ 1 1 ⟩ . . . ∣ 1 k ⟩ ∣ Ψ 1 i ⟩ . . . ∣ Ψ M i ⟩ |1_1\rangle...|1_k\rangle|\Psi^i_1\rangle...|\Psi^i_M\rangle 11...∣1kΨ1i...∣ΨMi
  3. 为了防止被窃听,参与者准备了Di个诱饵光子,并随机插入到自己的光子序列中,每个光子从{|0 >,|1 >,|+ >,|−>}中选择,并将新的光子序列发送给服务器。
  4. 一旦服务器获得他们的光子序列,参与者宣布插入的诱饵光子的位置 P o i Po^i Poi b a s e B a i base Ba^i baseBai。如果插入诱饵为|0 >或|1 >,则测量基为{|0 >,|1 >};若插入诱饵为|+>或|−>,则测量基为|+>或|−>。服务器根据测量结果计算准确度,如果准确度低于预设的阈值,则表示存在窃听者,然后终止协议。否则,服务器将丢弃这些诱饵光子并继续下一步。
  5. 服务器构建一个量子全加法器电路,每个参与者的光子序列作为电路的输入。在评估操作中,密钥中心根据服务器执行的量子门和量子门的密钥更新算法更新密钥。在服务器执行完量子电路中的所有量子门后,密钥中心获得最终更新的 K e y i f i n a l Key^{final}_i Keyifinal,即解密密钥。服务器将计算结果发送到密钥中心。
  6. 密钥中心使用解密密钥对光子序列中的所有光子进行解密和测量,然后将测量结果释放给所有参与者。然后参与者计算比特序列,得到他们的秘密信息的总和。

在步骤5中,在同态求值算法中,当服务器对密文进行Clifford gate运算时,根据Clifford gate与泡利矩阵之间的交换规则,无需额外的经典资源或量子资源即可获得新的中间密钥。假设服务器执行的第i次Clifford gate操作定义为Gi,作用于光子序列 G i X a k ( j ) Z b k ( j ) ∣ ψ ⟩ G_iX^{a_k(j)}Z^{b_k(j)}|\psi\rangle GiXak(j)Zbk(j)ψ中的第k个,(如果Gi = CNOT,输入量子位分别为k和l,则 G i X a k ( j ) Z b k ( j ) ∣ ψ ⟩ ⊗ G i X a l ( j ) Z b l ( j ) ∣ ψ ⟩ G_iX^{a_k(j)}Z^{b_k(j)}|\psi\rangle\otimes G_iX^{a_l(j)}Z^{b_l(j)}|\psi\rangle GiXak(j)Zbk(j)ψGiXal(j)Zbl(j)ψ,其中Gi∈{X, Y, Z, H, T, S, CNOT}, ak(j), bk(j)为(j+1)-中间密钥。对于操作Gi和密钥更新算法,第j+1中间密钥的计算过程如下:
在这里插入图片描述
任何任意的酉算子都可以由H、S、CNOT和T门组成,并且客户端需要T门键更新才能在服务器上执行任何酉操作。但是当t门作用于加密的量子位时,就会发生s错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/818381.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day49 算法记录|动态规划16 (子序列)

这里写目录标题 583. 两个字符串的删除操作72. 编辑距离总结 583. 两个字符串的删除操作 这道题求得的最小步数,是这道题的变种 M i n ( 步数) s t r 1. l e n g t h s t r 2. l e n g t h − 2 ∗ ( M a x ( 公共字符串长度) ) Min(步数…

子域名收集工具OneForAll的安装与使用-Win

子域名收集工具OneForAll的安装与使用-Win OneForAll是一款功能强大的子域名收集工具 GitHub地址:https://github.com/shmilylty/OneForAll Gitee地址:https://gitee.com/shmilylty/OneForAll 安装 1、python环境准备 OneForAll基于Python 3.6.0开发和…

Linux系统安装Nginx(保姆级教程)

目录 一、环境准备 二、开始安装 2.1、解压Nginx文件 2.2、编译安装 2.3、启动Nginx 2.4、安装成系统服务(脚本) 2.5、常见问题 本机如何访问虚拟机中的Nginx? 编译安装的过程中出现如下几种警告错误 一、环境准备 系统&#xff1a…

教程|如何用 Docker/K8s 快速部署 StarRocks 集群

云原生是一种现代化的软件开发和部署方法论。相较于传统的应用开发和部署方式,云原生带来了显著的优势,包括弹性伸缩、应用程序可移植性、高可靠性和自动化部署与管理等方面,从而极大地提升了成本效益和开发效率。 StarRocks 从 3.0 版本开始…

wms三代电子标签操作指导

一、服务器使用 V1.4基站已经内置服务程序,无需搭建服务;可跳至第1.4部分 1、服务器搭建 安装mysql5.7, 创建db_wms数据库并导入原始数据库文件 安装jdk1.8, 配置java环境变量 下载tomca8.0, 部署wms.war到tomcat, 并启动tomcat 2、下载资源 Wind…

dflow工作流使用1——架构和基本概念

对于容器技术、工作流等概念完全不懂的情况下理解dflow的工作方式会很吃力,这里记录一下个人理解。 dflow涉及的基本概念 工作流的概念很好理解,即某个项目可以分为多个步骤,每个步骤可以实现独立运行,只保留输入输出接口&#x…

以科技创新引领短交通行业发展,九号公司重磅新品亮相巴塞罗那MWC

2月27日,以“时不我待(VELOCITY) - 明日科技,将至已至”为主题的2023世界移动通信大会(Mobile World Congress,以下简称MWC)在西班牙巴塞罗那举办,全球创新短交通领军企业九号公司参加了大会。现场&#xf…

学习记录——DSConv

Dynamic Snake Convolution based on Topological Geometric Constraints for Tubular Structure Segmentation ICCV 2023 用于管状结构分割的动态蛇形卷积 仍存在一些复杂的领域,大模型还未能够很好的覆盖(也许只是时间问题)。例如伪装目标…

【MySQL】模具更新方案

系列文章 C#底层库–MySQLBuilder脚本构建类(select、insert、update、in、带条件的SQL自动生成) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129179216 C#底层库–MySQL数据库操作辅助类(推荐阅读&#xff0…

接口测试用例设计:常见问题和风险

一、接口测试 接口测试,即对API进行测试。 接口测试过程容易出现的典型问题: (1) 传入参数处理不当,导致程序奔溃 (2) 类型溢出,导致数据读出和写入不一致 (3) 因对象权限未进行校验,可以访问其他用户的敏感信息 …

快速了解MyBatis---映射关系多对一

文章目录 映射关系多对一映射关系-官方文档映射关系多对1-基本介绍基本介绍注意细节 映射关系多对1-映射方式映射方式配置Mapper.xml 方式-应用实例注解实现多对1 映射-应用实例 映射关系多对一 映射关系-官方文档 文档地址: https://mybatis.org/mybatis-3/zh/sqlmap-xml.ht…

(树) 剑指 Offer 32 - I. 从上到下打印二叉树 ——【Leetcode每日一题】

❓剑指 Offer 32 - I. 从上到下打印二叉树 难度:中等 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3/ \9 20/ \15 7返回: [3,9,20,15,7]提示: 节…

软件测试——Postman Script脚本功能

Postman作为软件测试里一款非常流行的调试工具,给我们提供了一个执行JavaScript脚本的环境,所以我们可以使用js语言编写脚本来解决一些接口自动化的问题,比如接口依赖、接口断言等等。Postman有Pre-RequestScript和Tests两个编写js脚本的模块…

【LeetCode】最小路径和

最小路径和 题目描述算法流程编程代码 链接: 最小路径和 题目描述 算法流程 编程代码 class Solution { public:int minPathSum(vector<vector<int>>& grid) {int m grid.size();int n grid[0].size();vector<vector<int>> dp(m1,vector<in…

html5播放器视频切换和连续播放的实例

当前播放器实例可以使用changeVid接口切换正在播放的视频。当有多个视频&#xff0c;在上一个视频播放完毕时&#xff0c;自动播放下一个视频时也可采用该处理方式。 const option {vid: 88083abbf5bcf1356e05d39666be527a_8,//autoplay: true,//playsafe: , //PC端播放加密视…

ipad必须要配原装的电容笔吗?ipad可以用的手写笔

众所周知&#xff0c;苹果平板电脑的价格很贵&#xff0c;但只要你有充足的预算&#xff0c;是可以选择入手的。另外&#xff0c;iPad搭配上电容笔不但适用于专业画图&#xff0c;也适用于写字作笔记。苹果原装的电容笔&#xff0c;功能强大&#xff0c;但是价格昂贵&#xff0…

记录一个可支持 style 属性 HtmlTextView 控件

大家都知道可通过原生API Html.fromHtml(html) 在 TextView 上显示 html 文本&#xff0c;但显示效果有限。 对于复杂效果就不行了&#xff0c;费了点时间找了一些库验证&#xff0c;最终找到一个合适的&#xff0c;在此记录一下。 支持内容挺丰富的&#xff0c;包含很多 htm…

Mac查看系统状态

syatem profiler mac系统中提供了system profiler来查看系统的详细信息&#xff0c;包括硬件、网络以及安装的软件 Console 显示了系统上的日志文件信息&#xff0c;有助于诊断问题 Activity Monitor 可以提供正在运行的系统的相关信息 https://zhhll.icu/2021/Mac/查看系统…

学习记录——Octave Convolution、LSK

Octave Convolution 2019 ICCV 自然世界中的图像存在高低频&#xff0c;卷积层的输出特征图以及输入通道&#xff0c;也都存在高、低频分量。 低频分量支撑的是整体轮廓&#xff0c;高频分量则关注细节&#xff0c;显然&#xff0c;低频分量是存在冗余的&#xff0c;在编码过程…

LLM微调 | Prefix-Tuning, Prompt-Tuning, P-tuning, P-tuning-v2

&#x1f525; 下面我只是分析讲解下这些方法的原理以及具体代码是怎么实现的&#xff0c;不对效果进行评价&#xff0c;毕竟不同任务不同数据集效果差别还是挺大的。 文章目录 0、hard prompt & soft prompt区别1、Prefix-Tuning2、Prompt-Tuning3、P-tuning4、P-tuning-v…