加密技术概述

传输数据时的四个问题

窃听 数字加密

假冒 消息认证或数字签名

篡改 消息认证码或数字签名

事后否认 数字签名

加密技术

将数据变成第三者的计算机无法理解的形式,然后再将其恢复成原本数据的一系列操作就是加密技术。

哈希函数

哈希函数可以把给定的数据转换成固定长度的无规律数值。转换后的无规律数值可以作为数据摘要应用于各种各样的场景。

哈希值多用十六进制表示

加密

对称加密 共享密钥加密

非对称加密 公开密钥加密

共享加密 的共享密钥可能会收到窃取,从而导致信息安全问题

公共加密可能会受到到中间人攻击。也会有信息安全问题

混合加密采用 共享加密和公共加密,用共享加密加密公共加密的公钥,优化了公共加密加密时间长的问题

具体原理就是 用共享密钥加密数据,用公钥加密共享密钥, 将两个加密的数据和密钥都发给对方

但仍会受到中间人攻击

迪菲-赫尔曼密钥交换

来回交换生成新的密钥 运用了伟大的离散问题,我的理解非常安全

数字签名:用私钥加密 公钥解密 。如果b拿a的公钥能把数据解密,那就说明数据确实是经过A放松的

安全问题:中间人攻击可以伪造签名,然后发送假的公钥

数字证书 相当于嵌套了两层数据签名,一层是发送方A对接收方B,另一层是认证机构对B

其实还嵌套了很多层数字证书,认证机构也是层层分级嵌套

中间人攻击的一般步骤

一般来说,攻击者在篡改数据时可能会采取类似的步骤,但具体步骤可能会根据攻击者的技能、攻击目标和数据传输的方式而有所不同。一般来说,攻击者可能会采取以下步骤:

  1. 捕捉数据: 攻击者首先需要拦截或获取目标数据的传输。这可能涉及截取网络通信、窃听无线信号、访问数据存储设备等方式。
  2. 解密数据: 如果数据是加密的,则攻击者需要解密数据以了解其内容。这可能涉及对数据使用已知的加密算法和密钥进行解密,或者获取解密密钥。
  3. 修改数据: 一旦攻击者获得了数据的明文副本,他们可以对数据进行修改,例如插入、删除或更改数据的部分内容。修改的目的可能是欺骗接收方、窃取敏感信息或破坏数据完整性。
  4. 再加密: 如果修改后的数据需要重新传输给接收方,攻击者可能会重新加密修改后的数据,以使其看起来与原始数据相似。这可能需要使用目标系统的加密算法和密钥来重新加密数据。

​ 所以数字签名很难会被修改,因为采用密钥加密,攻击者即使可以捕获数字签名并用公钥解密,他修改数字签名后也不能对修改后的数字签名进行加密

修改,因为采用密钥加密,攻击者即使可以捕获数字签名并用公钥解密,他修改数字签名后也不能对修改后的数字签名进行加密

相关推荐
下午见。4 分钟前
深入理解C语言共用体/联合体(union):大小计算与大小端判断实战
c语言·笔记·学习
im_AMBER6 小时前
React 17
前端·javascript·笔记·学习·react.js·前端框架
报错小能手7 小时前
C++笔记——STL map
c++·笔记
lkbhua莱克瓦249 小时前
Java基础——集合进阶3
java·开发语言·笔记
QT 小鲜肉9 小时前
【QT/C++】Qt定时器QTimer类的实现方法详解(超详细)
开发语言·数据库·c++·笔记·qt·学习
MeowKnight9589 小时前
【Qt】Qt实践记录3——UDP通信
笔记·qt
REDcker9 小时前
前端打包工具 - Rollup 打包工具笔记
前端·笔记
lkbhua莱克瓦2410 小时前
Java基础——集合进阶用到的数据结构知识点1
java·数据结构·笔记·github
进化中的码农10 小时前
Go中的泛型编程和reflect(反射)
开发语言·笔记·golang
存在morning10 小时前
【人工智能学习笔记 三】 AI教学之前端跨栈一:React整体分层架构
笔记·学习·架构