在量子领域应用中,一个现实的难题是目前设备需要一些分立光学器件,导致存在体积大、成本高、批量制作困难等一系列问题,难以实现大规模应用,于是人们提出了硅基集成光子芯片,即将除了激光器之外的光学组件全部集成在硅光子芯片上。本文对量子保密通信领域最基础的器件量子真随机数芯片进行介绍。此外,也是以本文作为一个引子,逐步形成量子保密通信领域各个关键模块芯片化的介绍。
先看应用。新闻原稿里面描述如下。“Galaxy Quantum 3是SKT和三星合作的第三款量子安全手机,采用世界上最小的量子随机数发生器(QRNG)芯片组(2.5mm×2.5mm),通过量子安全性保护服务应用程序,并使用QRNG加密终端外部存储器数据。这使得上一代Galaxy Quantum 2提供的量子安全服务的便利性和应用领域进一步扩大。该QRNG芯片由SKT子公司IDQ提供。”
从新闻里面可以看出,首先是工程师已经实现了在手机上使用量子技术来保护信息安全,文章里用到的芯片大小是2.5mm*2.5mm。其次是量子技术没有我们想象的那么“高大上”,也不是很遥远的东西,更不是玄学,量子技术的应用是可以看得见摸得着的。这也是我在写系列文章时每篇文章里面尽量要有的东西,就是让读者朋友首先直观的看到东西,再去研究其技术原理和工程实现等,这样应该会好接受一些。接下来我们就探讨下量子真随机数芯片相关的话题。
1.量子真随机数是干什么用的?
讨论这个问题,其实首先应该讨论的是随机数是干什么用的。随机数在日常生活中的应用非常多,从生活娱乐到科学模拟、密码学和国防军事等安全重要领域,都有着不可或缺的作用。但这个不是本文讨论的重点,这里就不展开了。
这里举一个保密通信领域关于随机数的例子,在信息加密传递过程中,有几个重要的过程——加密、密文传输、解密。其中加密就是将明文通过某种方法变成不被直观理解的密文,比如明文是0110,我们拿出一组数0101,对明文进行异或运算,得到一组新的数:0011,上面这个过程就是一个加密的抽象模型。其中异或运算就是加密算法,得到的新的那组数就叫密文,这里面重点就是拿出的那一组数,我们称其为密钥。把密文和密钥通过安全的方式给到接收人,进行逆运算,就得到明文了。当然了这是个简单的抽象模型,实际上密码学是一门学科,很复杂的。这里想表达的是,这三个要素里面,算法是可以公开的,那么保护信息的关键就是密钥了,可以说密钥的安全性决定了信息传递的安全性。那么问题来了,怎么搞到安全的密钥呢?答案就是搞定随机数呗。
那么问题来了(是的,开始套娃了)怎么搞定随机数呢,一般来说随机数产生分成两大类,一类是基于算法产生随机数,一种是基于算法,大家是不是已经觉得真的要开始套娃了,因为真的会被破解(假设计算资源足够的话),因此我们一般成这种随机数为伪随机数,这也就对应了量子真随机数中的真;
既然有伪随机数,那肯定就有真随机数了,真随机数怎么获得呢。可以就是基于物理现象产生。这个本质上是使用一些完全无法预测的物理过程和现象,通过测量其结果产生随机数序列,这个听起来就比较靠谱了,因为他靠的是物理属性,是现有认知条件下的“真”了。真随机数的产生包括经典混沌物理现象和量子随机物理现象。
在产生真随机数里面目前最靠谱的就是量子现象了,量子现象的随机性是由于量子力学中的不确定性保证的,大家看到这句话的时候是不是想到了薛定谔家那只至今不知是死是活的猫了?这里我先不展开了,关于量子力学知识后面我门专门讨论。
总结一下,量子真随机数就是基于量子物理现象的内部不确定性的测量所产生的具有完全不可预测与不可重复的结果,用于需要“真”随机的场景。
2.量子真随机数发生器的原理?
一个经典的量子随机数发生器的结构包括三个部分:熵源、测量、后处理。熵源输出量子态,是量子随机性的产生源头。测量是对熵源的测量,产生初始的随机数。初始数据受到环境噪声、熵源非理想、测量噪声等因素的影响,从而具有一定的偏置和相关性,首先需要对原始数据进行熵估计,再通过后处理算法提取随机性,最终得到完全的量子随机数。一般情况下,测量和后处理部分会集成到一个装置中,称为测量装置。目前主要有四个方案实现量子真随机数发生:单光子路径选择方案,单光子到达时间测量方案,激光相位波动测量方案,真空态涨落方案。
3.如何制作一个量子真随机数发生器芯片?
这里面涉及到一个学科:量子光子学(Integrated Quantum Photonics,IQP),而且基于不同原理的技术路线也不相同,后面专门填坑。
先推荐一个企业:ID Quantique - The home of Quantum-Safe Crypto
——————————————— 分割线以下与正文无关—————————————————
写作手记。平时总是看文章,有时候觉得有些文章看着总感觉“差点意思”,总觉得作者没说明白,直到我自己开始写才发现这有多难。平时对这些概念是有认知的,但想正经写出来,并且公开给大家看,感觉每个点都要反复确认和斟酌,尤其是有些点觉得不用再赘述了,但是搞不好正是别人困惑的点,等等问题实在不好把握。先写吧,先写出来,回头技术梳理下再重新修改完善吧。