【安全密钥交换协议】基尔霍夫定律-约翰逊噪声(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代码实现) 的相关文章

  • 如何选择部分密集数据集的均匀分布子集?

    P是一个 n d 矩阵 持有nd 维样本 P某些地区的密度是其他地区的几倍 我想选择一个子集P其中任意样本对之间的距离大于d0 并且我需要将其传播到整个区域 所有样本都具有相同的优先级 无需优化任何内容 例如覆盖面积或成对距离之和 这是执行
  • matlab矩阵中求子矩阵的通用方法

    我正在寻找一种 好 方法来在更大的矩阵 任意维数 中找到矩阵 模式 Example total rand 3 4 5 sub total 2 3 1 3 3 4 现在我希望这样的事情发生 loc matrixFind total sub 在
  • 将 3d 矩阵重塑为 2d 矩阵

    我有一个 3d 矩阵 n by m by t 在 MATLAB 中表示n by m一段时间内网格中的测量值 我想要一个二维矩阵 其中空间信息消失了 只有n m随着时间的推移测量t剩下 即 n m by t 我怎样才能做到这一点 你需要命令r
  • 在 MATLAB 中用两个值替换向量值

    我必须创建一个以向量作为输入的函数v和三个标量a b and c 该函数替换了的每个元素v等于a有一个二元素数组 b c 例如 给定v 1 2 3 4 and a 2 b 5 c 5 输出将是 out 1 5 5 3 4 我的第一次尝试是尝
  • 在 Matlab 中显示有理数

    我有两个整数 m n 它们一起形成 m n 形式的有理数 现在我只想以这种理性的形式在 Matlab 中显示它们 我可以通过这样做来做到这一点 char sym m n 所以 如果 例如m 1 n 2 Matlab将显示1 2 然而 如果m
  • MATLAB 图中轴标签与轴之间的距离

    我正在使用 MATLAB 绘制一些数据 我想调整轴标签与轴本身之间的距离 但是 只需向标签的 位置 属性添加一点即可使标签移出图窗窗口 是否有 保证金 属性或类似的东西 在上图中 我想增加数字和标签 Time s 之间的距离 同时自动扩展数
  • 在 MATLAB 中定义其他中缀运算符

    有没有办法在 MATLAB 中定义额外的中缀运算符 具体来说 我想定义两个中缀运算符 gt and lt gt 这些符号是理想的 但如果需要 它可以是单个字符 它调用函数implies and iff以同样的方式 calls and and
  • Matlab Solve():未给出所有解决方案

    我试图找到两条曲线的交点 syms x y g x 20 exp x 30 3 5 1 sol x sol y solve x 22 3097 2 y 16 2497 2 25 y g x x y Real true 它只提供一种解决方案
  • MATLAB - GUI 和 OPC 服务器

    我想在 MATLAB 中设计一个图形用户界面 可以使用 MATLAB 的过程控制对象链接和嵌入 OPC 工具箱连续读取数据 我怎样才能实现这个 我已经设计了图形用户界面 但我无法将数据读入图形用户界面 就这样做 type opctoolMA
  • 检查图像中是否有太薄的区域

    我正在尝试验证雕刻机的黑白图像 更多的是剪贴画图像 不是照片 我需要考虑的主要事情之一是区域的大小 或线条的宽度 因为机器无法处理太细的线条 所以我需要找到比给定阈值更细的区域 以此图为例 竖琴的琴弦可能太细而无法雕刻 我正在阅读有关 Ma
  • 将数据提示堆栈放在轴标签顶部,并在轴位置发生更改后更新轴标签

    此问题仅适用于 unix matlab Windows 用户将无法重现该问题 我在尝试创建位于 y 轴标签顶部的数据提示时遇到问题 下图很能说明问题 正如您所看到的 在 ylabel 附近创建的数据提示将到达 ylabel 文本的底部 而期
  • 如何为已编译的 MATLAB 创建安装程序并要求用户接受我们的许可条款?

    我正在 MATLAB 中编写程序分发给 Windows 用户 我使用 MATLAB 编译器和 MATLAB r2014a 版本来创建程序 我可以使用 MATLAB 应用程序编译器创建 Windows 安装程序 并且它的工作效果可以接受 但是
  • 直方图均衡结果

    I am trying to code histogram equalization by my self but the results are different from the built in function in matlab
  • 在 Matlab 的命令窗口中获取旧式帮助

    问题的简短版本 在最新版本的 Matlab 中 我在 Windows 上的 R2014b 和 R2015a 中看到过 当您键入help foo你得到一个简要描述 简介函数及其签名 例如 输入help bsxfun产生类似这样的东西 只有更好
  • 如何在Matlab中绘制网络?

    我有一个矩阵AMatlab中的维数mx2每行包含两个节点的标签 显示网络中的直接链接 例如 如果网络有4矩阵的节点A可能A 1 2 1 3 2 1 2 4 3 2 4 1 4 2 其中第一行表示有一个链接来自1 to 2 第二行表示有一个链
  • 如何在向量中的所有点之间绘制线?

    我有一个包含二维空间中一些点的向量 我希望 MATLAB 用从每个点到每个其他点绘制的线来绘制这些点 基本上 我想要一个所有顶点都连接的图 你能用情节来做到这一点吗 如果可以 怎么做 一种解决方案是使用该函数为每个点组合创建一组索引MESH
  • 在 matlab 代码中使用 dll 文件

    我需要使用 Matlab 中由 dll 文件定义的函数 我有一个例子 那个家伙将 dll 转换为 mexw32 文件 但我知道我是如何做到这一点的 我尝试使用加载库但它没有创建任何文件 我怎样才能做到这一点 loadlibrary http
  • 在 MATLAB 中模拟 C++ 模板

    我试图找出创建 C 模板或 Java 通用对象的替代方案的最佳方法 出于多种不同的原因 我过去曾多次想这样做 但现在我想做的是为几个相关的类创建 saveobj 和 loadobj 函数 我的想法是 我想要一组通用的例程来创建默认结构 然后
  • Matlab 图像数据的 hist 函数

    我是 Matlab 新手 我想制作自己的函数 与 imhist 显示图像数据的直方图 完成相同的工作 但我对此完全是新手 我不知道如何做开发这样的功能 我开始做一些东西 但它非常不完整 function output args myhist
  • 在matlab中,如何读取python pickle文件?

    在 python 中 我生成了一个 p 数据文件 pickle dump allData open myallData p wb 现在我想在Matlab中读取myallData p 我的Matlab安装在Windows 8下 其中没有Pyt

随机推荐