【安全密钥交换协议】基尔霍夫定律-约翰逊噪声(KLJN)方案的随机数生成器攻击研究(Matlab代码实现)

2023-12-05

???????????????? 欢迎来到本博客 ❤️❤️????????

????博主优势: ???????????? 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️ 座右铭: 行百里者,半于九十。

???????????? 本文目录如下: ????????????

目录

????1 概述

????2 运行结果

2.1 算例1

2.2 算例2

2.3 算例3

????3 参考文献

????4 Matlab代码、数据、文献


????1 概述

文献来源:

本文旨在深入研究基尔霍夫定律-约翰逊噪声(KLJN)安全密钥交换方案,并针对该方案提出两种新的攻击方法。这些攻击方法都基于对随机数生成器的安全性进行破坏。

首先,我们讨论了一种情况,即夏娃知道艾丽丝和鲍勃的随机数生成器的种子。在这种情况下,我们展示了即使夏娃的电流和电压测量只有一位分辨率,她也可以在比特交换周期的一小部分内破解安全密钥比特。这表明即使在有限的信息条件下,攻击者仍然可以对该方案进行破坏。

其次,我们探讨了另一种情况,即夏娃只知道艾丽丝的随机数生成器的种子。在这种情况下,我们展示了夏娃仍然可以破解安全密钥比特,但她需要使用整个比特交换周期来进行攻击。这表明即使在更有限的信息条件下,攻击者仍然有可能对该方案进行攻击。

通过这些攻击方法的研究,我们可以更好地了解KLJN安全密钥交换方案的脆弱性,并为进一步加强该方案的安全性提供重要的参考。我们希望这些研究成果能够引起学术界和工业界对该方案安全性的关注,并推动相关领域的进一步发展和创新。

结论:

安全密钥交换协议利用随机数,而受损的随机数会导致信息泄露。迄今为止,人们不知道Eve如何利用受损的随机数生成器来攻击KLJN协议。为了展示Eve如何利用受损的随机数生成器,我们介绍了对KLJN方案的两种简单攻击。我们表明,如果Eve知道艾丽丝和鲍勃的随机数生成器的种子,也就是说,她确切地知道这些随机数,即使她的测量只有一位分辨率,她也可以破解比特交换。这种情况类似于基于噪声的逻辑系统中的字符串验证。破解交换的比特的速度呈指数级增长;Eve可以在比特交换周期的一小部分内提取比特,因此Eve将比只知道自己随机数的艾丽丝和鲍勃更快地了解交换的比特。我们还表明,即使Eve只知道艾丽丝的随机数生成器的种子,她仍然可以破解安全比特,但她需要利用整个比特交换周期。需要注意的是:
• 这个演示是在假设理想的KLJN方案的情况下进行的。未来的工作将涉及使用电缆模拟器以及相关的延迟和瞬变进行实际实现。
• Eve对随机数的确定性知识是一种强大的安全漏洞,但这是展示此类攻击如何发展的一种说明性方式;
• 开放问题是Eve对随机数的知识只是统计性的新攻击方案。

???? 2 运行结果

2.1 算例1

2.2 算例2

2.3 算例3

部分代码:

%let's plot the voltages
figure;
set(gca, 'FontName', 'Times New Roman')
set(gcf,'color','w');
subplot(4,1,1);
plot(UAH,'Linewidth',3);
%xlabel('(a)','Fontsize',14);
xlim([0 100]);
%ylabel('Volts (V)');
title('\it{U}_{\rm{H,A}}\rm{(}\it{ t }\rm{)}','Fontsize',28);
set(gca, 'FontName', 'Times New Roman')
set(gca,'fontsize', 24);
set(gca,'linewidth',2)
subplot(4,1,2);
plot(UAL,'Linewidth',3);
%xlabel('(b)','Fontsize',14);
xlim([0 100]);
%ylim([-7.5 7.5]);
%ylabel('Volts (V)');
title('\it{U}_{\rm{L,A}}\rm{(}\it{ t }\rm{)}','Fontsize',28);
set(gca, 'FontName', 'Times New Roman')
set(gca,'fontsize', 24);
set(gca,'linewidth',2)
subplot(4,1,3);
plot(UBH,'Linewidth',3);
%xlabel('(c)','Fontsize',14);
xlim([0 100]);
ylabel('                      Voltage (V)');
title('\it{U}_{\rm{H,B}}\rm{(}\it{ t }\rm{)}','Fontsize',28);
set(gca, 'FontName', 'Times New Roman')
set(gca,'fontsize', 24);
set(gca,'linewidth',2)
subplot(4,1,4);
plot(UBL,'Linewidth',3);
xlabel('time, \it{t}\rm{ (ms)}','Fontsize',24);
set(gca, 'FontName', 'Times New Roman')
xlim([0 100]);
%ylim([-7.5 7.5]);
%ylabel('Volts (V)');
title('\it{U}_{\rm{L,B}}\rm{(}\it{ t }\rm{)}','Fontsize',18);
set(gca, 'FontName', 'Times New Roman')
set(gca,'fontsize', 24);
set(gca,'linewidth',2)

%why not power spectral density and mean-square voltage?
%PSD
%YAH = fft(linspace(rms(UAH),rms(UAH),n).^2/fB);
%P2AH = abs(YAH/n);
%P1AH = P2AH(1:n/2+1);
%P1AH(2:end-1) = 2*P1AH(2:end-1);
P1AH = linspace(rms(UAH),rms(UAH),n);
P1AH = P1AH.^2/fB;
%YAL = fft(linspace(rms(UAL),rms(UAL),n).^2/fB);
%P2AL = abs(YAL/n);
%P1AL = P2AL(1:n/2+1);
%P1AL(2:end-1) = 2*P1AL(2:end-1);
P1AL = linspace(rms(UAL),rms(UAL),n);
P1AL = P1AL.^2/fB;
%YBH = fft(linspace(rms(UBH),rms(UBH),n).^2/fB);
%P2BH = abs(YBH/n);
%P1BH = P2BH(1:n/2+1);
%P1BH(2:end-1) = 2*P1BH(2:end-1);
P1BH = linspace(rms(UBH),rms(UBH),n);
P1BH = P1BH.^2/fB;
%YBL = fft(linspace(rms(UBL),rms(UBL),n).^2/fB);
%P2BL = abs(YBL/n);
%P1BL = P2BL(1:n/2+1);
%P1BL(2:end-1) = 2*P1BL(2:end-1);
P1BL = linspace(rms(UBL),rms(UBL),n);
P1BL = P1BL.^2/fB;
figure;
set(gca, 'FontName', 'Times New Roman')
set(gcf,'color','w');
subplot(4,1,1);
plot(P1AH/1e-3,'Linewidth',3)
title('\it{S}_{\rm{H,A}}\rm{(}\it{ f }\rm{)}','Fontsize',18);
set(gca, 'FontName', 'Times New Roman')
set(gca,'fontsize', 14);
set(gca,'linewidth',2)
%xlabel('f (Hz)','Fontsize',14)
xlim([10 100]);
ylabel('Power/10^{-3} (V^{2}/Hz)','Fontsize',14)
subplot(4,1,2);
plot(P1AL/1e-3,'Linewidth',3)
title('\it{S}_{\rm{L,A}}\rm{(}\it{ f }\rm{)}','Fontsize',18);
set(gca, 'FontName', 'Times New Roman')
set(gca,'fontsize', 14);
set(gca,'linewidth',2)
%xlabel('f (Hz)','Fontsize',14)

????3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

???? 4 Matlab代码、数据、文献

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【安全密钥交换协议】基尔霍夫定律-约翰逊噪声(KLJN)方案的随机数生成器攻击研究(Matlab代码实现) 的相关文章

  • 通过 cuFFT 进行逆 FFT 缩放

    每当我使用 cuFFT 绘制程序获得的值并将结果与 Matlab 的结果进行比较时 我都会得到相同形状的图形 并且最大值和最小值位于相同的点 然而 cuFFT 得到的值比 Matlab 得到的值大得多 Matlab代码是 fs 1000 s
  • MATLAB - 通过垂直连接子矩阵重新排列矩阵

    我在执行以下任务时遇到问题 假设一个 3x6 矩阵 A 0 2787 0 2948 0 4635 0 8388 0 0627 0 0435 0 6917 0 1185 0 3660 0 1867 0 2383 0 7577 0 6179 0
  • MATLAB:将当前文件夹设置为脚本位置

    我在不同的文件夹中有一些脚本和数据 我使用addpath和相对路径经常 我的问题是 只有当我的当前文件夹是我执行的脚本所在的位置时 这才有效 例如 如果我执行添加路径 X 的脚本 A 然后执行位于路径 X 中的脚本 B 则 Matlab 不
  • 使用简单矩阵乘法时出错

    我在一次简单的乘法运算中偶然发现了一个错误 这让我感到非常惊讶 我一直以为这里发生了什么 只为矩阵乘法 http www mathworks nl help matlab matlab prog operators html x 2 y z
  • 保存符号方程以供以后使用?

    From here http www mathworks com help releases R2011a toolbox symbolic brvfu8o 1 html brvfxem 1 我正在尝试求解这样的符号方程组 syms x y
  • MATLAB 变量传递和惰性赋值

    我知道在 Matlab 中 当将新变量分配给现有变量时 会进行 惰性 评估 例如 array1 ones 1 1e8 array2 array1 的价值array1不会被复制到array2除非元素array2被修改 由此我推测Matlab中
  • 如何从 matlab 调用 Qtproject?

    我在 matlab 中有一个函数可以写入一个 file txt 我在 qt 项目中使用它 So 当我使用 unix 获取要运行的 qt 编译可执行文件时 我有一个 Matlab 文件 但出现错误 代码 unix home matt Desk
  • Mathworks 生成 Matlab HTML 文档的方法是什么?

    我正在开发共享的 Matlab 代码 我们希望在本地网络中将生成的文档作为可搜索的 HTML 文档共享 我知道以下生成文档的方法 编写一个类似于 C 文件的转换器 这是在中完成的将 Doxygen 与 Matlab 结合使用 http ww
  • MATLAB parfor 和 C++ 类 mex 包装器(需要复制构造函数?)

    我正在尝试使用概述的方法将 C 类包装在 matlab mex 包装器中here http www mathworks com matlabcentral newsreader view thread 278243 基本上 我有一个初始化
  • 在 Pari-GP 中嵌套特定递归

    每个人 我最初在 Stackexchange 上发布了类似的问题 它已移至此处 可以在链接中找到 在 Matlab 中声明函数递归序列 https stackoverflow com questions 67146061 declaring
  • Blob 的簇生长

    考虑以下来自 Mathworks 的图像 我已经用标签标记了斑点 L num bwlabel I 如何迭代连接所有斑点 即从一个斑点开始 找到离它最近的一个 考虑最左边的两个斑点 可以从一个斑点的许多点绘制许多条线来连接到另一个斑点blob
  • 如何在matlab中使矩阵图平滑

    就像上图一样 怎样才能让画面更流畅呢 或者缩小y轴的范围 数据来自二维矩阵 然后我用plot data 请随意提出任何想法 平滑线条的一种方法涉及样本点之间数据的非线性插值 当你这样做时plot x y o http www mathwor
  • 二维随机微分方程 (SDE)

    我第一次研究随机微分方程 我正在寻求模拟和求解二维随机微分方程 模型如下 dp F t p dt G t p dW t where p 是一个 2 1 向量 p theta t phi t F是列向量 F sin theta Psi cos
  • 在 Matlab/Java 中将手部运动建模为 3D 曲线

    我只需要一些关于我遇到的问题 在哪里查看等的指导 我在我的一个项目中使用了运动跟踪手套 它返回每个手指和手掌的 X Y 和 Z 值 我想做的是首先根据这些坐标创建每个手指运动的表示 然后将它们每个附加到手掌的运动 以获得手的表示 一旦我完成
  • 使用 scipy.io 将 python pandas dataframe 转换为 matlab 结构

    我正在尝试使用 scipy io 将 pandas 数据帧保存到 matlab mat 文件 我有以下内容 array1 np array 1 2 3 array2 np array a b c array3 np array 1 01 2
  • Matlab的uicontrol在Octave中的实现?

    我正在尝试在 Octave 中运行我们实验室中使用的图形程序的 m Matlab 代码 Octave 告诉我代码中使用的函数 uicontrol 没有定义 经过一番搜索 我发现 JHandles 包有一个 uicontrol GUI 功能的
  • 如何从一个清晰的例子计算二维图像中的吉布斯能量

    我有一个关于矩阵的有趣问题 在吉布斯分布中 吉布斯能量U x 可以计算为 这是所有可能的派系 C 上的派系势 Vc x 的总和 右图 团 c 被定义为 S 中站点的子集 x 蓝色像素的邻域是左图中黄色像素的邻居 其中每对不同的站点都是邻居
  • 静态时序数据的数据库解决方案

    我们拥有一个庞大且不断增长的实验数据集 该数据集取自约 30 000 名受试者 对于每个主题 都有多个数据记录 在每个记录中 收集了多个生理数据时间序列 每个时间序列约 90 秒长 并以 250Hz 采样 我应该注意到 时间序列的任何给定实
  • Matlab 的 fftn 在多线程下变得更慢?

    我可以访问 12 核机器和一些严重依赖 fftn 的 matlab 代码 我想加快我的代码速度 由于 fft 可以并行化 我认为更多的内核会有所帮助 但我看到的恰恰相反 这是一个例子 X peaks 1028 ncores feature
  • Matlab 中是否有相当于 R 的 dput() 的函数?

    Matlab 中是否有相当于 R 的 dput 的函数 dput 将 R 对象的 ASCII 文本表示形式写入文件或连接 UPDATE 1 添加了递归和对单元格的支持 UPDATE 2 添加了对结构的支持 UPDATE 3 增加了对逻辑 整

随机推荐