【计算机网络】网络安全 : 报文鉴别 ( 密码散列函数 | 报文摘要算法 MD5 | 安全散列算法 SHA-1 | MAC 报文鉴别码 )

简介: 【计算机网络】网络安全 : 报文鉴别 ( 密码散列函数 | 报文摘要算法 MD5 | 安全散列算法 SHA-1 | MAC 报文鉴别码 )

文章目录

一、报文鉴别

二、鉴别分类

三、报文鉴别

四、密码散列函数

五、MD5 算法

六、SHA-1 安全散列算法

七、MAC 报文鉴别码





一、报文鉴别


计算机网络安全措施 :


① 针对被动攻击 ( 截获 ) : 加密 ;


② 针对主动攻击 ( 篡改 , 伪造 ) : 需要使用 鉴别 ;



报文鉴别 : 接收方 可以 验证其接收到的 报文的真伪 ; 包括 发送者身份 , 内容 , 发送时间 , 报文序列等 ;


报文鉴别方法 : 加密 可以 实现 报文鉴别 , 但是网络中对于保密性不高的数据来说 , 可以不进行加密 , 接收者 需要使用 简单方法确认报文的真伪 ;



鉴别与授权 区别 : 这是两个不同的概念 ; 授权是指 所执行的操作是否被系统允许 ; 如 访问权限 , 读写权限 等 ;






二、鉴别分类


鉴别分类 :


① 报文鉴别 : 端点鉴别 + 报文完整性鉴别 ; 确认 报文 是由 发送者 发出 , 不是伪造的 ;


② 实体鉴别 : 端点鉴别 ; 确认 报文 发送者 实体 ( 应用进程 / 主机设备 / 人员 ) ;






三、报文鉴别


报文鉴别 : 报文 接收者 需要鉴别报文真伪 , 需要使用 数字签名 ;


① 弊端 : 增加计算负担 , 对数据很长的报文 进行 数字签名 , 需要 很大的计算量 ;


② 需求 : 在不需要对数据进行加密时 , 使用 简单方法 进行报文的真伪鉴别 ;


不需加密时 , 使用密码散列函数进行 真伪鉴别 ;






四、密码散列函数


散列函数 : 是非常简单的 报文 鉴别方法 , 计算量小 ;


① 散列值 : 散列函数 输入 很长的 值 , 输出 较短的 固定的值 ; 输出值 称为 散列值 / 散列 ;


② 对应关系 : 输入 和 输出 是 多对一 的 , 不同的输入 可能对应 相同的输出 ;



密码散列函数 :


① 概念 : 密码学 中使用的 散列函数 , 称为 密码散列函数 ;


② 单向性 ( 输入值 -> 散列值 ) : 给定 一个散列值 , 无法通过计算得出 输入值 ; 只能从 输入值 计算出 散列值 , 不能根据 散列值 计算 输入值 ;


③ 不可伪造 : 即使 固定长度的 散列值 被截获 , 截获者无法伪造出一个 对应的输入值 ( 明文 / 发送数据 ) ;



密码散列函数 示例 :


报文摘要算法 MD5

安全散列算法 SHA-1

性能比较 : SHA-1 的计算量 高于 MD5 , SHA-1 安全性高与 MD5 ;





五、MD5 算法


MD5 算法 :


① 名称来源 : 报文摘要 ( Message Digest ) 算法 第五版 , 简称为 MD5 ;


② 无法计算反推报文 : 根据 MD5 算法 , 反推出报文 , 计算上几乎不可能 ; ( 撞库可以 , 但不是计算出来的 )


③ 原理 : 使用复杂的算法 , 将报文数据位打乱 , MD5 码每一位 都与 原报文中的每一位有关 , 原报文只要有一位改变 , 对应的 MD5 完全不同 ;




MD5 算法步骤 :


① 长度项 : 将 报文数据 模 2 64 2^{64}2

64

 计算余数 , 该余数 64 6464 位 , 追加在报文数据末尾 , 组成新的报文 ; 追加的余数 称为 长度项 ;


② 填充项 : 在 报文 和 长度项 之间填充 1 ~ 512 位数据 , 使填充后的 整体报文长度是 512 512512 的整数倍 , 填充项 第一位是 1 11 , 后面都是 0 00 ;


③ 数据分组 : 将 填充后的 报文 分割成 512 位数据块 , 再将每个 512 位的数据块 分割成 四个 128 位小数据块 ;


④ 计算 : 将 四个 128 位数据块 , 按照顺序 使用不同的 散列函数 进行 四轮计算 ; 每轮计算中 , 128 位数据块拆分成 四个 32 位 小数据块进行计算 ;


直到计算出最后的 128 位的 MD5 值 ;






六、SHA-1 安全散列算法


SHA-1 安全散列算法 :


① 性能 : 比 MD5 算法更安全 , 但是计算复杂性高于 MD5 ;


② 版本 : SHA-1 , SHA-2 , SHA-3 ;




SHA-1 安全散列算法 原理 :


① 算法输入输出 : 输入码长 低于 2 64 2^{64}2

64

 位 , 输出码长 160 160160 位 ;


② 计算过程 : 将明文 分割成 512 位数据块 , 每块都与当前的 报文摘要 集合 , 产生下一个报文摘要中间值 , 直到所有的数据库计算完毕 ;


③ 执行次数 : 上述工作共执行 五次 ;


④ 性能 : SHA-1 效率低于 MD5 , 抗穷举性高与 MD5 ;






七、MAC 报文鉴别码


MD5 缺陷 : MD5 报文鉴别 可以防止 篡改 , 但 不能防止 伪造 ; 不能实现报文鉴别 ;



伪造 示例 :


① 伪造报文 : 黑客 伪造了一个报文 , 并计算出其散列值 , 然后冒充 发送者 A 将其发给 接收者 B ;


② 验证伪造报文成功 : 接收者 B 收到 报文 和 散列值 , 通过计算后 , 发现该 报文 与 散列值 对应 , 就认为 该报文是 A 发送的 ;




MAC 报文鉴别码 :


① 散列值加密 : 上述 黑客 伪造了 报文 和 散列值 , 导致接收者接收了伪造报文 ; 这里为了防止上述情况 , 对 散列值 进行私钥加密 , 黑客没有对应的私钥 , 因此 无法伪造出对应加密的 散列值 , 接收者使用公钥解密 , 肯定无法与伪造的报文对应 , 这里就实现了身份鉴别 ;


② 报文鉴别码 MAC : 对散列值加密后的密文 , 称为 报文鉴别码 ( Message Authentication Code ) ;


报文鉴别码 可以 防伪造 , 防否认 ;


目录
相关文章
|
10月前
|
监控 安全 算法
137_安全强化:输入过滤与水印 - 实现输出水印的检测算法与LLM安全防护最佳实践
随着大语言模型(LLM)在各行业的广泛应用,安全问题日益凸显。从提示注入攻击到恶意输出生成,从知识产权保护到内容溯源,LLM安全已成为部署和应用过程中不可忽视的关键环节。在2025年的LLM技术生态中,输入过滤和输出水印已成为两大核心安全技术,它们共同构建了LLM服务的安全防护体系。
922 148
|
传感器 算法 安全
机器人路径规划和避障算法matlab仿真,分别对比贪婪搜索,最安全距离,RPM以及RRT四种算法
本程序基于MATLAB 2022A实现机器人路径规划与避障仿真,对比贪婪搜索、最安全距离、RPM和RRT四种算法。通过地图模拟环境,输出各算法的路径规划结果,展示其在避障性能与路径优化方面的差异。代码包含核心路径搜索逻辑,并附有测试运行图示,适用于机器人路径规划研究与教学演示。
1247 64
|
11月前
|
存储 算法 安全
即时通讯安全篇(三):一文读懂常用加解密算法与网络通讯安全
作为开发者,也会经常遇到用户对数据安全的需求,当我们碰到了这些需求后如何解决,如何何种方式保证数据安全,哪种方式最有效,这些问题经常困惑着我们。52im社区本次着重整理了常见的通讯安全问题和加解密算法知识与即时通讯/IM开发同行们一起分享和学习。
625 9
用MASM32按Time Protocol(RFC868)协议编写网络对时程序中的一些有用的函数代码
用MASM32按Time Protocol(RFC868)协议编写网络对时程序中的一些有用的函数代码
|
运维 监控 安全
计算机网络及其安全组件纲要
本文主要介绍了 “计算机网络及常见组件” 的基本概念,涵盖网卡、IP、MAC、OSI模型、路由器、交换机、防火墙、WAF、IDS、IPS、域名、HTTP、HTTPS、网络拓扑等内容。
554 0
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
730 11
|
算法 安全 Java
即时通讯安全篇(一):正确地理解和使用Android端加密算法
本文主要讨论针对Android这样的移动端应用开发时,如何正确的理解目前常用的加密算法,为诸如即时通讯应用的实战开发,如何在合适的场景下选择适合的算法,提供一些参考。
580 0
|
机器学习/深度学习 编解码
深度学习笔记(三):神经网络之九种激活函数Sigmoid、tanh、ReLU、ReLU6、Leaky Relu、ELU、Swish、Mish、Softmax详解
本文介绍了九种常用的神经网络激活函数:Sigmoid、tanh、ReLU、ReLU6、Leaky ReLU、ELU、Swish、Mish和Softmax,包括它们的定义、图像、优缺点以及在深度学习中的应用和代码实现。
2884 0
深度学习笔记(三):神经网络之九种激活函数Sigmoid、tanh、ReLU、ReLU6、Leaky Relu、ELU、Swish、Mish、Softmax详解
|
安全 算法 Java
java系列之~~网络通信安全 非对称加密算法的介绍说明
这篇文章介绍了非对称加密算法,包括其定义、加密解密过程、数字签名功能,以及与对称加密算法的比较,并解释了非对称加密在网络安全中的应用,特别是在公钥基础设施和信任网络中的重要性。