量子计算丨Superdense coding

Superdense coding是一种量子通信的方式。A和B共享一个纠缠态,发送者A通过更改自己的量子比特从而向接收者B传输经典比特的信息如(00,01,10 or 11),下面简单介绍一下整个过程。

  1. 起初有一个双量子比特|B00>=12(|00>+|11>),它可以通过作用CNOT(HI|00>)获取。

|B00>=12(|00>+|11>)又称EPR pair
其有一个性质:叠加态中,若第一个量子比特经测量坍塌到|0>,第二个量子比特也必然坍塌到|0>;反之亦然。

  1. 假设有两个人A和B,他们相距很远。我们将该|B00>的第一个比特分给A、第二个比特分给B。因此A获得叠加态比特qA=12(|0>+|1>),B获得叠加态比特qB=12(|0>+|1>),且qAqB之间存在纠缠关系(该描述方式可能有误,因为EPR状态无法分解成两个单比特,它们的系数也不会是12,这里写出只为帮助理解)。因此|B00>=12(|0A0B+1A1B>)

  2. 现在A想向B传输信息xy(xy=00,01,10or11),但其只能操作自己的比特qA,他该怎么办?

    A通过量子门改变自己的比特qA使|B00>变为|Bxy>,并发送qA;当B接收到qA后即得到|Bxy>

    xy B00 qA gate qA(new) Bxy
    00 B00>=12(00>+11>) 12(0>+1>)=12[1001] I=[1001] 12(0>+1>)=12[1001] B00>=12(00>+11>)
    01 B00>=12(00>+11>) 12(0>+1>)=12[1001] Z=[1001] 12(0>1>)=12[1001] B01>=12(00>11>)
    10 B00>=12(00>+11>) 12(0>+1>)=12[1001] X=[0110] 12(1>+0>)=12[0110] B10>=12(10>+01>)
    11 B00>=12(00>+11>) 12(0>+1>)=12[1001] ZX=[0110] 12(1>0>)=12[0110] B11>=12(10>01>)
  3. 随后B再进行解码CNOT(HI)B|xy>=|xy>,从而得到|xy>

上述过程,A只改变了自身的一个量子位比特,就向B传输了两个比特的信息,若A和B之前没有共享纠缠态,这是不能发生的。
此外在安全性上,如果A和B之间有个C,他想窃取信息。但由于没有B的量子位,其无法从A发送的比特中得到任何信息。并且如果他测量A的量子位,B也会同时坍塌,这样B就会知道信息被窃听了。

Reference:https://en.wikipedia.org/wiki/Superdense_coding

posted @   vincent1997  阅读(967)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示