量子密钥分发系统的设计与实现(四):量子密钥的产生过程分析

       在之前的文章中,我们讨论了QKD系统的光路系统,我们对整个系统最基础的部分有了初步的了解,从本文开始,我们就要往上层出发了,一起探讨下光电信号如何变成最终的密钥。

   1.关于QKD后处理

      在光路子系统中,Alice和Bob主要完成了量子信号的产生和测量,整个过程就是Alice将真随机数调制到量子态上,通过信道传输给Bob,Bob对其进行测量。理论上来说Alice的调制基和Bob的测量基一致,那么Bob测到的探测结果就和Alice的是一致的。

       很明显,在实际工程实现上述过程存在一系列问题,比如:

  1. Bob事先并不知道Alice选择何种调制基,Bob只能随机地选择测量基:这使得Bob的测量基与Alice的调制基部分相同;
  2. 信道衰减使得大部分量子态在到达Bob端之前就损耗掉了;
  3. 信道声使得量子态在传输过程中可能会发生改变。

       为了解决上述问题,经过量子信道传输之后,Alice和Bob需要在经典信号对这些密钥进行进一步处理。一般地,把通过认证的经典信道完成的一系列过程称为QKD后处理,因此QKD系统包括量子信号和经典信道两部分,后处理是QKD系统不可缺少的部分,其性能直接影响整个QKD系统的性能。

        后处理包括无效信号的提出、挑选调制基、测量基一致的信号、纠正密钥中错误比特、以及对窃听者的检测和核能呗窃听的信息进行剔除等。本文我们就针对上述流程展开讨论。

     2.QKD系统的后处理过程分析

       我们以偏振态BB84协议为例,整个协议的基础大家可以围观之前关于BB84协议介绍的文章。本文我们进行更为细致的讨论,来分析密钥生成的过程。

      首先我们再详细探讨下量子态制备和探测的基本原理:

      1.BB84协议中包括了两组共轭基,他们是单光子偏振态所张成的二维Hilbert空间,每组基包含了两个相互正交的量子态,其中水平垂直基也称为Z基,对角基称为X基,这两组基的量子态之间的夹角均为45°,下图为光子的偏振态,很形象的显示了这四个量子态。

       2.在通信时,Alice将真随机数调制到这四个量子态中的一个。显然,每确定一个量子态,Alice就需要消耗2比特的真随机数。其中1比特用于选择调制基,另1比特用于选择该调制基中的某一个量子态。下表为BB84协议中的一种编码规则表。

       3.下图为BB84协议过程图,结合上面的编码规则表以及协议过程图,Alice根据调制基选择序列与态选择序列按照编码规则表制备量子态。我们以第1列为例,Alice的调制基选择了“1”,即对角基,然后又选择了态为“0”即| X \rangle  态,因此Alice发送的量子态就是| X \rangle  态。其他列依次类推,可以看出Alice总共发出了11个量子态通过量子信道发送给了Bob;

       4.在Alice发送的11个量子态中,第3号和第8量子态衰减掉了,因此Bob那边就到时候就探测不到这两个量子态了;第4个与第7个量子态由于噪声或者Eve窃听操作,导致其量子态发生了变化。

       5.下表是不同量子态使用不同测量基进行测量时的态坍缩,第一行是待测量的量子态,第一列是测量基,选择正交基对量子态进行测量,量子态测量之后发生了坍缩,对照编码表里面量子态与编码的关系,得到测量结果。可以看出,只有测量基与调制基一致,Bob才能获得和Alice相同的结果

     6.根据上面的表格,我们再分析一下BB84协议过程图,以第1列为例,Bob选择对角基作为测量基,因为Alice发送的量子态是对角基里面的态,由于Alice和Bob的调制基和测量基是一致的,因此Bob测量的结果和Alice发送的是一致的;再看第二列由于Alice的调制基和测量基选择不同,导致测量到的量子态和发送的量子态不一致。

     到这里,整个量子密钥分发过程中的量子信道通信就结束了。

     接下来我们看后处理的过程:

     整个后处理过程主要筛选、误码协商和私密放大三部分,展开包括原始密钥提取、误码率评估、密钥协商、密钥检验、私密放大几部分。这里我们展示一种方案:

  1.  原始密钥提取:Bob通过经典信道告诉Alice他使用的测量基,Alice告诉Bob她所使用的调制基是否与Bob的一致;然后他们剔除不一致的数据,得到原始密钥(Raw key)。这一步没有测量到的无效信号也要剔除;
  2. 评估误码率:Alice和Bob公布他们Raw Key的一部分,进行比较,得到误码率R,Alice和Bob事前要预设误码率的上限,如果计算的误码率大于预设的最大误码率,说明信道可能不安全,取消本次通信;如果误码率小于预设的最大误码率,则机芯你给下一步;
  3. 密钥协商:这一步的目的是去除掉Raw Key中的错误,得到没有错误的协商密钥(Reconciled Key)。本文介绍一种方案,首先Alice和Bob公布一个随机的置换方案,对Raw Key进行置换;然后,他们把Raw Key分成若干长度为L的小段,L的选择要使得每一块中尽可能只有一个错误。对于每一块Alice和Bob公布其奇偶性,并丢弃这一块的最后一位。如果奇偶性相同,则说明这一块可能没错误或有偶数各错误;否则,说明其中至少有一个错误。如果确认有错误,Alice和Bob对这一块分成更小的小块,对每一小块进行上述类似的操作,知道最后发现错误的位置,并删除。Alice和Bob重复上面的操作,直到确定可能没有错误为止。
  4. 密钥检验:本步的目的是Alice和Bob确认他们的协商密钥没有错误,他们把key随机的分成L段,每段的长度是随机的,然后进行奇偶校验;
  5. 私密放大:Alice和Bob拥有一致的Key,但由于误码率的存在和上述的过程是公开的,Eve可能得到部分的信息。保密放大就是从这部分保密的Key中提取完全保密Key,作为最后密码通讯的密钥。记Reconciled Key的长度位n,双方设定保密放大后密钥的长度为m。Alice和Bob公开的把Reconciled Key分成m块,每一块的长度是随机的;然后Alice和Bob把每一块的奇偶性作为最后完全保密的密钥(Final Key)。通过这一步骤,Key的长度从n缩减到m,可以证明Eve得到密钥的信息随m的减小是指数递减的。

       对于连续变量量子密钥分发系统,其后处理的思路和流程和离散的是一致的,本文不再展开讨论,贴一张相干态CV-QKD系统流程图供大家参考。这个方案中后处理过程主要包含两个子过程,分别为数据协调和私密放大。数据协调过程是指合法通信双方使用纠错码对双方裸码中存在的不一致进行纠正,使得双方能够共享一组完全一致的二进制比特序列。私密放大则是双方利用相同的哈希函数集从协调后的数据中提取出安全密钥,消除可能泄露给窃听者的信息。从工程实现角度来说,连续变量后处理相比离散变量复杂,这个后期我们在相关文章中详细讨论。

   3.量子密钥的工程获取方式

     工程上量子密钥的后处理过程一般采用FPGA实现,整个密钥分发系统中,主要负责对光路设备的驱动和后处理过程的实现。FPGA 英文全称 Field Programmable Gate Array,即现场可编程门阵列,是一种较成熟的大规模可编程器件。是一种半定制的集成电路,结合计算机软件技术可以快速方便地构建数字系统,经过几十年的发展,在结构、工艺、集成度、功能、速度和灵活性方面都有很大的改善和提高,被广泛应用于很多领域。在量子密钥分发系统工程实现中,FPGA也是比较主流的开发方式。

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

      这款设备主要包括三大块分别为主控板、数据处理板和平台管理板:

      主控板由FPGA 模块、存储器模块、光源驱动控制模块、TDC 模块、ZYNO 子板、TRNG 子板、单板管理模块和电源管理模块构成。其核心功能为:

  • 实现真随机数产生;
  • 实现光源编码生成及光源驱动控制电信号生成;
  • 实现时间位置测量及探测器数据获取;
  • 实现网络交互数据的身份认证;
  • 实现基矢比对算法;
  • 实现基于 TCP/IP 协议的网络交互;
  • 实现设备固件的远程更新。

     数据处理板主要包括两个FPGA模块、单板管理模块电源管理模块和存储模块。 主要实现以下功能:

  • 实现数据处理板和主控板之间的通讯;
  • 信息融合。接收主控板传输过来的原始密钥及其对应探测率和错误率等统计信息。对密钥和统计信息进行累积;
  • 完成对原始密钥的纠错,输出协商密钥;
  • 完成对协商密钥的隐私放大,输出最终安全的密钥Final key;
  • 完成对 Finalkey 的管理和同步上传。

      平台管理板是整个OKD系统的管理和控制中枢,它要实现对机箱内部各个模块的统一管理。其具体功能如下:

  • 实现远程更新设备内各个FPGA 的配置文件实现系统中各单板的信息收集和汇总上报;
  • 实现对各个单板的复位;
  • 管理各个单板的上电和断电操作;
  • 管理设备运行日志;
  • 控制机箱面板指示灯的显示状态;
  • 对机箱电源的插入进行检测,获取机箱电源状态;
  • 控制机箱风扇的转速

      整个量子密钥协商过程中,有一个很重要的原则就是“量子密钥明文不落地”,即从量子密钥生成之后的存储、传输、到最后的应用,密钥本身也是需要加密处理的。这里涉及到“零信任的概念”后期我们展开讨论。

    4.写在最后

      QKD系统主要分为3个步骤:第一步为量子态的制备、分发与测量,第二步为数据筛选与参数估计,第三部分为后处理过程。本文我们从原理侧主要对基于离散变量的密钥分发的后处理过程进行了分析。在后期的文章中,我会进一步细化如何结合硬件和软件的设计,实现在机器上这些步骤具体是如何通过光路、电路及控制系统的软件和硬件协调完成的,敬请期待。

       博主还想补充一点,就是QKD系统的芯片化研究其实也是现在研究的热点。博主自己对这块也非常感兴趣,后期有精力会在这块进行学习和分享。

      文中有谬误之处,还请大家不吝指正。

    5.主要参考文献

    [1]乐丹.量子密钥分发后处理关键技术[D]

    [2]陈波.量子密码通讯后处理软件设计[D]

    [3]钱旭波.量子密钥分发中的协商和保密增强的研究[D]

    [4]杨申申.基于FPGA的高速连续变量量子密钥分发后处理技术研究[D]

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

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

      关于量子密钥分发系统更多的讨论,欢迎各位小伙伴关注博主的专栏:
专栏:量子密钥分发系统icon-default.png?t=N7T8http://t.csdnimg.cn/ggwaI

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

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

https://quantum.blog.csdn.net​icon-default.png?t=N7T8https://quantum.blog.csdn.net/

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

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

相关文章

【大数据】LSM树,专为海量数据读写而生的数据结构

目录 1.什么是LSM树? 2.LSM树的落地实现 1.什么是LSM树? LSM树(Log-Structured Merge Tree)是一种专门针对大量写操作做了优化的数据存储结构,尤其适用于现代大规模数据处理系统,如NoSQL数据库&#xff…

电商API采集的优势、使用场景,如何实时获取主流电商API数据

电商API采集简介 随着电子商务行业的快速发展,电商API采集成为了许多电商平台和企业的重要工具。API(应用程序接口)是不同软件系统之间进行数据交互的协议,通过API采集,电商平台可以方便地获取其他电商平台的商品信息…

如何在Facebook上发布广告?

在广告管理工具中创建广告 创建广告系列和广告组。在广告名称文本框中输入描述性名称。选择代表您业务的Facebook 公共主页和Instagram 帐户。 所有广告都必须具有关联的Facebook 公共主页。选择广告格式。 选择素材。 您可能还会看到其他选项,具体取决于您先前所做…

coredns部署

coredns部署 coredns部署 一:coredns-rbac.yaml apiVersion: v1 kind: ServiceAccount metadata:name: corednsnamespace: kube-systemlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcile --- apiVersion: rbac…

2024年阿里云轻量应用服务器最低61元,云服务器最低仅需99元(附购买教程)

2024年阿里云最便宜的云服务器多少钱?目前阿里云最便宜的轻量应用服务器价格为61元1年,最便宜的云服务器价格为99元1年,有的新手用户不是很清楚具体的购买教程,本文为大家展示详细的购买教程,以供参考。 注册或者登陆…

创建钉钉审批流实例

1、依赖 <!--钉钉 api --> <dependency><groupId>com.aliyun</groupId><artifactId>dingtalk</artifactId><version>2.0.14</version> </dependency> <!--钉钉 事件订阅--> <dependency><groupId>co…

32 信号入门

重点 1.掌握linux信号的基本概念 2.掌握信号产生的一般方式 3.理解信号递达和阻塞的概念&#xff0c;原理 4.掌握信号捕捉的一般形式 5.重新了解可重入函数的概念 6.了解竞态条件的情景和处理方式 7.了解SIGCHLD信号&#xff0c;重新编写信号处理函数的一般处理机制 目录 1.…

网络研讨会 | 数据中心中的人工智能

人工智能&#xff08;AI&#xff09;是嵌入式开发人员必须解决的最复杂的技术之一。将其集成到您的系统中会带来很多问题而不是很多答案。行业媒体Embedded Computing Design特地推出“工程师的人工智能集成指南”月度网络研讨会系列&#xff0c;目的是尽可能地简化嵌入式计算设…

[SWPUCTF 2022 新生赛]ez_ez_unserialize

要绕过wakeup函数&#xff0c;只要序列化的中的成员数大于实际成员数&#xff0c;即可绕过。 <?php class X {public $x fllllllag.php; }$anew X(); echo serialize($a); O:1:“X”:1:{s:1:“x”;s:13:“fllllllag.php”;} 修改为 O:1:“X”:3:{s:1:“x”;s:13:“flllll…

自动化立体库安全使用管理制度

导语 大家好&#xff0c;我是智能仓储物流技术研习社的社长&#xff0c;老K。专注分享智能仓储物流技术、智能制造等内容。 新书《智能物流系统构成与技术实践》 完整版文件和更多学习资料&#xff0c;请球友到知识星球 【智能仓储物流技术研习社】自行下载 关于自动化立体库安…

如何看待AIGC技术

介绍 AIGC技术&#xff08;人工智能、互联网、物联网、大数据和云计算&#xff09;是指结合人工智能、互联网、物联网、大数据和云计算等技术&#xff0c;形成一个综合的技术体系。以下是一些观点&#xff0c;可供参考&#xff1a; • 创新和发展&#xff1a; AIGC技术…

北京筑龙当选中招协第二届招标采购数字化专业委员会执行主任单位

4月18-19日&#xff0c;中国招标投标协会&#xff08;以下简称中招协&#xff09;2024年年会在宁波召开&#xff0c;北京筑龙作为中招协理事会员单位受邀出席会议。会议期间举行了“电子招标采购专业委员会换届会议暨第二届第一次工作会议”&#xff0c;北京筑龙当选第二届招标…

MySQL--对于库的操作对于表的操作

一、库的查看创建删除 库的查看 show databases; 库的创建&#xff08;创建一个test1数据库&#xff09; create database test1; 同样&#xff0c;我们另起一个root会话&#xff0c;并执行 cd /var/lib/mysql 然后发现多了一个test1目录 删除库&#xff08;删除test1数…

消息队列 Kafka 入门篇(二) -- 安装启动与可视化工具

一、Windows 10 环境安装 1、下载与解压 首先&#xff0c;访问Apache Kafka的官方下载地址&#xff1a; https://kafka.apache.org/downloads 在本教程中&#xff0c;我们将使用kafka_2.13-2.8.1版本作为示例。下载完成后&#xff0c;解压到您的工作目录的合适位置&#xff…

操作系统—系统调用(实验)

文章目录 系统调用1.实验目标2.实验过程记录(1).理解系统调用接口(2).阅读argraw、argint、argaddr和argstr(3).理解系统调用的解耦合实现方式(4).wait系统调用的非阻塞选项实现(5).yield系统调用的实现 3.存在的问题及解决方案实验小结 系统调用 1.实验目标 阅读并了解xv6内核…

酷开科技逐步为用户构建健全的智慧家庭生活场景

大规模与精细化人群技术则是通过大量的计算能力和精细化的运营能力&#xff0c;建立用户专属数据储存区域&#xff0c;使得用户在使用不同电视的观影偏好和兴趣能够能够得以延续。 不拘泥于自有品牌终端数量&#xff0c;酷开系统除了集成在创维电视上&#xff0c;还服务于飞利…

http是什么?http的基础知识教程详解(2024-04-24)

1、http的概念 HTTP&#xff08;超文本传输协议&#xff0c;HyperText Transfer Protocol&#xff09;是一种用于分布式、协作式、超媒体信息系统的应用层协议。 HTTP 是万维网&#xff08;WWW&#xff09;的数据通信的基础&#xff0c;设计目的是确保客户端与服务器之间的通…

CUDA的开发框架

CUDA的开发框架主要提供了一系列工具和库&#xff0c;使得开发者可以充分利用NVIDIA GPU进行高效的并行计算。以下是CUDA开发框架的一些关键组成部分。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.CUDA核心库&#xff1a;这些是构…

苍穹外卖day11 Apache ECharts 数据统计-图形报表

文章目录 前言一、Apache ECharts二、营业额统计1. 业务规则2. 接口设计3. 代码实现 三、用户统计1. 业务规则2. 接口设计3. 代码实现 四、订单统计1. 业务规则2. 接口设计3. 代码实现 五、销量排名Top101. 业务规则2. 接口设计3. 代码实现 前言 作为后端开发人员使用Echarts&…

2024年阿里云新用户购买云服务器,六大优惠活动介绍

假如你是一个初次购买阿里云服务器产品的新手用户&#xff0c;在购买阿里云服务器过程中如果直接注册账号然后通过云服务器ECS产品页下单购买可能会多花很多钱&#xff0c;作为一个老用户&#xff0c;有必要把这2024年新手用户必须了解的六大优惠活动介绍给大家&#xff0c;让大…