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

  • MATLAB 是否已有 YAML 库/解析器?

    我想使用 YAML 跨多种语言交流一些数据 将其视为 与语言无关的序列化 其中一种语言是 MATLAB 但我似乎找不到该语言的 YAML 库 我在 Google 上检查了 matlab yaml 和 matlab yaml parse 似乎
  • 将输出从符号数学 (sym) 转换为浮点型

    我的问题类似于这个问题 https stackoverflow com questions 11114101 how to convert mupad symbol i sqrt 1 to i in matlab 11114959 1111
  • MATLAB 中的抗锯齿线和标记

    您好 我在 MATLAB 中有一张图像 我希望这条线是平滑的 看看从 0 4 到 0 8 的线 这太可怕了 当在图中使用 LineSmoothing on 运算符时 我得到了这个 我在线条上做得很好 但它也使标记变得平滑 而且它们太可怕了
  • 将单元格转换为双精度

    gt gt C 1 2 CF 2 C 1 2 CF 2 gt gt whos C Name Size Bytes Class Attributes C 2x2 478 cell 我怎样才能转换C into double以便 gt gt C
  • matlab矩阵中求子矩阵的通用方法

    我正在寻找一种 好 方法来在更大的矩阵 任意维数 中找到矩阵 模式 Example total rand 3 4 5 sub total 2 3 1 3 3 4 现在我希望这样的事情发生 loc matrixFind total sub 在
  • 如何读取 10 位原始图像?其中包含 RGB-IR 数据

    我想知道如何从我的 10 位原始 它有 rgb ir 图像数据 数据中提取 RGB 图像 如何使用 Python 或 MATLAB 进行阅读 拍摄时的相机分辨率为 1280x720 室内照片图片下载 https drive google c
  • 使用 java 执行 Matlab 函数

    我正在编写一个应用程序 它使用 matlab 进行图像处理 然后使用 Java 接口显示结果 由于某些原因 我必须同时使用 Java 和 Matlab 如何在java中使用matlab函数 如何创建和访问界面 MATLAB控制 http m
  • 类方法的自定义代码完成?

    在 MATLAB 中 可以定义代码建议和完成 如标题为 的文档页面中所述 自定义代码建议和完成 https www mathworks com help matlab matlab prog customize code suggestio
  • 估算缺失数据,同时强制相关系数保持不变

    考虑以下 excel 数据集 m r 2 0 3 3 0 8 4 0 1 3 2 1 5 2 2 3 1 9 2 5 1 2 3 0 2 0 2 6 我的目标是使用以下条件填充缺失值 将上述两列之间的成对相关性表示为 R 大约 0 68 将
  • MATLAB:比较两个不同长度的数组

    我有两个长度不同的数组 由于采样率不同 需要比较 我想对较大的数组进行下采样以匹配较小的数组的长度 但是该因子不是整数而是小数 举个例子 a 1 1 375 1 75 2 125 2 5 2 875 3 25 b 1 2 3 有什么方法可以
  • python 正弦和余弦精度

    如何提高Python正弦和余弦精度 例如 我想使用以下代码 只需计算随机复向量 x 的 y cos acos x import numpy as np N 100000 x np zeros N 1j np zeros N for k in
  • 优化 MATLAB 代码(嵌套 for 循环计算相似度矩阵)

    我正在 MATLAB 中基于欧几里德距离计算相似度矩阵 我的代码如下 for i 1 N M N is the size of the matrix x for whose elements I am computing similarit
  • Matlab颜色检测

    我试图一致地检测同一场景的图像之间的某种颜色 这个想法是根据颜色配置文件识别一组对象 因此 例如 如果给我一个带有绿色球的场景 并且我选择绿色作为我的调色板的一部分 我想要一个具有反映它检测到球的矩阵的函数 任何人都可以为这个项目推荐一些
  • 在Matlab中对字符进行分组并形成矩阵

    我有 26 个字符 A 到 Z 我将 4 个字符组合在一起 并用空格分隔以下 4 个字符 如下所示 abcd efgh ijkl mnop qrst uvwx yz 我的Matlab编码如下 str abcdefghijklmnopqrst
  • 如何在向量中的所有点之间绘制线?

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

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

    我想在一个地块上有多个传说 该解决方案在 2014b 版本之前完美运行 我试图弄清楚如何使用手柄优雅地制作它 但到目前为止还没有成功 欢迎任何想法 2013b 的示例 x 1 50 y1 sin x 2 y2 cos x 2 f figur
  • 在 MATLAB 中模拟 C++ 模板

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

    我是 Matlab 新手 我想制作自己的函数 与 imhist 显示图像数据的直方图 完成相同的工作 但我对此完全是新手 我不知道如何做开发这样的功能 我开始做一些东西 但它非常不完整 function output args myhist
  • 以 2 为底的矩阵对数

    Logm 取矩阵对数 并且log2 取矩阵每个元素以 2 为底的对数 我正在尝试计算冯 诺依曼熵 它涉及以 2 为底的矩阵对数 我该怎么做呢 如果将 以 2 为底 的矩阵指数定义为B expm log 2 A 或者如果您类似地通过特征分解直

随机推荐