现代密码学-认证、消息认证码
什么是单向散列函数
单向散列函数(one way hash function):一个输入:消息(message),一个固定长度的输出(散列值,hash value),根据散列值检查消息完整性(integrity)
单向散列函数也称为消息摘要函数(message digest function)\哈希函数、杂凑函数
输入成为原向pre-image
输出成为消息摘要(message digest)或指纹(fingerprint)
单向散列函数的实际应用
检测软件是否被篡改
基于口令的加密
消息认证码:将发送者和接收者之间共享的密钥和消息混合后计算散列值。SSL/TLS
数字签名
伪随机数生成器
一次性口令
什么是消息认证码
消息认证码(message authentication code,MAC)确认完整性并进行认证。输入:任意长度的消息和收发之间的共享密钥,输出:固定长度数据
要计算MAC必须持有共享密钥,可以理解为:消息认证码是一种和密钥相关联的单向散列函数
密钥配送问题
可采用公钥密码、Diffie-Hellman密钥 交换,密钥分配中心 技术发送密钥
应用实例
SWIFT
IPsec
SSL/TLS
消息认证码实现方法
使用单向散列函数
使用分组密码
认证加密
将对称密码和消息认证码结合,同时满足机密性、完整性和认证。
Encrypt-then-MAC、Encrypt-and-MAC、MAC-then-encrypt
对消息认证码的攻击
重放攻击-防御措施:消息编号(序号)、时间戳、随机数
密钥推测攻击
消息认证码无法解决的问题
对第三方的证明:无法实现对第三方的证明。只有AB两个人通信时,可以断定是对方计算出的MAC(共享密钥双方),但对第三放C来说,A,B无法证明是对方计算了MAC而不是自己。
防止否认
相关文章:
现代密码学-认证、消息认证码
什么是单向散列函数 单向散列函数(one way hash function):一个输入:消息(message),一个固定长度的输出(散列值,hash value),根据散列值检查消息完整性(integrity) 单向散列函数也称为消息摘要…...
在Java中为什么对a赋值为10,在进行a++时还是等于10呢
首先我们看这样一组代码 public class demo1 {public static void main(String[] args) {int a10;aa;System.out.println(a);} } 结果:10不是在第二步有a操作吗?为什么还是10呢? a的执行步骤如下: 保存当前a的值(即10…...
免费数据库同步软件
在信息化日益发展的今天,数据同步成为了企业和个人用户不可或缺的一部分。数据库同步软件作为数据同步的重要工具,能够帮助我们实现不同数据库系统之间的数据复制和同步,确保数据的一致性和完整性。本文将介绍几款免费数据库同步软件…...
如何轻松修改Windows远程连接的端口号
为了增强远程连接的安全性,最好修改默认的远程桌面协议(RDP)端口号。以下步骤将指导您如何修改Windows注册表中的端口设置,并相应地更新防火墙规则。 一、修改注册表中的端口号 打开注册表编辑器: 按下Win R键&#…...
Leetcode 54. 螺旋矩阵(二维数组移动坐标)
54. 螺旋矩阵 使用vis数组记录该位置是否已经被访问 定义一个int型dir来记录方向,0123分别代表右下左上 当越界或碰壁已访问的位置后,修改dir并计算下一个位置 否则根据原dir计算下一个位置 class Solution {public List<Integer> spiralOrder(i…...
深度图的方法实现加雾,Synscapes数据集以及D455相机拍摄为例
前言 在次之前,我们已经做了图像加雾的一些研究,这里我们将从深度图的方法实现加雾展开细讲 图像加雾算法的研究与应用_图像加雾 算法-CSDN博客 接下来将要介绍如何使用深度图像生成雾效图像的方法。利用Synscapes数据集,通过读取EXR格式的…...
QT: 读写ini配置文件(实现qml界面登录,修改)
目录 一.功能介绍 二.暴露属性 三.指定INI文件的路径和格式。 四.登录操作 1.检查INI文件中是否含有登录信息; 2.读取存储的ID; 3.读取存储的密码; 4.成功返回1;失败返回2; 五.修改账号 1.检查INI文件中是否含有登录信…...
DevOps 安全集成:从开发到部署,全生命周期安全守护
目录 一、DevOps 安全集成:为什么要做? 二、DevOps 安全集成:如何做? 三、DevOps 安全集成的优势 四、DevOps 安全集成:一些最佳实践 五、DevOps 安全集成:未来展望 六、思考与建议 七、总结 DevOps…...
R语言数据分析15-xgboost模型预测
XGBoost模型预测的主要大致思路: 1. 数据准备 首先,需要准备数据。这包括数据的读取、预处理和分割。数据应该包括特征和目标变量。 步骤: 读取数据:从CSV文件或其他数据源读取数据。数据清理:处理缺失值、异常值等…...
重构大学数学基础_week04_从点积理解傅里叶变换
这周我们来看一下傅里叶变换。傅里叶变换是一种在数学和许多科学领域中广泛应用的分析方法,它允许我们将信号或函数从其原始域(通常是时间域或空间域)转换到频域表示。在频域中,信号被表示为其组成频率的幅度和相位,这…...
Shell以及Shell编程
Shell的任务 ①分析命令; ②处理通配符、变量替换、命令替换、重定向、管道和作业控制; ③搜索命令并执行。 内部命令:内嵌在Shell中。 外部命令:存在于磁盘上的独立可执行文件。 #!/bin/bash #! 称为一个幻数&…...
从记忆到想象:探索AI的智能未来
引言 人工智能(AI)在信息处理、数据分析和任务自动化等方面展现了强大的能力。然而,在人类独有的记忆和想象力领域,AI仍然有很长的路要走。加利福尼亚大学戴维斯分校的心理学和神经科学教授查兰兰加纳特(Charan Ranga…...
“安全生产月”专题报道:AI智能监控技术如何助力安全生产
今年6月是第23个全国“安全生产月”,6月16日为全国“安全宣传咨询日”。今年全国“安全生产月”活动主题为“人人讲安全、个个会应急——畅通生命通道”。近日,国务院安委会办公室、应急管理部对开展好2024年全国“安全生产月”活动作出安排部署。 随着科…...
【转】ES, 广告索引
思考: 1)直接把别名切换到上一个版本索引 --解决问题 2)广告层级索引如何解决? -routing、join 3)查询的过程:query and fetch, 优化掉fetch 4)segment合并策略 5)全量写入时副…...
Unity学习要点
前言 学习Unity作为游戏开发的强大工具,对于初学者来说,掌握一些基础而实用的技巧是非常重要的。这不仅能帮助你更快地上手,还能在项目开发过程中提高效率。以下是一些Unity初学者的使用技巧,希望能为你的学习之旅提供帮助。 ##…...
简单使用phpqrcode 生成二维码图片
$path ROOT_PATH; //tp项目根路径 require_once $path.vendor/phpqrcode/phpqrcode.php; //加载phpqrcode库 $url http://.$_SERVER[HTTP_HOST]./home/index/detail?id.$param[id]; $value $url; //二维码内容 $errorCorrectionLevel L; //容错级别 $mat…...
软考架构-计算机网络考点
会超纲,3-5分 网络分类 按分布范围划分 局域网 LAN 10m-1000m左右 房间、楼宇、校园 传输速率高 城域网 MAN 10km 城市 广域网 WAN 100km以上 国家或全球(英特网) 按拓扑结构划分 总线型:利用率低、干…...
渗透测试之内核安全系列课程:Rootkit技术初探(三)
今天,我们来讲一下内核安全! 本文章仅提供学习,切勿将其用于不法手段! 目前,在渗透测试领域,主要分为了两个发展方向,分别为Web攻防领域和PWN(二进制安全)攻防领域。在…...
大模型日报2024-06-08
大模型日报 2024-06-08 大模型资讯 AI研究:通过消除矩阵乘法实现高效的大语言模型 摘要: 该AI研究探讨了通过消除矩阵乘法来实现高效且可扩展的大语言模型(LLMs)。此方法旨在提升模型性能,提供更快速和高效的计算方案。 AWS大力投…...
leetcode 1631.最小体力消耗路径
思路:BFS二分 这道题和洛谷上的那个“汽车拉力赛”那道题很相似,但是这道题相较于洛谷那个来说会简单一些。 这里作者一开始写的时候思路堵在了怎么在BFS中用二分,先入为主的以为需要先写出来搜索函数然后再去处理二分的事,但是…...
【ARM64 常见汇编指令学习 19.2 -- ARM64 地址加载指令 ADR 详细介绍】
文章目录 地址加载指令 ADRADR 指令使用场景例子注意事项 地址加载指令 ADR ARMv8 架构引入了一系列的改进和扩展,包括对汇编指令集的更新。在这之中,ADR 指令是一个重要的组成部分,它用于计算并加载一个地址到寄存器。 ADR 指令 ADR 指令…...
vscode输出控制台中文显示乱码最有效解决办法
当VSCode的输出控制台中文显示乱码时,一个有效的解决办法是通过设置环境变量来确保编码的正确性。以下是解决方式: 首先,设置环境变量以修正乱码问题: 如果上述方法没有解决乱码问题,请继续以下步骤: 右键…...
springboot + Vue前后端项目(第十五记)
项目实战第十五记 写在前面1.后端接口实现1.1 用户表添加角色字段1.2 角色表增加唯一标识字段1.3 UserDTO1.4 UserServiceImpl1.5 MenuServiceImpl 2. 前端实现2.1 User.vue2.2 动态菜单设计2.2.1 Login.vue2.2.2 Aside.vue 2.3 动态路由设计2.3.1 菜单表新增字段page_path2.3.…...
如何在Windows 11中恢复丢失的快速访问菜单?这里提供解决办法
序言 在电脑的“快速访问”菜单中找不到固定的项目?或者,整个菜单对你来说已经消失了吗?无论哪种方式,你都可以强制你的电脑恢复菜单并显示其中的所有项目。以下是如何在你的Windows 11电脑上做到这一点。 将文件资源管理器设置为打开到主页 当你在文件资源管理器的左侧…...
变声器软件免费版有哪些?国内外12大热门变声器大盘点!(新)
变声软件是一种人工智能AI音频处理工具,允许用户实时修改自己的声音或改变预先录制的音频。这些软件解决方案可提供不同的效果,如改变声音的音调或速度,或将我们的声音转换成其他人或其他东西的声音,如名人、卡通人物、机器人或不…...
计算机网络 —— 数据链路层(无线局域网)
计算机网络 —— 数据链路层(无线局域网) 什么是无线局域网IEEE 802.11主要标准及其特点: 802.11的MAC帧样式 我们来看看无线局域网: 什么是无线局域网 无线局域网(Wireless Local Area Network,简称WLAN…...
SpringBoot图书管理系统【附:资料➕文档】
前言:我是源码分享交流Coding,专注JavaVue领域,专业提供程序设计开发、源码分享、 技术指导讲解、各类项目免费分享,定制和毕业设计服务! 免费获取方式--->>文章末尾处! 项目介绍048: 图…...
shell简介
一、Shell 概念定义 Shell 是用 C 语言编写的程序,是用户使用 Linux 的桥梁,既是命令语言又是程序设计语言。 shell 脚本为 Shell 编写的脚本程序,常说的 shell 通常指 shell 脚本。 包含一系列命令的文本文件,这些命令按照特定…...
使用 Scapy 库编写 ICMP 不可达攻击脚本
一、介绍 ICMP不可达攻击是一种利用ICMP(Internet Control Message Protocol)不可达消息来干扰或中断目标系统的网络通信的攻击类型。通过发送伪造的ICMP不可达消息,攻击者可以诱使目标系统认为某些网络路径或主机不可达,从而导致…...
Electron qt开发教程
模块安装打包 npm install -g electron-forge electron-forge init my-project --templatevue npm start //进入目录启动 //打包成一个目录到out目录下,注意这种打包一般用于调试,并不是用于分发 npm run package //打出真正的分发包,放在o…...
互联业务登录页 网站/百度网址大全设为主页
空姐梅梅入住酒店,意外发现房间内装有针孔摄像头。梅梅认为自己的个人隐私被严重侵犯,要求酒店担责,但酒店却称并不知情,而且摄像头早已陈旧损坏,并没有实际摄录功能。近日,法院经审理认定酒店方侵权&#…...
国内做网站公司哪家好/抚顺网站seo
● 把电脑的第一启动项设为USB设备启动以往用光盘装系统,必须调整启动项为光驱启动,而现在我们要用U盘装系统,所以要调整为U盘启动。关于这个,不同电脑不同版本的bios有不同的设置方法,不过都大同小异,目的…...
杭州网站seo公司/seo排名优化软件价格
一、前述 Storm容错机制相比其他的大数据组件做的非常不错。 二、具体原因 结合Storm集群架构图: 我们的程序提交流程如下: 其中各个组件的作用如下: Nimbus资源调度任务分配接收jar包Supervisor接收nimbus分配的任务启动、停止自己管理的wor…...
优秀网站建设哪家便宜/seo在线优化技术
什么是IPython?可能很多人已经在用,却不知道它到底是什么。 根据维基百科的解释:IPython是一种基于Python的交互式解释器,提供了强大的编辑和交互功能。IPython拥有:满足你各种需求的交互式shell火爆数据科学社区的Jup…...
wordpress编辑器没有16px/网络营销的平台有哪些
一、导读 本文主要内容包括数组转换成List,List转成数组,List转成map的几种方式。 好文章 记得 收藏点赞关注 !!! 二、代码 /*** 练习数组转list,list转数组,list转map** author JiaMing* sin…...
专业网站建设模板下载/什么软件可以推广自己的产品
给出凸包的定义: 简要说一下思路: 首先将所有点按照x从小到大(x同则y从小到大)排序 把p1,p2放入凸包,从p3开始,当新点在凸包‘前进’方向的左边时继续,否则依次删除最近加入凸包的点,…...