【密码】量子密钥分发密钥率仿真附MATLAB代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

量子密钥分发的无条件安全使其在国防军事,金融银行等多个领域发挥着重要作用.文章从实验整体设计,实验教学流程设计,层次化实验任务设计入手,基于高斯调制连续变量量子密钥分发协议和离散调制连续变量量子密钥分发协议,将MATLAB作为仿真实验平台,设计了针对通信工程专业本科生的量子密钥分发教学仿真实验,并就学生实验结果进行了分析,可为量子通信教学实验设计与研究提供参考.

⛄ 部分代码

clc;    %%clear command

clear;  %%clear variables

close all;  %%close files

%%%%%%%%%%%%%GMCS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

alpha=0.2;        %db/km

VA=4;             %modulation variance

V=VA+1;

beta=0.95;        %reconciliation efficiency

eta=0.6;          %quantum efficiency

vel=0.1;          %electronic noise 

epsilon=0.0001;   %excess noise

L=0:1:500;

KeyRate_hom = zeros(length(L), 1);%Holevo bound using homodyne

KeyRate_het = zeros(length(L), 1);%Holevo bound using heterdyne

% epsilon=[0.01,0.03,0.05,0.07];

% for i = 1: length(epsilon)

% figure(2);   

% [KeyRate_hom,KeyRate_het] = GMCScvqkd(L, alpha, VA, V, eta, vel, epsilon(i), beta);

% semilogy(L, KeyRate_hom, '-b');

% hold on;

% % semilogy(L, KeyRate_het, '-b');

% % hold on;

% end

[KeyRate_hom,KeyRate_het] = GMCScvqkd(L, alpha, VA, V, eta, vel, epsilon, beta);

figure(2);

semilogy(L, KeyRate_hom, '-b');

grid on;

box on;

hold on;

figure(2);

semilogy(L, KeyRate_het, '-r');

hold on;

xlabel('Distance[km]');

ylabel('Security Key Rate [bits/pulse]');

title('Comparison of protocols');

%%%%%%%%%%%%%%%%%%DMCS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

alpha=0.2;         %db/km

VA=0.3;              %modulation variance

V=VA+1;

beta=0.95;      %reconciliation efficiency

eta=0.6;          %quantum efficiency

vel=0.1;        %electronic noise 

epsilon=0.00001;        %excess noise

L=0:1:500;

KeyRate_hom_dct = zeros(length(L), 1);%Holevo bound using homodyne

KeyRate_het_dct = zeros(length(L), 1);%Holevo bound using heterdyne

[KeyRate_hom_dct,KeyRate_het_dct] = DMCScvqkd(L, alpha, VA, V, eta, vel, epsilon, beta);

figure(2);

semilogy(L, KeyRate_hom_dct, ':b');

hold on;

figure(2);

semilogy(L, KeyRate_het_dct, ':r');

hold on;

%%%%%%%%%%%%%%%%%%decoy%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

L = 0:1:500;

mu = 0.1;

nu = 0.05;

etab = 0.4;

etad = 0.15;

pd = 2*10^(-12);

edet = 0.01;

fEmu = 1;

% edet = 0.01;

% edet = [0.01,0.03,0.05,0.07];

% K = decoydvqkd(L0, 0.1, 0.05, 0.4, 0.15, 2*10^(-6), edet, 1);

K = decoydvqkd(L, mu, nu, etab, etad, pd, edet, fEmu);

figure(2); 

semilogy(L, K,'--r');

hold on;

% for i = 1: length(edet) 

% K = decoydvqkd(L, mu, nu, etab, etad, pd, edet(i), fEmu);

% figure(2); 

% semilogy(L, K,'--r');

% hold on;

% end

% for i = 1: length(edet)

%    K = decoydvqkd(L0, 0.1, 0.05, 0.4, 0.17, 2*10^(-6), edet(i), 1);

%    figure(2); 

%    h_dvt = semilogy(L0, K);

%    hold on;

% end

%%%%%%%%%%%%%%%%%%MDICVQKD%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

alpha=0.2;         %db/km

VM=80;

VA=VM+1;

VB=VM+1;

V=VB;

beta=1;        %reconciliation efficiency

eta=1;         %quantum efficiency

vel=0;         %electronic noise 

eA=0.0001;     %excess noise

eB=0.0001;

Lac=0:1:500; %distance between Alice and Bob

Lbc=0;

K=MDIcvqkd(Lac, Lbc, alpha, VA, VB, V, eta, vel, eA, eB, beta);

semilogy(Lac,K,'--r');

hold on;

Lac=0:1:100; %distance between Alice and Bob

Lbc=0:1:100;

K2=MDIcvqkd(Lac, Lbc, alpha, VA, VB, V, eta, vel, eA, eB, beta);

semilogy(Lac+Lbc,K2,'--b');

hold on;

%%%%%%%%%%%%%%%%%%PLOB%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

L=0:1:500;

t=power(10,-alpha.*L/10); %channel losses in channel AC

% t=0:0.0000001:1;

L=50*(-log10(t));

k=-log2(1-t);

semilogy(L,k);

kZero = 1*1e-15*ones(1,length(L));%Holevo bound using homodyne

legend('GMCS Homodyne','GMCS Heterdyne','DMCS Homedyne','DMCS Heterdyne','DecoyDVQKD','MDI-QKD asymmetric','MDI-QKD symmetric','PLOB');

y1_y2=[KeyRate_hom';kZero];  % 是一个2×ls的矩阵,第一行为y1,第二行为y2

maxY1vsY2=max(y1_y2); % 1×ls的是一个行向量,表示y1_y2每一列的最大值,即x相同时、y1与y2的的最大值

minY1vsY2=min(y1_y2); % 1×ls的是一个行向量,表示y1_y2每一列的最小值,即x相同时、y1与y2的的最小值

yForFill=[maxY1vsY2,fliplr(minY1vsY2)];

xForFill=[L,fliplr(L)];

% fill(xForFill,yForFill,'r','FaceColor','r','FaceAlpha',0.5,'EdgeAlpha',1,'EdgeColor','r'); % 填充并设置图形格式

% fill(xForFill,yForFill,'r'); % 填充并设置图形格式

⛄ 运行结果

⛄ 参考文献

[1] 东晨, 王星宇, 刘潇文,等. 基于STK和MATLAB的星地量子密钥分发仿真系统:, CN111400965A[P]. 2020.

[2] 刘伟. 单光子量子保密通信及其相关技术研究[D]. 北京邮电大学.

[3] 周江平, 周媛媛, 周学军,等. 相位匹配量子密钥分发协议统计波动分析[J]. 电子科技大学学报, 2023, 52(2):7.

[4] 赵丽娟, 尹丽星, 徐志钮. 量子通信中量子密钥分发教学仿真实验设计[J]. 实验技术与管理, 2022, 39(8):5.

[5] 孙伟, 尹华磊, 孙祥祥,等. 基于相干叠加态的非正交编码诱骗态量子密钥分发 优先出版[J]. 物理学报, 2016.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab科研辅导帮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值