结合量子技术解决数据传输安全
初级代码游戏的专栏介绍与文章目录-CSDN博客
我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。
这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。
接前篇:数采网关面临的安全挑战-CSDN博客
目录
一、为什么现在的传输不安全
二、非对称加密算法解决了什么问题
三、非对称加密算法和对称加密算法的关系
四、非对称密钥怎么就不行了
五、量子通讯
六、量子密钥分发
七、量子密钥和量子随机数
一、为什么现在的传输不安全
使用固定密钥的存在密钥泄露的风险(比如使用社工攻击)。
使用固定密钥的可以通过大量数据来破解(高智商分析或大型计算机计算)。
量子计算机在未来可以轻松破解我们现在认为不可能破解的加密算法。
二、非对称加密算法解决了什么问题
通过互联网传输信息最头疼的是初始密钥的传递,非对称加密算法利用神奇的数学解决了这个问题:
密钥A加密-》只能用密钥B解密
密钥B加密-》只能用密钥A解密
每个人都自己生成一对密钥A和B,密钥A自己藏好,密钥B公开,给别人发送信息时用别人的密钥B加密,则只有拥有对应的密钥A的人才能解密,这样其他人就无法窃取信息。
密钥A称为“私钥”,密钥B称为“公钥”,公钥一般交给CA保管(CA会盖个章,盖章后的公钥文件叫做证书,“盖章”就是签名,签名的意思是用CA自己的私钥加密,CA的公钥则是操作系统内置的),私钥要自己保存,现在流行的做法是用专用芯片(windows上叫做TPM),芯片可以生成公钥和私钥,也可以保存私钥,芯片的设计保证私钥不可能被读取、只能加密解密。
三、非对称加密算法和对称加密算法的关系
非对称加密算法特别慢(但并不意味着更安全,安全性和密钥长度、运算方法有关),并不适合对大量数据加密,实际中非对称加密算法主要用来给对称密钥加密,也就是随机生成一个对称密钥,用非对称加密算法加密对称密钥,传输给对方,然后后面都只用对称密钥了。
四、非对称密钥怎么就不行了
非对称密钥解决了互联网传递密钥的问题,是过去几十年互联网传输安全的基础。但是量子计算机已经在路上,量子计算机理论上能够在很短时间内破解非对称密钥(目前的量子计算机的量子位数量尚不足,但未来可期),到那时整个互联网就垮了。
五、量子通讯
利用量子纠缠可以实现理论上绝对安全的通讯(量子隐形传态),但是只能用在量子计算机之间,所以这个距离现实比较远。
六、量子密钥分发
非对称密钥算法即将被量子计算机破解,因此需要一种新的密钥分发方法。
利用量子的不可复制和测量会破坏量子态,发送方随机选择一个量子态进行调制(携带一个信息),接收方也随机选择一个量子态进行测量,如果接收方选择的量子态正确,那么将得到一个确定的结果(得到了发送方发送的信息),如果选错了,得到随机的结果(这个结果会被丢弃),或者被偷听了,得到错误的结果(测量会破坏量子态)或者丢失(未知量子不可复制),发送足够多量子之后,双方用传统方式告诉对方自己选择的是那些测量方法(量子上携带的信息并不传输,因此只有发送方和接收方知晓),那些方法一致的信息就可以作为后续传输信息的密钥的基础(传统方式),双方再进行纠错,如果错误太多,就放弃传输,去掉一些可能错误的信息后(被偷听或传输故障),就得到一个可靠的密钥。
量子密钥分发解决的是密钥分发问题,而且必须使用量子传输——一般是用光子,通过真空、空气直线传播或者光纤。
七、量子密钥和量子随机数
生成密钥依赖随机数,现在的随机数算法多数是“伪随机数”,与一定的预设条件相关,如果预设条件完全相同,就会生成相同的随机数——从而就不随机了。
最常用的rand函数以一个整数作为种子(srand函数设置,默认是0),同一个种子会生成完全相同的随机序列,所以这是典型的伪随机数。
因为伪随机数有规律可循,因此容易被破解,根据既往数值猜到下一个数值。
利用量子可以生成完全随机的“真随机数”,用真随机数生成密钥就不可能被预测到下一个数值。
已经有量子芯片可以生成量子随机数(如三星发布的“量子加密手机”内置量子随机数生成芯片)。
通过量子随机数可以得到密钥,或可称为量子密钥,但是“量子密钥”一般指的是“量子密钥分发”。
(这里是文档结束)
(当年《量子力学》考了91分的我当然无法理解“量子密话”是什么)
(你们别老点赞了,其实我是持负面态度的)
相关文章:
结合量子技术解决数据传输安全
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 接前篇:数采网关面…...
【Rust光年纪】提高开发效率:深入了解Rust语言中的数据库客户端和文件处理库
深入探索:Rust语言中多款数据库客户端与文件处理库详解 前言 在现代软件开发中,使用各种数据库和文件处理操作是非常常见的。Rust语言作为一种快速、安全、并发的系统编程语言,也拥有丰富的生态系统和库。本文将介绍几个用于Rust语言的数据…...

【自动驾驶】控制算法(一)绪论与前期准备
写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作&…...

CSDN创作一周年总结
一周年总结 文章目录 一周年总结我的第一篇文章这一年我收获到了什么?1.培养了逻辑能力2.形成了自己的知识库,知识网络3.功利性的收获 我的第一篇文章 不知不觉之间,也已经过去一年了。还记得第一次决定在csdn上写博客,是因为进入…...

World of Warcraft [CLASSIC] the Eye of Eternity [EOE] P1-P2
World of Warcraft [CLASSIC] the Eye of Eternity [EOE] 永恒之眼(蓝龙) 第一阶段 第二阶段 第三阶段 载具1-6技能介绍 World of Warcraft [CLASSIC] the Eye of Eternity [EOE]_永恒之眼 eoe-CSDN博客 永恒之眼怎么出副本呢,战斗结束&am…...

一键翻译全球:多语言支持下的英文翻译工具
随着科技的飞速发展,一系列英文翻译工具应运而生,它们以人工智能为驱动,极大地简化了跨语言交流的过程。本文将带您一窥英文翻译工具探索那些能够帮助我们跨越语言鸿沟的神奇工具。 1.福昕在线翻译 链接直达>>https://fanyi.pdf365.c…...

水战再起波澜,“怡宝”要下好怎样一盘棋?
不少投资者常把那些刚需性强、永远也不可能淘汰的产业称为“日不落产业”,从细分板块来看,水无疑具有一定代表性。农夫山泉掌门人钟晱晱曾直言:“我选择了一个日不落的产业,你永远要喝水,不可能不喝水。” 多年下来&a…...
使用maven快速生成打包文件3
这里再介绍一种打包方式,依赖包分开打包,直接将需要部署的文件打包成一个要锁文件,比如kafka-roma-bin.tar.gz,这里需要两个文件,一个pom2.xml,一个package.xml。 pom2.xml <?xml version"1.0&q…...

Excel技巧(一)
快捷键技巧 原文链接 选取某一行的数据直到最后一行:【CTRL SHIFT ↓ 】或者选取一行后按住SHIFT键,双击下边线就可以快速选取区域。 如果表格中有多行空行,可以先按CTRL SHIFT END,再按CTRL SHIFT 上下键调整,…...
C语言:文件复制
文本文件复制: #include<stdio.h>int main() {FILE* pFile1 NULL;FILE* pFile2 NULL;fopen_s(&pFile1,"D:\\11111.txt","r");fopen_s(&pFile2,"D:\\222.txt", "w");char c;while((cfgetc(pFile1))!EOF){f…...
谈谈建筑项目管理:类型、流程和工具
无论是在材料采购还是供应商管理方面,确保建筑项目按计划进行并控制在预算内始终是一项挑战。 如今,建筑项目管理正逐步采用软件驱动的方法来提升其效率。这一转型显著优化了项目规划、调度和资源配置,使建筑管理更加精确和高效。 什么是建…...
【Vue】生命周期函数
系列文章目录 第五章 生命周期函数 文章目录 系列文章目录 生命周期函数代表的是Vue实例,或者是Vue组件,在网页中各个生命阶段所执行的函数。生命周期函数可以分为创建阶段、挂载阶段、更新阶段以及卸载阶段。 创建阶段:setup挂载阶段&…...
C++系列-文件操作
文件操作 文件类型文本文件二进制文件 文件操作的三大类文件的打开方式ios::app(append)和 ios::ate(at end) 写文件写文件文件步骤读文件文件步骤二进制文件读写写一般数据写特殊数据 程序运行时产生的数据都属于临时数据,一旦程序运行完毕,就会释放&am…...

ES6解构赋值详解;全面掌握:JavaScript解构赋值的终极指南
目录 全面掌握:JavaScript解构赋值的终极指南 一、数组解构赋值 1、基本用法 2、跳过元素 3、剩余元素 4、默认值 二、对象解构赋值 1、基本用法 2、变量重命名 3、默认值 4、嵌套解构 三、复杂的嵌套结构解构 四、函数参数解构赋值 1、对象解构作为函…...

2-73 基于matlab的weber能量法求解齿轮时变啮合刚度的程序
基于matlab的weber能量法求解齿轮时变啮合刚度的程序,能够跑出刚度图,通过求解轮齿部分变形、基体变形及局部接触变形这三部分的变形,进而求得综合弹性变形,最终求出时变啮合刚度。程序已调通,可直接运行。 2- 73 齿轮…...

[C++]set和map的介绍及使用
关于set和map的接口函数部分,只重点介绍一些相较于别的容器有特殊地方的接口,set和map的接口可以触类旁通。 一、概念 (一)、关联式容器 关联式容器存储的元素是一个个的键值对<key,value>。通过键(key&#x…...
【MySQL】MySQL学习笔记(持续更新)
1. 安装MySQL(windows环境) (1)在http://www.mysql.com下载*.msi的安装文件,并运行安装: 如:mysql-installer-community-8.0.39.0.msi 全部安装包含如下内容: …...

ArcGIS如何将投影坐标系转回为地理坐标系
有时候两个数据,一个为投影坐标系,另一个为地理坐标系时,在GIS软件中位置无法叠加到一起,这需要将两个或多个数据的坐标系统一,可以直接将地理坐标系的数据进行投影,或将投影坐标系转为地理坐标系。下面介绍…...

Parallels Desktop 19 for Mac 安装虚拟机需要激活吗
Parallels Desktop 19 for Mac 乃是一款适配于 Mac 的虚拟化软件。它能让您在 Mac 计算机上同时运行多个操作系统。您可借此创建虚拟机,并于其中装设不同的操作系统,如 Windows、Linux 或 macOS。使用 Parallels Desktop 19 mac 版时,您可在 …...

wps题注为表格或图片编号
word中为表格添加题注: 问题:多次或多人编辑导致--序号不能联动更新(域代码不一致,如图) 所以是否可以批量替换word里的域代码?如果可以这问题就解决了————失败 解决办法: 如图,复制表头&…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...