据说;
未来加密技术如量子密码、DNA密码、混沌密码等密码新技术目前正处于探索与研究之中。
来看一下 量子加密;
看到 量子加密 这词,作为一名程序员,我们首先会疑惑;
这东西究竟是一种算法,还是一种物理学实验室里的东西;能不能用编程实现?
先来初步了解一下;
量子加密,Quantum cryptography,就是利用量子力学的特性来实施加密任务。
传统的公开密钥加密,一般称为有条件的安全,而量子加密可以做到无条件的安全。
量子加密之所以可靠,主要是由量子力学的基本特性决定的。最重要的便是海森堡测不准原理,即人为测量量子通信的数据时,便会改变量子态。
当下所谓的量子加密或者量子通信,和量子纠缠quantum entanglement)没有半毛钱关系。
想要达到三体人利用量子纠缠进行通信的水平,我们还有很长的路要走。
当下所说的量子加密或者量子通信一般都是利用光子传播的偏振特性。
量子密钥分发
量子加密最著名的例子莫过于BB84协议,这个协议可以实现量子密钥分发。通信的发送方,通过发送不同偏振方向的光子完成加密。
按照密码学的惯例,发送方一般称为jqdcjl,接收方为cqdjm,窃听者Eve。
以下是量子密钥交换的一般过程。
jqdcjl随机生成一段序列,比如011010101,然后为序列的每个值随机选择A、B方案中的一个发送光子,即量子比特Qubits)。jqdcjl只要记住这串随机序列,以及发送每个数值时使用的方案;
cqdjm随机使用A、B两套方案检测光子,并记录光信息到底是0还是1;
待所有量子比特传送完之后,jqdcjl和cqdjm通过公开的方式进行通话,cqdjm依次告诉jqdcjl每一个量子比特的测量方式,不需要说明具体的测量值,jqdcjl则只需要告诉cqdjm哪些量子比特测量的方法是正确的;
最后cqdjm自然就知道哪些量子比特测对了,jqdcjl也知道cqdjm测对了哪些量子比特,于是两个人就可以使用这些测对的信息作为双方的密码了。
如果Eve在信道上窃听信息,受限于海森堡测不准原理,Eve不可能同时使用A、B两套方案测量同一个量子比特,所以Eve就不可能复制cqdjm测得的信息;
先大体了解一下;看上去是可以用编程实现;
那么网上搜一下,有没有源码可参考?有一个开源库;liboqs-量子安全密码算法开源C库;看上去可以在项目中调用;
目前认为就像 神经网络 一样,神经网络是一种计算机技术,可以编程实现,也可以用电路实现;计算机技术中的 神经网络 ,并不是一种生物技术;只是算法的过程模拟人的神经元的思维过程;量子加密也是一种算法,可以编程实现,只是原理是按照量子力学来的;
附带一图;