量子密钥分发系统设计与实现(一):系统基本架构讨论

       经过一段时间讨论,我们了解到量子密钥分发设备是当前量子保密通信系统的基础。从本文开始,我将开启量子密钥分发系统设计与实现系列,详细讨论量子密钥分发设备如何从0到1的搭建。

    1.QKD系统总体讨论

       QKD系统的核心功能就是为通信双方提供理论上无条件安全的对称量子密钥。当前市面上能看到的QKD系统主要分为离散型量子密钥分发设备(如基于偏振编码的量子密钥分发系统、时间-相位编码的量子密钥分发系统)和连续变量量子密钥分发设备(如基于高斯调制相干态协议的密钥分发系统)。 系统之间主要的区别是主要还是由制备量子态的协议决定的。

       虽然不同协议QKD系统的量子态制备原理不同,但是整个密钥协商过程的原理基本是一致的。目前主流的QKD系统都属于制备-测量型(prepare-and-measure, PM))设备(发射端Alice制备并发射量子态,接收端Bob测量量子态)。本文我们就讨论一下QKD系统的基本架构,并根据架构梳理整个密钥分发流程工程实现。

    2.QKD系统基础架构

       QKD系统主要包含两台量子密钥协商设备,分别为发送终端和接收终端。每个终端主要分为三大部分:光路部分、电路部分和软件部分。

     2.1光路部分

       光路部分是实现QKD的物理过程。光路部分包括激光源以及基于M-Z干涉原理的光路,主要用于实现光子量子态的制备和测量。

     2.2电路部分

       电路部分包括控制模块随机数模块、主机模块。其中随机数模块用来产生调制光脉冲的真随机数,而控制模块负责将真随机数调制到光脉冲上,主机模块提供通信平台和控制模块、随机数模块的接入,提供 Alice和 Bob之间的经典信道连接。

     2.3软件部分

     软件部分运行在主机模块上,提供经典信道的通信以及后处理相关算法及数据处理,并提供可供呈现的人机界面。

    3.硬件结构

      本文我们用科大国盾的设备来对量子密钥分发系统硬件结构进行介绍。量子密钥分发系统的设备机箱如下。发射端(称为Alice端)和接收端(称为Bob端)。发射端设备发射单光子脉冲,接收端设备探测单光子脉冲。40MHz-QKD系统的设备为19英寸的4U机箱(宽482.5mm,高177.8mm,深 520mm),重量约为 30kg。

       其中,发射端设备内部主要包含光源子系统、电源板、主控板、数据处理板、平台管理管板等模块,各个模块通过背板上的总线相连接。接收端设备内部主要包含探测器子系统、电源板、主控板、数据处理板、平台管理管板等模块,各个模块也通过背板上的总线相连接。其中主控板、数据处理板和平台管理板构成QKD系统的数据处理子系统。发射端和接收端的主控板、数据处理板和平台管理板结构相同。固化的逻辑不同,焊接的器件不同,决定了其是发射端设备还是接收端设备。发射端和接收端机箱内部结构简图如下:

       关于上述这些模块和子系统,后期我们详细展开。

    4.量子密钥协商流程

       量子密钥协商的流程如下图,本文讨论的重点是基于密钥分发系统协商密钥的实际工作流程,整个流程主要包括设备校准、量子态制备、密钥调制、量子态传输、量子态探测、数据后处理等环节。流程示意图如下图:

     在量子密钥分发系统中的量子密钥协商流程总结为以下几步:

  1. 设备校准:设备校准主要包括三个方面的校准,分别为单光子探测器门控信号相位校准、偏振校准和光信号延时校准;
  2. 量子态制备和密钥调制:量子态的制备及密钥的调制由光源子系统来完成。QKD数据处理子系统将每个时钟周期的发光信息,包括偏振态和光强编码信息,传输给光源子系统,由光源子系统来完成发光;
  3. 量子态测量:量子态测量过程由探测器子系统完成;
  4.  基失对比:基矢比对环节主要是发送者和接收者通过在经典信道上协商,对探测获得的原始密钥(Raw key)进行筛选,筛选出基矢选择一致的密钥,这部分密钥称为Sifed key。在基矢比对的同时,还需要评估密钥的错误率信息,以判断是否有第三者窃听;
  5. 密钥累积:密钥累积环节主要是对原始密钥及其错误率信息、探测率信息进行累积;
  6. 纠错:由于偏振漂移效应、单光子探测器暗计数和后脉冲效应等因素的影响,发送端和接收端筛选出的原始密钥中存在少量的不一致,需要借助经典的数据纠错算法,将两端的密钥纠正至完全一致。纠错后的密钥称为Corrected key;
  7. 隐私放大:按照诱骗态协议,对于每份Corrected key,都需要根据其对应的探测率、错误率等信息计算一个隐私放大因子,以评估其中单光子成码的比例和纠错泄露的信息量。然后以隐私放大因子为依据,对密钥进行压缩,以确保窃听者不能获得到任何有用的密钥信息。该步骤称为隐私放大,隐私放大后产生最终安全的密钥,称为 Final key;
  8. 密钥下发:密钥下发的主要流程是对两端最终密钥的一致性进行最后的验证,并对下发密钥的序号进行同步。其将密钥组装成固定格式、固定大小的密钥包,交付给密钥管理设备;
  9. 身份认证:QKD的数据过程需要大量的网络交互。身份认证使用认证算法对 QKD成码过程中的网络交互数据进行认证,确保其不被第三方篡改。

       以上就是量子密钥分发系统中量子密钥协商的流程,大家可以先体会一下这个过程,关于流程里面涉及到的技术细节,接下的的及几篇文章我会详细展开讨论。

   5.写在最后

       经过本文的讨论,我们对量子密钥分发系统的基础架构进行了讨论,直观了解了一个量子密钥分发系统由哪几部分组成。最后我们讨论了在系统中实际的密钥协商流程是如何实现的。在后续的文章中我们会逐步详细的讨论量子密钥分发系统的每个部分,包括原理和实现方法等。等整个系统讨论完之后,我计划探讨下系统集成化和芯片化的话题,以上是我对这个系列的初步规划,敬请期待。

      文章中有谬误之处,还望各位小伙伴不吝指教。

    6.主要参考文献

      [1] 汪超.高速连续变量量子密钥分发系统关键技术研究[D]

      [2] 钟晓东.量子密钥分发专用数据处理芯片关键技术研究[D]


 ———————分割线———————

      下面是博主的CSDN主页,里面还有其他的量子相关文章,欢迎大家围观并关注博主~我会持续更新量子领域各类博文。

quantum.blog.csdn.neticon-default.png?t=N7T8https://quantum.blog.csdn.net/


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

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

相关文章

聊聊最近两星期的学习吧!

今天是4月14号。 自从我3月份回到学校之后,我每天都有记录自己的学习时长。今天晚上,我在复盘我自己学习时长的时候,我发现,在整个四月份,我平均每天的有效学习时长只有6h,而且到今天为止,整个四…

写作对于技术人来说是最好的投资

上周日参加了腾讯云开发者社区和墨问西东组织的技术创作特训营活动,今天复盘一下。 虽说是技术创作特训营,现场到场的超过半数也都是技术人,但是分享的内容并不局限于技术人。 这次分享包括四个部分的内容,四个部分内容是一个体…

Excel使用 CONCATENATE 函数或“”符号拼接多列数据

如果你想在Excel中拼接多列数据,你可以使用Excel的函数来实现。其中一个常用的函数是CONCATENATE函数或者更简洁的&符号。以下是如何使用这些方法拼接多列数据的示例: 假设有以下的数据: ABCJohnDoe25JaneSmith30BobBrown35 1. **使用…

mvn spring-boot:run运行报错

[ERROR] No plugin found for prefix ‘spring-boot’ in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/itkey/.m2/repository), public (https://maven.aliyun.com/reposito…

Python基于循环神经网络的情感分类系统设计与实现,附源码

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

spring02:DI(依赖注入)

spring02:DI(依赖注入) 文章目录 spring02:DI(依赖注入)前言:一、构造器注入(constructor)二、set注入:分析: 1. Student类:2. Addres…

编程入门(二)【计算机基础三】

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言五、常用软件的相关介绍六、操作系统的相关介绍七、Window11系统的基本操…

关于fail-fast机制和集合中删除元素报错这件事

我们由简到繁来叙述这件事 集合中删除元素报错 这个是很很基础但每一个程序员开发之路上都会遇到的报错,即ConcurrentModificationException 现象:在加强for循环中,使用集合本身的方法去删除了某个元素,比如 for (String obj:…

The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

运行报奇怪错误&#xff0c;然后加一句android:exported“true”&#xff0c;就可以了 &#xff0c;如下 <activity android:name".MainActivity" android:exported"true"><intent-filter><action android:name"android.intent.action…

Ansible离线安装

目录 概述失败成功离线安装包 概述 Ansible rpm离线安装 失败 yum -y install ansible --downloadonly --downloaddir./ansible [rootVM-16-2-centos ~]# yum -y install ansible --downloadonly --downloaddir./ansible 已加载插件&#xff1a;fastestmirror, langpacks Re…

浏览器内使用JS和椭圆曲线密钥交换

源码&#xff1a; 之前使用GO已经可以实现秘钥交换了&#xff0c;这里使用浏览器发送数据&#xff0c;与后端服务实现秘钥交换&#xff0c;记录一下实现的基本函数&#xff1a; // 生成密钥对&#xff0c;并保存到全局变量中async function createDHPair() {// 生成新的ECD…

vue3 源码解析(7)— diff 算法源码的实现

前言 vue3 采用的 diff 算法名为快速 diff 算法&#xff0c;整个 diff 的过程分为以下5个阶段完成。 处理前置节点处理后置节点处理仅有新增节点处理仅有删除节点处理其他情况&#xff08;新增 / 卸载 / 移动&#xff09; 这里我们先定义新旧两个节点列表&#xff0c;接下来…

数据结构速成--栈

由于是速成专题&#xff0c;因此内容不会十分全面&#xff0c;只会涵盖考试重点&#xff0c;各学校课程要求不同 &#xff0c;大家可以按照考纲复习&#xff0c;不全面的内容&#xff0c;可以看一下小编主页数据结构初阶的内容&#xff0c;找到对应专题详细学习一下。 目录 一…

JavaWeb--前端--03Vue入门

Vue入门 1 Vue概述2 快速入门3 Vue指令3.1 v-bind和v-model3.2 v-on3.3 v-if和v-show3.4 v-for3.5 案例 4 生命周期 1 Vue概述 个完整的html页面包括了视图和数据&#xff0c;数据是通过请求 从后台获取的&#xff0c;那么意味着我们需要将后台获取到的数据呈现到页面上&#…

多数之和算法题总结(二十三天)

1. 两数之和 题目 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你…

RDP连接Ubuntu远程桌面

之前一直用vncviewer&#xff0c;效果不佳&#xff0c;Microsoft Remote Desktop连ubuntu上的win虚机很好&#xff0c;多了几个工作环境&#xff0c;于是再度试一下用RDP连Ubuntu远程桌面。 几点注意事项 先安装xrdp: apt install xrdp 踢掉ubuntu上的登录用户&#xff0c;例…

OSPF - 链路状态路由协议

IGP 外部网关路由协议&#xff1a; OSPF &#xff0c; IS-IS EGP 内部网关路由协议&#xff1a; BGP 协议算法&#xff1a; 距离矢量路由协议 链路状态路由协议 lsdb:链路状态数据库 - 存放lsa的地址 RIP&#xff1a;有方向的矢量&#xff0c;距离矢量路由协议&#xf…

PHP-extract变量覆盖

[题目信息]&#xff1a; 题目名称题目难度PHP-extract变量覆盖1 [题目考点]&#xff1a; 变量覆盖指的是用我们自定义的参数值替换程序原有的变量值&#xff0c;一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击。 经常导致变量覆盖漏洞场景有&#xff1a;$$&#x…

最前沿・量子退火建模方法(2) : Domain wall encoding讲解和python实现

前言 上篇讲的subQUBO属于方法论&#xff0c;这次讲个通过编码量子比特的方式&#xff0c;同样的约束条件&#xff0c;不同的编码&#xff0c;所需的量子比特数是不同的。有的编码方式&#xff0c;很节省量子比特。比如&#xff0c;这次要讲的Domain wall encoding。 一、Doma…

Vue.js前端开发零基础教学(六)

学习目标 了解什么是路由&#xff0c;能够说出前端后端路由的原理 掌握多种路由的使用方法&#xff0c;能够实现路由的不同功能 掌握Vue Router的安装及基本使用方法 5.1 初始路由 提到路由&#xff08;Route),一般我们会联想到网络中常见的路由器&#xff08;Router),…