安全机制(security) - 加解密算法 - 对称加密 - 加解密模式

news2024/9/28 21:29:15

说明

  • 大部分对称加密算法支持多种加密模式,每种模式的运算结果也不相同。
  • 加解密模式是分组加密算法通用的机制,不同算法可能支持相同的加密模式,不同算法支持的加密模式也可能不同。
  • 加密和解密需要使用相同的模式才能得到正确的结果。
  • 不同的加解密算法区别在于单次加解密运算的不同,而加解密模式的不同体现在iv的使用和组与组的关联上。

基础模式

ECB(Electronic Code Book/电码本模式)

  • ECB 模式是加解密算法支持的最基础,最简单的模式,ECB只依赖key(秘钥)。
  • 注意:在任何情况下都不推荐使用ECB模式。

实现原理

  • 使用key分别对每一组明文进行加密,之后按照顺序将每组加密后的数据连在一起即可,加解密过程中各组数据互不影响。
    在这里插入图片描述

优缺点

  1. 优点
  • 简单
  • 组与组之间没有关联,利于并行计算,误差不会被传递。
  1. 缺点
  • 暴露明文的一些规律,重复的明文组会得到重复的密文。
  • 当密文被篡改时,解密后对应的明文分组也会出错,且解密者察觉不到密文被篡改了,ECB完全没有支持对密文的完整性校验。

CBC(Cipher Block Chaining/加密分组链接模式)

  • 为了解决ECB模式重复明文组产生重复密文的问题,CBC模式使用反馈机制使每组数据加密过程链接在一起,有了关联。
  • CBC模式依赖key和iv(初始化向量)。

实现原理

  1. 使用IV和第一组明文作异或运算,再将异或后的数据使用key加密,加密后得到第一组密文。
  2. 使用第一组密文和第二组明文作异或运算,再将异或后的数据使用key加密,加密后得到第二组密文,后面的组依此类推。
  • 注意: 初始化向量(iv)只在第一组明文中使用,所有明文组加密使用相同密钥。
    在这里插入图片描述

优缺点

  1. 优点
  • 安全性好于ECB,不容易主动攻击,适合传输长度长的报文,是SSL、IPSec的标准,每个密文块依赖于所有的信息块,明文消息中一个改变会影响所有密文块。
  1. 缺点
  • 更复杂,运算量更大些,
  • 发送方和接收方都需要知道初始化向量
  • 加密过程是串行的,无法被并行化(在解密时,从两个邻接的密文块中即可得到一个平文块。因此,解密过程可以被并行化)。

CFB(加密反馈模式)

  • 加密反馈模式中,数据用更小的单元加密(可以是8位,即一个字符的长度),这个长度小于定义的块长(通常是64位)。假设我们一次处理j位(j通常取8)。
  • CFB模式每一组加密后需要将密文填入下一组的iv最后面。

实现原理

  1. 采用64位iv,iv使用key加密后生成 已加密的iv。
  2. 加密后的初始化向量(iv)最左边的j位与明文前j位进行异或运算,产生第一组密文C。
  3. 初始化向量(iv)左移j位, 将第一组密文C填入iv的最右边 j位。
  • 后面的组依此类推。

OFB(输出反馈模式)

  • OFB模式和CFB很类似,区别在于:OFB模式是将iv加密的输出填入下一组的iv中。

实现原理

  1. 采用64位iv,iv使用key加密后生成 已加密的iv。
  2. 加密后的初始化向量(iv)最左边的j位与明文前j位进行异或运算,产生第一组密文C。
  3. 初始化向量(iv)左移j位, 将第一组已加密的iv填入iv的最右边 j位。
  • 后面的组依此类推。

CTR(计数器模式)

  • 计数器模式使用序号(称为计数器,通常是一个常数)作为算法的输入。

实现原理

  1. 使用key对counter进行加密,生成已加密的counter。
  2. 使用已加密的counter与第一组明文做异或运算,得到第一组密文。
  3. counter递增(通常是增加1)。
  • 后面的组依此类推。

总结

  1. ECB和CBC使用key加密明文,而CFB、OFB、CTR使用key加密iv。

复杂模式

  • 基础模式(ECB、CFB、CFB等)不能提供密文的完整性和正确性保证,如果在消息传输或者黑客攻击等情况下,密文存在缺失或者部分数据错误,解密后的数据实际上是不对的,用户无法感知的,并且可能将解密后错误的数据当做明文。
  • 密文完整性和正确性的校验需要借助一类算法(MAC)的帮助。

MAC(Message Authentication Code/消息认证码)

  • MAC是一类算法,使用秘钥(key)和消息生成固定长度的数据,也称为Auth Tag。
  • MAC跟哈希算法有点像,但比哈希要复杂,Mac的生成和验证过程都是需要密钥。

工作流程

  1. 消息发送者(Sender)和接收者(Receiver)共享同一个Key,并且约定使用同一个MAC算法 Algorithm。
  2. Sender把要传递的消息Message使用Key和MAC Algorithm计算出MAC,将 Message和MAC一起发送给Receiver。
  3. Receiver收到Message和MAC后,将Message使用约定的Key和MAC算法 Algorithm计算出MAC_1,通过对比MAC和MAC_1 来判断消息是否已被更改。

GMAC(Galois Message Authentication Code/伽罗瓦消息验证码)

  • GMAC是一种MAC算法,利用伽罗华域(Galois Field,GF,有限域)乘法运算来计算消息的 MAC 值。

GCM(Galois/Counter Mode)

  • GCM模式,G是指GMAC,C是指 CTR,在CTR模式基础上增加GMAC算法校验,解决了CTR 不能对加密消息进行完整性校验的问题。

引用

  • https://blog.csdn.net/new9232/article/details/122670049

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

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

相关文章

CANOE功能介绍

1.CANoe主界面 当计算机安装完CANoe后,用户只需选择“开始”→“所有程序 ”→Vector CANoe 11.0→CANoe 11.0 系 统 菜 单 命 令 即 可 启 动CANoe。 为了快速熟悉CANoe的常用功能,我们可以打开Vector官方的自带例程,一边学习一边实践相关功…

超算/先进计算如何改变现如今对的生活

算力作为新一代的“石油”,与超算/先进计算有着不可分割的紧密联系。 通俗而言,算力泛指计算能力,即数据处理能力。算力大小代表数据处理能力的强弱。从远古的结绳计算到近代的机械式计算,再到现代的数字电子计算,特别…

Ajax学习:设置CROS响应头实现跨域(跨域资源共享)

CROS:跨域资源共享、是官方的跨域解决方案&#xff0c;特点不需要在客户端做任何特殊的操作&#xff0c;完全在服务器中处理&#xff08;支持get post 等&#xff09; 客户端做ajax请求&#xff0c;服务端做相应头设置就可以实现跨域&#xff1a; <!DOCTYPE html> <h…

如何快速构建研发效能度量的指标体系?

本月初&#xff0c;没毛病软件公司的研发总监 Kevin 在参加完公司管理层月度例会后&#xff0c;心情非常糟糕...... 刚才会议中&#xff0c;老板很严肃地问研发总监 Kevin&#xff1a;“我在会议前接到了客户的投诉电话&#xff0c;说产品出现了 Bug&#xff0c;这已经不是第一…

.net-----Windows 窗体应用程序包括控件,对话框,多重窗体,绘制图形,菜单和工具栏

目录前言Windows窗体应用程序概述&#xff1b;窗体和大部分控件常用的事件创建Windows窗体应用程序使用Visual Studio集成开发环境实现Hello World程序使用常用Windows窗体控件&#xff1b;Label、TextBox、RichTextBox、Button应用示例单选按钮、复选框和分组【例】RadioButto…

(附源码)springboot物流配货管理系统 毕业设计 250858

基于springboot物流配货管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对物流配货等问题,对物流配货进行研究分析,然后…

电力系统机组组合优化调度(IEEE14节点、IEEE30节点、IEEE118节点)(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f4dd;目前更新&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;电力系统相关知识&#xff0c;期刊论文&…

数云融合丨知识图谱在烟草零售数字化转型中的应用

一、知识图谱的趋势 随着互联网、云计算、大数据、人工智能等信息数据技术的快速发展&#xff0c;计算机的智能化程度也越来越高&#xff0c;知识图谱作为人工智能的核心技术&#xff0c;其在数据集成、语义表示和逻辑推理等方面存在着得天独厚的优势。 2021年&#xf…

Java并发-交替打印的四种方法。

1 前言 如下图所示&#xff0c;现在有两个线程A,B&#xff1b;A打印12345&#xff0c;B打印abcde&#xff0c;结果为1a2b3c4d5e交替输出。 1.1 采用wait和notify 【分析】我们要求线程A始终先打印&#xff0c;因此在线程B先获得CPU使用时间时也应该阻塞。 细节 线程A应该打印…

【人工智能/算法】搜索求解(Solving Problemsby Searching)

文章目录一、求解与搜索二、盲目式搜索1. 深度优先搜索&#xff08;Depth First Search, DFS&#xff09;回溯搜索&#xff08;Backtracking Search&#xff09;2. 广度优先搜索&#xff08;Breadth First Search, BFS&#xff09;一致代价搜索&#xff08;Uniform-cost Search…

TLog轻量级分布式日志标记追踪神器

文章目录TLog简介项目特性安装TLogspringboot依赖spring native依赖日志框架适配方式(举例Log4j框架适配器)任务框架支持(举例XXL-JOB框架)TLog架构图TLog简介 TLog通过对日志打标签完成企业级微服务的日志追踪。它不收集日志&#xff0c;使用简单&#xff0c; 产生全局唯一的…

Actor 生命周期

一&#xff0c;一览图 二&#xff0c; 大致流程 三&#xff0c;细节 从磁盘加载 已位于关卡中的 Actor 使用此路径&#xff0c;如 LoadMap 发生时、或 AddToWorld&#xff08;从流关卡或子关卡&#xff09;被调用时。 包/关卡中的 Actor 从磁盘中进行加载。 PostLoad - 在序…

支持向量机(SVM)—— 详细推导及案例应用可视化

支持向量机&#xff08;SVM&#xff09; 1. 什么是支持向量机&#xff1f; 在上图中&#xff0c;我们想在二维平面中通过画出一条分界线将黑点与白点分开&#xff0c;很明显&#xff0c;我们认为在上面所画的三条分界线中H3H_3H3​是最好的&#xff0c;因为H1H_1H1​压根就没有…

【行为识别】差影法三维人体姿态行为识别【含Matlab源码 277期】

⛄一、简介 该课题为基于MATLAB差影法的人体姿态识别。需要准备对应的模板图片作为背景图&#xff0c;然后测试图和背景图进行作差&#xff0c;结合形态学知识&#xff0c;提取出人体轮廓&#xff0c;接上最外接矩形&#xff0c;得出矩形长宽&#xff0c;计算长宽比例&#xf…

江江文具店铺运营方案设计

目 录 摘 要 I ABSTRACT II 第一章 项目背景 1 1.1电子商务基本概念 1 1.2电子商务现状及发展趋势 1 1.3文具行业的发展现状 2 第二章 文具行业介绍 4 2.1文具行业的调查与分析 4 2.1.1文具行业电子商务渗透率 4 2.1.2文具行业内企业电子商务销售平台使用状况调查统计 5 2.1.3文…

自研芯片重构云上算力革新,满足用户所有负载的需求!

目前&#xff0c;云计算已深入到整个云基础设施&#xff0c;进入硬件协同创新的“深水区”&#xff0c;芯片创新之路是最底层的创新&#xff0c;是最具颠覆性的&#xff0c;也是改变云计算游戏规则的能力。 而亚马逊云科技硬件创新背后的初衷&#xff1a;为云而生的硬件设计&am…

【计算机毕业设计】71.大学生兼职信息系统源码

一、系统截图&#xff08;需要演示视频可以私聊&#xff09; 摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐…

react源码中的协调与调度

requestEventTime 其实在React执行过程中&#xff0c;会有数不清的任务要去执行&#xff0c;但是他们会有一个优先级的判定&#xff0c;假如两个事件的优先级一样&#xff0c;那么React是怎么去判定他们两谁先执行呢&#xff1f; // packages/react-reconciler/src/ReactFibe…

数字化门店| 运动场馆管理系统| 智慧门店小程序

忙碌了一天或闲暇之余想要放松&#xff0c;不少年轻人都会选择前往运动场馆进行各种运动&#xff0c;如打篮球、踢足球、打羽毛球等&#xff0c;一些城市的某个特定区域内聚集着不同品牌的运动场馆&#xff0c;相互之间竞争激烈。 如今&#xff0c;消费升级下&#xff0c;消费者…

Win10系统修改用户名以及C盘下Users用户名实操手册(实测有效)

当然&#xff0c;前提先说下如无必要&#xff0c;不建议修改C盘user下用户名&#xff0c;毕竟重装系统可能就在那一瞬间。我们要理解里面的原理&#xff0c;逻辑关系就会好操作很多了。再次申明&#xff0c;目前这只是针对Win10的实操&#xff0c;Win11的操作会有一些不同&…