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

       在之前的文章中,我们讨论了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://www.hqwc.cn/news/644044.html

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

相关文章

万界星空科技电机行业MES+商业电机行业开源MES+项目合作

要得出mes系统解决方案在机电行业的应用范围,我们先来看一下传统机电行业的管理难题: 1、 产品标准化程度较低,制造工艺复杂,生产周期较长,产品质量不稳定; 2、 自动化程度低,大多数工序以手工…

医学访问学者专栏—研究领域及工作内容

在国外访问学者申请中,医学领域的研究、教学及从业人员占有相当大的比例,这些医学访问学者的研究领域及工作内容都有哪些?本文知识人网小编就相关问题进行详细阐述,并附带案例说明。 一、在国外做医学访问学者可以从事哪些工作&am…

1142 - SELECT command denied to user ···

MySql子账户操作数据库权限不够,提示错误 1142 - SELECT command denied to user database 1142 - ALTER command denied to user database 以下命令可以解决 GRANT SELEC your_database_name TO mysql_account%;

Esp8266 - USB开关分享(开源)

文章目录 简介推广自己gitee项目地址:嘉立创项目地址:联系我们 功能演示视频原理图嘉立创PCB开源地址原理图PCB预览 固件烧录代码编译烧录1. 软件和驱动安装2. 代码编译1. 安装所需要的依赖库文件2. 下载源代码3. 烧录代码 使用说明1. 设备配网2. 打开设备操作页面3…

【kettle002】kettle访问人大金仓KingbaseES数据库并处理数据至execl文件

一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 熟悉、梳理、总结下人大金仓KingbaseES数据库相关知识体系 kettle访问人大金仓KingbaseES数据库…

关于Spring事务管理之默认事务间调用问题

由事务的传播行为我们知道, 如果将方法配置为默认事务REQUIRED在执行过程中Spring会为其新启事务REQUIRES_NEW, 作为一个独立事务来执行. 由此存在一个问题。 如果使用不慎, 会引发org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back bec…

用于割草机器人,商用服务型机器人的陀螺仪

介绍一款EPSON推出适用于割草机器人,商用服务型机器人的高精度陀螺仪模组GGPM61,具体型号为GGPM61-C01。模组GGPM61是一款基于QMEMS传感器的低成本航向角输出的传感器模组,它可以输出加速度、角速度及姿态角等信息,为控制机器人运…

Git 保姆级教程(一):Git 基础

一、获取 Git 仓库 通常有两种获取 Git 项目仓库的方式: 1. 将尚未进行版本控制的本地目录转换为 Git 仓库; 2. 从其它服务器克隆 一个已存在的 Git 仓库。 两种方式都会在你的本地机器上得到一个工作就绪的 Git 仓库。 1.1 git init(本地…

【InternLM】Lagent智能体应用搭建

1. Lagent和AgentLego 1.1 Lagent Lagent 是一个开源的 LLM 智能体框架,允许使用者快速将一个大语言模型转换成智能体,并提供一些典型工具来激发大语言模型的潜能。Lagent 框架图如下: Lagent 包含三个主要模块:agents&#xf…

【数据结构】二叉树(定义、性质、存储、遍历、构造)解析+完整代码

文章目录 1.树的基本概念2.二叉树的概念2.1 二叉树定义和特性2.2 二叉树性质2.3 二叉树的存储2.3.1 顺序存储2.3.2 链式存储 3.二叉树的遍历3.1 先序遍历3.2 中序遍历3.3 后序遍历3.4 层序遍历3.5 由遍历序列构造二叉树A.前序中序遍历序列B.后序中序遍历序列C.层序中序遍历序列…

G2024-04-24 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-24统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5TypeScript项目3PowerShell项目1C++项目1非开发语言项目1LLaMA模型的C/C++移植 创建周期:306 天开发语言:C, C++协议类型:MIT Li…

【嵌入式】Arduino IDE + ESP32开发环境配置

一 背景说明 最近想捣鼓一下ESP32的集成芯片,比较了一下,选择Arduino IDE并添加ESP32支持库的方式来开发,下面记录一下安装过程以及安装过程中遇到的坑。 二 下载准备 【1】Arduino IDE ESP32支持一键安装包(非常推荐&#xff0…