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

  • 使用 libsvm 交叉验证后重新训练

    我知道交叉验证用于选择好的参数 找到它们后 我需要在不使用 v 选项的情况下重新训练整个数据 但我面临的问题是 在使用 v 选项训练后 我得到了交叉验证精度 例如 85 没有模型 我看不到 C 和 gamma 的值 在这种情况下我该如何重新
  • 增加 .fig 文件中的散点标记大小

    我有一个图形文件 scatter fig 该图有许多使用 scatter 的散点绘图仪 现在我只有这个无花果文件 我需要增加所有散点的标记大小 手动尝试过 但非常困难 有没有办法我可以做类似的事情 H 图形句柄 s 点 h 设置 s 标记大
  • 使用 varargin (...) 时如何显示不同的函数用法?

    当您输入 Matlab 函数名称并打开大括号时 例如sum 在命令窗口中 将打开一个工具提示 显示此函数的所有可能用法 当我编写自己的接受函数时varargin 工具提示仅显示一个选项 而不是varargin puts e g myfunc
  • 将输出从符号数学 (sym) 转换为浮点型

    我的问题类似于这个问题 https stackoverflow com questions 11114101 how to convert mupad symbol i sqrt 1 to i in matlab 11114959 1111
  • 在 matlab/octave 中将数据集分成两个子集 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 将数据集分为两个子集 例如 训练 和 测试 其中 训练集包含 80 的数据 测试集包含剩余的 20 分裂的意思是生成一个长度等于的逻辑索引
  • MATLAB 中的抗锯齿线和标记

    您好 我在 MATLAB 中有一张图像 我希望这条线是平滑的 看看从 0 4 到 0 8 的线 这太可怕了 当在图中使用 LineSmoothing on 运算符时 我得到了这个 我在线条上做得很好 但它也使标记变得平滑 而且它们太可怕了
  • 在 MATLAB 中将数据拟合到 B 样条

    我正在尝试估计矩阵形式的时间序列数据中的缺失值 列代表时间点 即现在 我想将矩阵的每一行拟合到 B 样条曲线 并用它来估计缺失值 我可以使用 MATLAB 将数据拟合到普通样条曲线 但我完全陷入尝试找出如何拟合数据以创建 B 样条曲线的困境
  • 将单元格转换为双精度

    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
  • 使用 java 执行 Matlab 函数

    我正在编写一个应用程序 它使用 matlab 进行图像处理 然后使用 Java 接口显示结果 由于某些原因 我必须同时使用 Java 和 Matlab 如何在java中使用matlab函数 如何创建和访问界面 MATLAB控制 http m
  • Matlab 编辑器不使用 emacs 快捷方式

    Is there some way I can make the matlab integrated editor not use emacs shortcut but use more normal shortcuts such that
  • 这是 `min` 和 `nanmin` 之间的区别; Matlab 中的“max”和“nanmax”?

    Matlab描述nanmin and nanmax像这样 NANMIN最小值 忽略NaNs NANMAX最大值 忽略NaNs 但实际上 min and max ignore NaNs too 那我应该使用哪个 根据我的测试 nanmin a
  • 如何以编程方式指定 MATLAB 编辑器键绑定

    我想将键盘键绑定设置为Windows 默认设置我想在启动时使用startup m因为我希望在大量系统上设置此设置 首选项对话框中的等效设置是 MATLAB gt Keyboard gt Shortcuts gt Active Setting
  • MATLAB:比较两个不同长度的数组

    我有两个长度不同的数组 由于采样率不同 需要比较 我想对较大的数组进行下采样以匹配较小的数组的长度 但是该因子不是整数而是小数 举个例子 a 1 1 375 1 75 2 125 2 5 2 875 3 25 b 1 2 3 有什么方法可以
  • 同时重新排序和旋转图像的高效方法

    为了快速加载 jpeg 我为turbojpeg 实现了一个 mex wrapper 以有效地将 大 jpeg 读入 MATLAB 对于 4000x3000px 的图像 实际解码只需要大约 120 毫秒 而不是 5 毫秒 然而 像素顺序是 R
  • 在 Matlab 中显示有理数

    我有两个整数 m n 它们一起形成 m n 形式的有理数 现在我只想以这种理性的形式在 Matlab 中显示它们 我可以通过这样做来做到这一点 char sym m n 所以 如果 例如m 1 n 2 Matlab将显示1 2 然而 如果m
  • 为什么 MATLAB 在打印大量 (.png) 图形时速度会变慢?

    我正在将大量数字打印为 png 文件 每个图都是数据矩阵中的一列图 我获取 png 文件并将它们串在一起形成动画 我的问题是 前几百张图像打印得很快 但创建每个新图形的时间却迅速增加 从前几百个 png 文件的约 0 2 秒到第 800 个
  • 使用 R2010b 中的符号工具箱来求解和/或 linsolve

    我前几天问了一个问题here https stackoverflow com questions 20317038 matlab linear congruence solver that supports a non prime modu
  • 归一化互相关的基础知识

    我正在尝试使用范数校正2 归一化互相关 http en wikipedia org wiki Cross correlation Normalized cross correlation 来自 MATLAB 用于计算发育中胚胎中移动形状的速
  • 将数据提示堆栈放在轴标签顶部,并在轴位置发生更改后更新轴标签

    此问题仅适用于 unix matlab Windows 用户将无法重现该问题 我在尝试创建位于 y 轴标签顶部的数据提示时遇到问题 下图很能说明问题 正如您所看到的 在 ylabel 附近创建的数据提示将到达 ylabel 文本的底部 而期
  • 直方图均衡结果

    I am trying to code histogram equalization by my self but the results are different from the built in function in matlab

随机推荐

  • 栈和队列OJ题——15.循环队列

    15 循环队列 622 设计循环队列 力扣 LeetCode 解题思路 通过一个定长数组实现循环队列 入队 首先要判断队列是否已满 再进行入队的操作 入队操作需要考虑索引循环的问题 当索引越界 需要让它变成最小值 出队 首先要判断队列是否为
  • 长度最小的子数组(Java详解)

    目录 题目描述 题解 思路分析 暴力枚举代码 滑动窗口代码 题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 找出该数组中满足其和 target 的长度最小的 连续子数组 numsl numsl 1 numsr 1 nu
  • leetcode:232. 用栈实现队列

    一 题目 原题链接 232 用栈实现队列 力扣 LeetCode 函数原型 typedef struct 我的队列结构定义 MyQueue MyQueue myQueueCreate 我的队列创建及其初始化 void myQueuePush
  • 华为OD机试真题-电脑病毒感染-2023年OD统一考试(C卷)

    题目描述 一个局域网内有很多台电脑 分别标注为0 N 1的数字 相连接的电脑距离不一样 所以感染时间不一样 感染时间用t表示 其中网络内一个电脑被病毒感染 其感染网络内所有的电脑需要最少需要多长时间 如果最后有电脑不会感染 则返回 1 给定
  • 找不到msvcp110.dll如何修复?分享5个亲测有效的修复方法

    在计算机使用过程中 我们经常会遇到一些错误提示 其中之一就是 msvcp110 dll丢失 这个错误通常发生在运行某些程序时 系统无法找到所需的动态链接库文件 那么 msvcp110 dll到底是什么呢 它又有什么作用 当我们遇到这个问题时
  • 【有限窗口RLS算法】【自适应滤波器】与指数窗口和滑动窗口RLS算法相当的复杂度实现具有任意有限长度窗口的RLS算法研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 计算机毕业设计:python招聘数据爬取分析可视化系统(BOSS直聘)+Django框架(源码+文档+全套讲解视频)

    博主介绍 全网粉丝10W 前互联网大厂软件研发 集结硕博英豪成立工作室 专注于计算机相关专业 毕业设计 项目实战6年之久 选择我们就是选择放心 选择安心毕业 毕业设计 2023 2024年计算机专业毕业设计选题汇总 建议收藏 毕业设计 20
  • REC——命令执行漏洞

    原理 命令执行漏洞是一种常见的安全漏洞 它允许攻击者在受攻击的系统上执行任意的系统命令 这种漏洞的原理通常是 应用程序没有正确地验证和过滤用户输入数据 允许恶意用户可以在输入框等地方注入恶意的系统命令 攻击者可以将恶意的命令附加到应用程序接
  • Jmeter进行压力测试不为人知的秘密

    jmeter是apache公司基于java开发的一款开源压力测试工具 体积小 功能全 使用方便 是一个比较轻量级的测试工具 使用起来非常简单 因为jmeter是java开发的 所以运行的时候必须先要安装jdk才可以 jmeter是免安装的
  • 华为OD机试真题-最长子字符串的长度(一)-2023年OD统一考试(C卷)

    题目描述 给你一个字符串 s 字符串s首尾相连成一个环形 请你在环中找出 o 字符出现了偶数次最长子字符串的长度 输入描述 输入是一串小写字母组成的字符串 输出描述 输出是一个整数 补充说明 1 lt s length lt 5 x 10
  • 【UI自动化测试】Jenkins配置

    前一段时间帮助团队搭建了UI自动化环境 这里将Jenkins环境的一些配置分享给大家 背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测
  • 栈和队列的OJ题——14.用栈实现队列

    14 用栈实现队列 232 用栈实现队列 力扣 LeetCode 解题思路 此题可以用两个栈实现 一个栈进行入队操作 另一个栈进行出队操作 出队操作 当出队的栈不为空是 直接进行出栈操作 如果为空 需要把入队的栈元素全部导入到出队的栈 然后
  • 青藏高原对中国来说到底有多重要?

    青藏高原对中国来说到底有多重要 这个问题涉及到多个方面 包括地理 历史 文化 政治和经济等 在这篇文章中 我们将从不同的角度探讨青藏高原的重要性 首先 从地理角度来看 青藏高原是中国乃至全世界最年轻 最高 最大 最具特色的高原之一 它位于中
  • 基于GWO-BP灰狼算法优化BP神经网络多维回归预测(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文档讲解
  • 一文讲透Python线程池ThreadPoolExecutor!

    01 初识 Python 中已经有了 threading 模块 为什么还需要线程池呢 线程池又是什么东西呢 在介绍线程同步的信号量机制的时候 举得例子是爬虫的例子 需要控制同时爬取的线程数 例子中创建了20个线程 而同时只允许3个线程在运行
  • 无惧代码错误,从unittest开始的单元测试之旅!

    前言 单元测试 Unit Testing 是根据特定的输入数据 针对 程序模块 输出的正确性进行验证的工作 这些程序模块包括 单个程序 函数 类 我们在实现一个程序时不能仅仅实现功能方面的端到端调试 仅仅是能够从数据输入到数据输出能够实现贯
  • HTTPS 之fiddler抓包--jmeter请求

    一 浅谈HTTPS 我们都知道HTTP并非是安全传输 在HTTPS基础上使用SSL协议进行加密构成的HTTPS协议是相对安全的 目前越来越多的企业选择使用HTTPS协议与用户进行通信 如百度 谷歌等 HTTPS在传输数据之前需要客户端 浏览
  • 光储并网直流微电网simulink仿真模型

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Simulink仿真实现
  • 文件包含漏洞

    文件包含漏洞介绍 文件包含漏洞也是一种注入型漏洞 其本质就是输入一段用户知道路径的文件 然后将文件包含到当另一个文件里面形式如下 http 127 0 0 1 pikachu master vul fileinclude fi local
  • 【安全密钥交换协议】基尔霍夫定律-约翰逊噪声(KLJN)方案的随机数生成器攻击研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 算例1 2 2 算例2