量子密钥分发和BB84协议-程序员宅基地

技术标签: 量子技术  

1984年,物理学家Bennett和密码学家Brassard提出了利用“单量子不可克隆定理”实现密钥分发的方案,后称BB84协议。“单量子不可克隆定理”(No-CloningTheorem)是“海森堡测不准原理”的推论,它是指量子力学中对任意一个未知的量子态进行完全相同的复制的过程是不可实现的,因为复制的前提是测量,而测量必然会改变该量子的状态。下面将通过示意图,解释如何利用光子的量子特性在理论上可以万无一失地传送密钥。只要耐心地读完下面不含任何数学公式的解说文字,你对量子密钥分发原理就一清二楚了。图1是提供预备知识,图2是量子密钥分发的原理图,量子密钥分发技术的奥秘全在这张图中。
在这里插入图片描述

图中的小黄球代表单个光子,黑色箭头代表光子的偏振方向,左边蓝色人是信息发送方,而绿色人是接收方。收发双方都手持偏振滤色片,发送方有四种不同的滤色片,分别为上下、左右偏振(第一组)、上左下右、上右下左偏振(第二组)四种滤色片,发送方把不同的滤色片遮于单光子源前,就可分别得到四种不同偏振的光子,分别用来代表“0”和“1”。请注意,每个代码对应于两种不同的光子偏振状态,它们出自两组不同偏振滤色片(见图1中的左下角,它和通常光通讯的编码不尽相同)。接收方就只有两种偏振滤色片,上下左右开缝的“十”字式和斜交开缝的“X”字式。由于接收方无法预知到达的每个光子的偏振状态,他只能隨机挑选两种偏振滤色片的一种。接收方如果使用了“十”字滤色片,上下或左右偏振的光子可以保持原量子状态顺利通过(见图中上面的第一选择,接收方用了正确的滤色片),而上左下右、上右下左偏振的光子在通过时量子状态改变,变成上下或左右偏振且状态不确定(见图中第四选择,用了错误的滤色片)。接送方如果使用X字滤色片情况正好相反,见图中第二选择(错误)和第三选择(正确)。
在这里插入图片描述

有了以上的预备知识,就容易理解量子密钥分发技术了。图2第一横排是发送方使用的不同偏振滤色片,从左至右将九个不同偏振状态的光子随时间先后逐个发送给下面绿色接收方,这些光子列于第二排。接收方隨机使用“十”字或“X”字偏振滤色片将送来的光子逐一过滤,见第三排,接收到的九个光子的状态显示在第四排。这里是密钥(Key)产生的关键步骤:接收方通过公开信道(电子邮件或电话)把自己使用的偏振滤色片的序列告知发送方,发送方把接收方滤色片的序列与自己使用的序列逐一对照,然后告知接收方哪几次用了正确的滤色片(打勾️的1,4,5,7,9)。对应于这些用了正确滤色片后接收到的光子状态的代码是:00110,接发双方对此都心知肚明、毫无疑义,这组代码就是它们两人共享的密钥。为什么第三者不可能截获这个密钥呢?假设窃密者在公开信道上得知了接送方使用的偏振滤色片序列,也知道了发送方的确认信息(打勾️的1,4,5,7,9),但是窃密者依旧无法确认密钥序列。譬如对第一列,窃密者知道接收方用的是“十”字滤色片,而且发送方确认是对的,但这可能对应于上下或左右偏振的两种不同的光子,它们分别代表“1”或“0”,除了发送和接收双方都清楚知道,窃密者是无法确认的。窃密者真要确认的话,也要在中途插入偏振滤色片来观察,但它又无法事先知道应该使用“十”还是“X”滤色片,一旦使用错误滤色片,光子状态改变,窃密的行为立即暴露。再以第一列光子为例,如果窃密者在接收端前插入“X”滤色片,光子偏振状态可能改变成上右下左的斜偏振,接收方仍使用“十”滤色片,得到左右偏振光子,经确认后此位变成“1”。结果通信双方的密钥在第一位不一致,这种出错经过奇偶校验核对非常容易发现和纠正。通常的做法是通信双方交换很长的光子序列,得到确认的密钥后分段使用奇偶校验核对,出错段被认为是技术误差或已被中间窃听,则整段予以刪除,留下的序列就是绝对可靠的共享密钥。有必要指出本文仅作基本原理的介绍,工程实现中的细节不再赘述。量子密钥分发方法除了本文介绍的BB84规约外还有E91规约,有兴趣的读者可去网上搜索。量子密钥分发技术中的密钥的每一位是依靠单个光子传送的,单个光子的量子行为使得窃密者企图截获并复制光子的状态而不被察觉成为不可能。而普通光通信中每个脉冲包含千千万万个光子,其中单个光子的量子行为被群体的统计行为所淹没,窃密者在海量光子流中截取一小部光子根本无法被通信两端用户所察觉,因而传送的密钥是不安全的,用不安全密钥加密后的数据资料一定也是不安全的。量子密钥协商分发技术的关键是产生、传送和检测具有多种偏振态的单个光子流,特种的偏振滤色片,单光子感应器和超低温环境使得这种技术成为可能。量子密钥分发虽在理论上具有无条件安全性,但由于原始方案要求使用理想的单光子源和单光子探测器,在现实条件下很难实现,这导致现实的量子密钥分发系统可能存在各种安全隐患。随后开发的诱骗态量子密钥分发,成功解决了非理想单光子源带来的安全漏洞,但探测器的不完美性又成为“量子黑客”主要攻击点。新开发的高效低噪声上转换单光子探测器,实现了测量器件无关的量子密钥分发,成功解决了现实环境中单光子探测系统易被黑客攻击的安全隐患。这些都是基于BB84协议的改进方案,是量子通信工程化前的重要实验成果。必须强调,量子密钥分发光纤网络上传送的是单个光子序列,所以数据传输速度远远低于普通光纤通信网络,它不能用来传送大量的数据文件和图片,它是专门用来传送对称密码体制中的密钥,当通信双方交换并确认共享了绝对安全的密钥后,再用此密钥对大量数据加密后在不安全的高速网络上传送。“量子通信”这个词容易使人误解,到目前为止,实际上量子通信指的就是量子密钥分发技术。量子密钥分发光纤虽然是低速网络,但每秒种传送上千位的密钥没有任何问题,通信双方有确保安全的几百位长的密钥,而且分分秒秒可以隨时更换密钥,这是量子密钥协商分发技术的长处。2013年10月10日,巴特尔公司(Battelle)建立了第一条商用量子密钥分发网络,一条全长110公里的专用光纤线路连结了俄亥俄州哥伦布市它们的公司总部和在都柏林的分部办公室,使用的是ID Quantique提供的硬件设备,用来保护公司的财务资料、知识产权、图纸和设计数据。一百公里已经接近量子密钥分发的光纤网络的长度极限了,这是由单个光子在光纤中可以传播的最大距离所决定的。这个问题严重影响该技术的实用价值。目前的解决方案是设立光子传送中继站。这种中继站与通常光通讯的放大中继有着本质的区别,因为让中继站接收单个光子后又送出一个量子状态不变的光子是十分困难的,这个中继站必须为通信双方所信任,实际上量子密钥是通过可信任中继站接力递送的[1]。据报导,连接北京和上海的量子密钥分发光纤网络于2017年开通运行,使用的就是可信任光子中继站方案。使用量子密钥分发技术的通讯双方必须建立点对点连接的专用光纤,使人不禁又会想起上世纪初城市的街道上空密密麻麻缠成一团的电话线,点到点直接相联的网络结构非常不易拓展,这个问题将成为该技术推广应用中更大的障碍。目前一组英国剑桥的研究小组开发成功一种新技术,使得量子密钥分发过程能在普通光纤通信线路上进行。这种技术有些像“时分复用”通讯,通常的高强度数据激光与微弱的光量子流传送在同一根光纤上按时间分隔高速切換。该技术有相当的难度,通讯中的收发两端对两种讯号必须保持精准的同步,而且感应器必须正确适应强度差异十分巨大的两种光讯号,犹如一会儿面对太阳,一会儿感应微弱的星光!这种技术使得通讯双方可以在同一条光纤上交换密钥,但是这依然没有解决量子密钥分发的组网难题。为了让量子密钥分发技术为更多的终端用户服务,美国Los Alamos国家实验室研发了一种称之为QKarD技术。只要带有闪存U盘大小的一只专用光纤接口,任何用户终端通讯设备诸如手提电脑、平板电脑和手机就可以通过光纤与邻近的中央服务器交换量子密钥。QKarD服务器有些像电话中继交换中心,各终端客户发送光量子向各自邻近的QKarD服务器配送密钥,当各个终端与服务器之间的密钥配送完毕,同时各个服务器之间密钥也配送完毕后,终端用户A将信息用密钥加密后以传统方式送达邻近的QKarD服务器,信息在服务器解密和重新加密后转交另一个服务器,直到接力传送至最终用户B为止。
在这里插入图片描述

一个QKarD的示范网络已经试运行。据估计,一个连接一千个终端的QKarD服务器价格约一万美元,QKarD终端接口约50美元。这种办法的最大缺陷在服务器安全上,它们必须成为可信任服务器。这种网络与互联网的协调配合也是一个大问题,现在看来美国洛斯阿拉莫斯已经放弃了这种方案。量子密码技术刚跚跚起步,针对它的黑客早已蠢蠢欲动,非要把它扼杀在摇篮中而不可,俗话说:道高一尺,魔高一丈,这大概应是天道的第一定律。目前针对量子密码技术的黑客手段有下列几种。1)量子密钥的关键是通过一个又一个光子传递密码,中间窃听者无法截取光子而又不改变光子的状态。但工程实施时很难保证发射端每个脉冲只含有一个光子,如果每个脉冲有两个以上光子,黑客仍可以只截取一个光子並设法放过另一个光子,让接收端无法感觉到讯号已被截取。2)一组挪威的研究人员通过激光朿短暂“致盲”光子感应设备成功地破获传送的量子密钥。这种方法和设备过于专业和复杂,目前还没有构成现实的威胁。3)另一种方法完全就是流氓行为,针对光子通信的精密脆弱,直接用强激光长时间野蛮干涉,使得量子密码传递双方通过微弱的光子交换过程根本进行不下去。总之,BB84量子密钥协商分发方案的主要意义仅在理论研究上,而不是在工程技术方面。[1]可信任量子密钥中继站不是光量子接收、放大和再传送,而是密钥在可信任中继站之间的接力递送。具体的技术实现手段又有多种,有兴趣的可以读一读附件。简单地可以这样来理解:用户A先后通过两个可信任中继站N和M与用户B配送密钥,A先与N通过光量子交换得密钥K,N又与M之间交换得密钥K2,然后N通过公共信道用公钥保护后送K和K2的混合码给M,只有M明白了A送出的是密钥K,然后M再与用户B光量子交换得密钥K3,并且也通过公共信道把K和K3混合码送给用户B,只有B明白了A送给自己的真正密钥是K。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zeroctu/article/details/84893010

智能推荐

攻防世界_难度8_happy_puzzle_攻防世界困难模式攻略图文-程序员宅基地

文章浏览阅读645次。这个肯定是末尾的IDAT了,因为IDAT必须要满了才会开始一下个IDAT,这个明显就是末尾的IDAT了。,对应下面的create_head()代码。,对应下面的create_tail()代码。不要考虑爆破,我已经试了一下,太多情况了。题目来源:UNCTF。_攻防世界困难模式攻略图文

达梦数据库的导出(备份)、导入_达梦数据库导入导出-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作  导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释:   cwy_init/init_123..._达梦数据库导入导出

js引入kindeditor富文本编辑器的使用_kindeditor.js-程序员宅基地

文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6

计算机网络-数据链路层_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输

软件测试工程师移民加拿大_无证移民,未受过软件工程师的教育(第1部分)-程序员宅基地

文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...

随便推点

Thinkpad X250 secure boot failed 启动失败问题解决_安装完系统提示secureboot failure-程序员宅基地

文章浏览阅读304次。Thinkpad X250笔记本电脑,装的是FreeBSD,进入BIOS修改虚拟化配置(其后可能是误设置了安全开机),保存退出后系统无法启动,显示:secure boot failed ,把自己惊出一身冷汗,因为这台笔记本刚好还没开始做备份.....根据错误提示,到bios里面去找相关配置,在Security里面找到了Secure Boot选项,发现果然被设置为Enabled,将其修改为Disabled ,再开机,终于正常启动了。_安装完系统提示secureboot failure

C++如何做字符串分割(5种方法)_c++ 字符串分割-程序员宅基地

文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割

2013第四届蓝桥杯 C/C++本科A组 真题答案解析_2013年第四届c a组蓝桥杯省赛真题解答-程序员宅基地

文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答

基于供需算法优化的核极限学习机(KELM)分类算法-程序员宅基地

文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。

metasploitable2渗透测试_metasploitable2怎么进入-程序员宅基地

文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入

Python学习之路:从入门到精通的指南_python人工智能开发从入门到精通pdf-程序员宅基地

文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf