✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
量子密钥分发(QKD)是一种保证信息传输安全的方法。在QKD中,量子信道用于分发密钥,确保每个接收者都能获得完全相同的密钥,并且外部窃听者无法访问这些数据。密钥分发的速率密切影响着QKD系统的实用性和应用范围,因此需要对其进行密钥率仿真和分析。
密钥率是指单位时间内传输的密钥比特数。在QKD中,密钥率的计算通常基于BB84协议和两个基的假设,其中假设量子通道的信噪比和检测器的效率均已知。
可以使用量子光学仿真软件(例如QOT),对QKD的密钥率进行模拟。在QOT中,可以生成量子态,模拟光源的产生和激发,模拟量子态在通道中的传输,以及接收端的检测和测量等。
在进行QKD密钥率仿真时,需要考虑以下因素:
- 量子通道的信道特性,如损耗、噪声等,必须正确地建模和设置。
- 必须考虑经典信道的干扰情况,包括窃听、干扰等,这可能会影响到最终密钥率的计算。
- 在仿真过程中,需要进行对比和分析,以评估不同的QKD协议和系统设计。
⛄ 部分代码
% the calculations from NEW
%asymmetric case with imm
Lac=0:0.0001:100; %distance between Alice and Bob
for G=[0.001,0.002,0.005]
VM=6;
VA=VM+1;
VB=VM+1;
V=VA;
a=0.2;%the loss of fiber is 0.2dB/km
vel=0;
eta=1;
Lbc=0;
yitaA=power(10,-a.*Lac/10); %channel losses in channel AC
yitaB=power(10,-a.*Lbc/10); %channel losses in channel BC
g=sqrt(2*(VB-1)./(yitaB.*eta.*(VB+1)));
T=yitaA./2.*g.*g;
eA=0.002;eB=0.002; %the excess noise of channel AC and BC
eAIM=G*VM;eBIM=G*VM;
XA=(1-yitaA)./yitaA+eA;
XB=(1-yitaB)./yitaB+eB;
Xhom=(vel+1-eta)/eta;%the noise introduced by Charlie's homdyne detections
eIM=eAIM+(1./yitaA).*(yitaB.*(eBIM-2)+2);
etot=eA+(1./yitaA).*(yitaB.*(eB-2)+2+2*Xhom)+eIM; %the equivalent total excess noise
Xline=1./T-1+etot;
Xtot=Xline;
beta=0.96; %reverse reconciliation
a=V;
b=T.*(V+Xtot);
c=sqrt(T.*(V^2-1));
IAB=log2((a+1)./(a+1-power(c,2)./(b+1)));
% IAB=log2((T.*(V+Xtot)+1)./(T.*(1+Xtot)+1));
IABfinal=beta*IAB;
A=power(a,2)+power(b,2)-2*power(c,2);
B=a.*b-power(c,2);
lamd1=sqrt(0.5)*sqrt(A+sqrt(A.*A-4*power(B,2)));
lamd2=sqrt(0.5)*sqrt(A-sqrt(A.*A-4*power(B,2)));
%lamd3=sqrt(a-power(c,2)./(b+1));
lamd3=a-power(c,2)./(b+1);
XBE=((lamd1)/2+0.5).*log2((lamd1)/2+0.5)-((lamd1)/2-0.5).*log2((lamd1)/2-0.5)+((lamd2)/2+0.5).*log2((lamd2)/2+0.5)-((lamd2)/2-0.5).*log2((lamd2)/2-0.5)-(((lamd3)/2+0.5).*log2((lamd3)/2+0.5)-((lamd3)/2-0.5).*log2((lamd3)/2-0.5));
K=IABfinal-XBE;
semilogy(Lac,K);
axis([0 50 10^(-6) 10^2])
hold on;
end
%%%perfect asymmetric case
VM=6;
VA=VM+1;
VB=VM+1;
V=VB;
a=0.2;%the loss of fiber is 0.2dB/km
vel=0;
eta=1;
Lac=0:0.0001:100; %distance between Alice and Bob
Lbc=0;
yitaA=power(10,-a.*Lac/10); %channel losses in channel AC
yitaB=power(10,-a.*Lbc/10); %channel losses in channel BC
g=sqrt(2*(VB-1)./(yitaB.*eta.*(VB+1)));
T=yitaA./2.*g.*g;
eA=0.002;eB=0.002; %the excess noise of channel AC and BC
XA=(1-yitaA)./yitaA+eA;
XB=(1-yitaB)./yitaB+eB;
Xhom=(vel+1-eta)/eta;%the noise introduced by Charlie's homdyne detections
etot=eA+(1./yitaA).*(yitaB.*(eB-2)+2+2*Xhom); %the equivalent total excess noise
Xline=1./T-1+etot;
Xtot=Xline;
beta=0.96; %reverse reconciliation
a=V;
b=T.*(V+Xtot);
c=sqrt(T.*(V^2-1));
IAB=log2((a+1)./(a+1-power(c,2)./(b+1)));
% IAB=log2((T.*(V+Xtot)+1)./(T.*(1+Xtot)+1));
IABfinal=beta*IAB;
A=power(a,2)+power(b,2)-2*power(c,2);
B=a.*b-power(c,2);
lamd1=sqrt(0.5)*sqrt(A+sqrt(A.*A-4*power(B,2)));
lamd2=sqrt(0.5)*sqrt(A-sqrt(A.*A-4*power(B,2)));
%lamd3=sqrt(a-power(c,2)./(b+1));
lamd3=a-power(c,2)./(b+1);
XBE=((lamd1)/2+0.5).*log2((lamd1)/2+0.5)-((lamd1)/2-0.5).*log2((lamd1)/2-0.5)+((lamd2)/2+0.5).*log2((lamd2)/2+0.5)-((lamd2)/2-0.5).*log2((lamd2)/2-0.5)-(((lamd3)/2+0.5).*log2((lamd3)/2+0.5)-((lamd3)/2-0.5).*log2((lamd3)/2-0.5));
K=IABfinal-XBE;
semilogy(Lac,K,'r');
axis([0 80 10^(-6) 10^2])
hold on;
t=0:0.00001:1;
L=50*(-log10(t));
k=-log2(1-t);
semilogy(L,k);
xlabel('Transmission Distance [km]');
ylabel('Secret Key Rate [bit/pulse]');
legend('G_{IM}=0.001','G_{IM}=0.002','G_{IM}=0.005','ideal','PLOB bound')
⛄ 运行结果
⛄ 参考文献
[1] 裴昌幸,韩宝彬,赵楠,等.光纤信道压力作用下量子密钥分发误码率建模与仿真[J].光子学报, 2009, 38(2):3.DOI:CNKI:SUN:GZXB.0.2009-02-043.
[2] 王亚星,李琼.基于两层架构的量子密钥分发网络仿真系统[J].智能计算机与应用, 2021, 11(6):4.DOI:10.3969/j.issn.2095-2163.2021.06.042.
[3] 于惠存,石磊,魏家华,等.一种附面层作用下的星-机量子密钥分发仿真方法:CN202211234199.5[P].CN115664647A[2023-06-13].