现代密码学——消息认证和哈希函数

1.概述

1.加密-->被动攻击(获取消息内容、业务流分析)  

消息认证和数字签名-->主动攻击(假冒、重放、篡改、业务拒绝)

2.消息认证作用:

验证消息源的真实性,

消息的完整性(未被篡改、插入、删除)、顺序性和时间性(未重排、重放、延迟)

3.消息认证和数字签名都有认证的功能

数字签名除了认证外,还用于消息的不可否认性

4.认证符的产生的多种方式:

(1)消息认证码MAC

(2)哈希函数

(3)加密函数

①使用对称密码

真实性验证:仅有收发双方拥有密钥;

完整性验证:报文中有足够格式信息、冗余或校验时,修改密文会破坏这些信息

②使用公钥密码

公钥加密不能提供身份确认:任何人都可以拥有公钥;

私钥签名提供消息源身份确认,不提供保密性

2.消息认证码MAC

2.1消息认证码

1.过程

A计算消息认证码MAC -->  A给B发送M||MAC -->  B收到后计算MAC’比较MAC’=MAC是否成立

2.意义

①保证消息的完整性:收方相信发方发出的消息M没有被篡改

②保证了消息源的真实性:收方相信发方不是冒充的

③攻击者不知道密钥所以无法有效篡改消息,也无法冒充 MAC同时提供消息的完整性和消息源认证

3.消息认证码的使用方式

①只提供消息认证  M||Ck (M)

②提供消息认证和保密性(对明文认证)  Ek2(M||CK1(M))

③提供消息认证和保密性(对密文认证)  Ek2(M)||CK1(Ek2(M))

4.消息认证码的定义及使用方式

①MAC函数不必可逆,满足多到一映射

②加密秘钥与认证秘钥不同

5.缺点

穷搜索攻击

2.2数据认证算法

数据认证算法是消息认证码中最为广泛使用的一个,算法于CBC(分组链模式)的DES算法需被认证的数据(消息、记录、文件或程序)被分为64比特长的分组。

2.3 128-EEA3/128-EIA

128-EEA3是机密性保护算法。

128-EIA3是完整性保护算法。

3.哈希函

3.1哈希函数基本

将任意长的消息M变换为较短定长的一个值H(M),作为认证符。  ≈指纹

提供一种错误检测能力,改变消息中任何一位哈希值会改变。

3.2哈希函数的使用方式

  1. 第一类:先hash,再对称加密

①消息与哈希值链接后用单钥加密算法加密,见图(a)

提供消息的保密性、认证性、完整性。

② 用单钥加密算法仅对哈希值加密,见图(b)

提供消息的认证性、完整性,不要求保密性的情况。 

注:与MAC中的保密认证模式相比较,MAC使用两个不同密钥,保密认证能力分开,安全性更强。

2.第二类:先hash,再签名

③ 用公钥加密算法和发方私钥加密哈希值(即数字签名):

图(c) 提供消息的认证性、完整性、不可否认性 

将消息连同③产生的签名再用密钥加密:

图(d) 提供了消息的保密性和数字签名(认证性、完整性、不可否认性) 

仅对哈希值加密和签名的方式是提供认证性的常用方式

3.第三类:带共享秘密值的hash,实际上是一种MAC

⑤ 从发方计算消息M和秘密值S链接在一起的杂凑值作为M认证码:

图(e) 要求通信双方共享一个秘密值S;提供消息的认证性、完整性

对⑤中的消息认证码再增加单钥加密运算:图(f) 提供消息的保密性、认证性、完整性 (e)是HMAC标准的原型, (f)的安全性与带保密性的MAC认证模式相当,(d)的安全性最强

3.2 Hash函数的六个条件

(1)消息认证:

①输入可以是任何长度

②输出是定长

③对任意给定的消息x,计算H(x)较为容易

(2)安全要求:

①函数的单向性(抗逆向特性):对任意给定的h,求 H(x)=h的x,在计算上不可行的, 称H(x)为单向哈希函数 

弱单向哈希函数抗弱碰撞性):对给定消息x,找消息 y(y!= x),使得H(y)=H(x)在计算上不可行    

若存在--存在一个碰撞--碰撞性

强单向哈希函数抗强碰撞性):找到任何两个不同的输入x,y,使得H(x)=H(y)在计算上不可行 

3.3 对Hash函数的攻击:寻找碰撞

(1)生日攻击

①第I类生日攻击

针对弱单向性

若对H随机取k个输入,则至少有一个输入y,使得H(y)=H(x)的概率

复杂度为 O(2^n-1)

②第II类生日攻击

寻找哈希函数H的具有相同输出的两个任意输入的攻击方式

复杂度为 O(2^m/2 )

(2)中途相遇攻击

3.4 Hash函数结构

Hash函数迭代结构也称为MD结构,由Merkle和Damgard分别提出。目前使用的大多数Hash函数如MD5、SHA,其结构都采用这种迭代型的结构,消息分为固定长度分组,最后一个分组包含消息总长度。

由于含消息长度,所以攻击者必须找出具有相同散列值且长度相同的2个消息,或者找出两条长度不等但加入长度后散列值相同的消息,从而增加了攻击难度。

MD是消息摘要。

MD5算法是美国密码学家Ronald Rivest设计的。 

MD5常被用来验证数据完整性。

MD5算法采用迭代型散列函数的一般结构。

算法的输入为任意长的消息,分为512比特长的分组,输出为128比特的消息摘要。

有很好的混淆效果。

王小云教授破译了MD5。

SHA3成为新的Hash函数标准。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/840041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第七步 实现打印函数

文章目录 前言一、如何设计我们的打印函数?二、实践检验! 查看系列文章点这里: 操作系统真象还原 前言 现在接力棒意见交到内核手中啦,只不过我们的内核现在可谓是一穷二白啥都没有,为了让我们设计的内核能被看见被使用…

数据防泄露解决方案分享

在当今高度数字化和互联的商业环境中,数据防泄密已成为企业保护财产、维护客户隐私和遵守合规要求的重要一环。数据防泄密不仅关乎企业的经济利益,更涉及用户个人信息安全、商业机密保护以及国家安全等核心问题。能做好数据防泄露,对于提升企…

启动docker报错:Failed to listen on Docker Socket for the API.

说明: 1、安装部署docker完成后,启动docker报错:Failed to listen on Docker Socket for the API,如下图所示: 2、将SocketGroupdocker更改成:SocketGrouproot即可 一、解决方法: 1、执行命令…

舵机(结构,原理,控制方法)

介绍 舵机,全称为伺服马达(Servo Motor),是一种能够精确控制角度或位置的电动机。它广泛应用于模型制作、机器人技术、工业自动化等领域。舵机通过接收控制信号,将其转化为机械运动,从而实现精确的控制。 …

代码随想录算法训练营第三天| 203.移除链表元素、 707.设计链表、 206.反转链表

203.移除链表元素 题目链接: 203.移除链表元素 文档讲解:代码随想录 状态:没做出来,做题的时候定义了一个cur指针跳过了目标val遍历了一遍链表,实际上并没有删除该删的节点。 错误代码: public ListNode re…

文档解析新纪元:TextIn产品体验与解决难题的深度剖析

前言 在数字化浪潮席卷各行各业的今天,作为一名数据分析师,每天我都需要处理和分析大量的文档。然而,传统的文档解析工具在面对我的专业需求时,往往显得力不从心。 我的工作常常涉及到各种格式的文档,包括PDF、Word、…

在洁净实验室设计装修中怎么选择合适实验室家具?

在现代科学研究和技术开发中,洁净实验室装修设计成为了确保实验准确性和安全性的重要因素。洁净实验室需要提供一个无尘、无菌、受控的环境,而在洁净实验室装修设计这个过程中,如何选择合适的实验室家具就显得尤为重要,因为它直接…

Web前端一套全部清晰 ⑨ day5 CSS.4 标准流、浮动、Flex布局

我走我的路,有人拦也走,没人陪也走 —— 24.5.24 一、标准流 标准流也叫文档流,指的是标签在页面中默认的排布规则,例如:块元素独占一行,行内元素可以一行显示多个。 二、浮动 作用: 让块级元素水平排列。 属性名:floa…

练习题(2024/5/22)

1N 皇后 II n 皇后问题 研究的是如何将 n 个皇后放置在 n n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。 示例 1: 输入:n 4 输出:2 解释:如上…

民国漫画杂志《时代漫画》第18期.PDF

时代漫画18.PDF: https://url03.ctfile.com/f/1779803-1248612707-27e56b?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps:资源来源网络!

春秋CVE-2022-23906

简介 CMS Made Simple v2.2.15 被发现包含通过上传图片功能的远程命令执行 (RCE) 漏洞。此漏洞通过精心制作的图像文件被利用。 正文 1.进入靶场2.进入登录界面,弱口令admin/123456 3.进入后台,文件上传点 4.上传一句话木马图片 5.复制图片&#xf…

细胞冻存——让你的细胞“长生不老”

《星际穿越》电影中提到漫长的太空旅程中,宇航员可以进入休眠水床休眠,并自行设定唤醒时间。在《异形》《深空失忆》《三体》等科幻作品中,都出现此类技术。《三体》中,休眠后来成为人类最普遍的一项技术。技术上的人类低温休眠&a…

OpenCV:入门(五)

图像梯度 图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也 较大;相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小。一般情 况下,图像梯度计…

中文信息期刊投稿邮箱

《中文信息》杂志是国家新闻出版总署批准的国家级刊物(月刊),国内外公开发行,大十六开印刷。本刊主要反映我国中文信息处理的学术水平,重点刊登科技、经济、教育等领域的基础理论、科研与应用技术的学术论文&#xff0…

第2天 搭建安全拓展_小迪网络安全笔记

1.常见搭建平台脚本使用: 例如 phpstudy IIS Nginx(俗称中间件): 什么是中间件: 中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用&#…

vue2引入brand.vue和brand-add-or-update.vue后重启项目报错解决方案

最近在用粒谷商城项目练手,学习到P59时引入品牌两个vue文件,重启(npm run dev)项目报错: ERROR Failed to compile with 2 errors 12:11:59Th…

【论文阅读】Rank-DETR(NIPS‘23)

paper:https://arxiv.org/abs/2310.08854 code:https://github.com/LeapLabTHU/Rank-DETR

微信小程序视频怎么保存到本地

你是否遇到过在微信小程序中发现了精彩的视频,却不知道如何将其保存到本地的困扰?别担心,这篇文章将为您揭示2024年最新的保存方法,让您轻松下载和保留这些珍贵的视频内容。不管您是使用安卓设备还是苹果设备,我们都为…

学生手机管理方案

咱们现在的学生,手机几乎成了标配。所以问题就来了,怎么管理这些手机,让手机在课堂上不成为学习的干扰? 先得搞明白,手机在学生手里上该扮演什么角色。手机确实能帮学生查资料、交流学习,甚至写作业&#x…

Log360:护航安全,远离暗网风险

暗网有时候就像是一个神秘的地下世界,是互联网的隐蔽角落,没有任何规则。这是一个被盗数据交易、网络犯罪分子策划下一步攻击的地方。但仅仅因为它黑暗,不意味着你要对潜在的威胁视而不见。 暗网 这就是ManageEngine Log360的用武之地&…