0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对称加密算法工作模式详解

jf_EksNQtU6 来源: 汽车MCU软件设计 2024-01-04 11:25 次阅读

01对称加密算法

对称密码体制,又称为单密钥密码机制,其基本特征为加密密钥和解密密钥相同,模型如下:

364b4de8-a88c-11ee-8b88-92fbcf53809c.png

这种方式,攻击者可以通过不安全的公开通信通道获取密文,但无法接触到明文或者密钥;如果该攻击者知道加密算法和解密算法,且只对当前获取的密文感兴趣,可以产生一个明文的估计值来恢复明文;如果对未来消息感兴趣,可以来产生一个密钥来恢复密钥。

对称加密算法是基于分组密码机制产生,将一组明文划分为m长度的n组明文,分别使用密钥K=(k0,....,kx)进行加密或者解密,m长度通常为64、128、256、512。

02AES加密算法工作模式

分组密码算法是提供数据安全的一个基本固件,典型的如DES(Data Encryption Standard)以64位为一组,AES(Advanced Encryption Standard)以128位(举例)为一个分组;但实际上保密传输的消息不一定刚好是一个分组,根据国标GB/T 17964-2008《信息安全技术 分组密码算法的工作模式》,为了各种应用能使用这些基本固件,因此有7种常用的工作模式;下面来解释一下:

2.1 ECB(Electronic Code Book Mode)

ECB,叫做电子密码本模式,例如AES128-ECB这种模式下,明文以128bit为一组,每次被处理128bit,每个明文都用同一个密钥加密;

3658c1bc-a88c-11ee-8b88-92fbcf53809c.png

解密过程使用同样的密钥进行解密。

这种模式操作简单,不同分组可以并行处理;但是明文中重复的内容同样也会在密文中体现出来,因此对于长报文可能不是很安全。

2.2 CBC(Cipher Block Chaining Mode)

CBC,密码分组链模式;加密函数的输入是当前明文分组和前一个密文分组的异或,对每个分组处理时也使用相同的密钥,如下

366fe3e2-a88c-11ee-8b88-92fbcf53809c.png

这种模式下,一个消息中的两个相同明文组会被加密成不同的密文,这样就避免了ECB出现的重复密文的问题。在最初加密时,需要使用初始向量(Initial Vector),这个IV需要发送方和接收方都知道,不用加密,但必须保证该IV的完整性。

该种模式不能并行处理,因为当前明文需要和上一组密文进行异或处理。

2.3 CTR(ConterMode)

计数器模式使用与明文分组长度相同的计数器长度,计数器从某一初值开始,按某种算法递增,计数器值经过加密算法得到的结果再和明文进行异或,这样就可以得到当前明文组的密文。

367c5ca8-a88c-11ee-8b88-92fbcf53809c.png

可以看到,计数器模式下的加密和解密相对独立,且已知加密函数,和计数器值,就可以通过异或的方式得到明文,不需要解密函数。实现起来简单易懂。

2.4 OFB(Output Feedback Mode)

输出反馈模式,该模式和CBC有点相像,但是区别在于OFB是将IV去进行加密后得到一个输出OBi 与明文块进行异或,同时OBi作为下一个加密对象的IV。如下图:

36994ebc-a88c-11ee-8b88-92fbcf53809c.png

2.5 CFB(Chiper Feedback Mode)

密码反馈模式,与输出反馈模式结构类似。但是这种模式的密文是按bit来处理的,如下:

36a6e798-a88c-11ee-8b88-92fbcf53809c.png

在该模式下,首先IV作为第一个block进行加密,生成第一个输出block;该block的s bit高位与明文的s bit高位作异或得到密文块,b(block size)-s不参与加密;b-s低位的数据 | 该密文块作为下一个block的输入。

2.6 XTS(XEXTweakableBlockCipherwithCiphertextStealing)

XTS引入了tweak key和AES key互相配合,每个明文块用同样的AES key但tweak key不相同。比如设置与区块的index成对应关系,这样各个块的加解密就相互独立了,如下:

36c1ee12-a88c-11ee-8b88-92fbcf53809c.png

相当于就在ECB上形式上增加了一层加扰系数。

2.7 GCM(Galois/Counter Mode)

它在 CTR 加密的基础上增加 GMAC 的特性,解决了 CTR 不能对加密消息进行完整性校验的问题。

03总结

上面描述了对称加密算法的工作模式,那么我们在设计时主要考虑以下几个方面:

(1)抵抗攻击的能力、密文的随机性、安全防护等级

(2)调用分组加密的次数、并行处理能力、初始化向量时间等

(3)明文分组数量可配、消息长度等要求

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4456

    浏览量

    90761
  • 计数器
    +关注

    关注

    32

    文章

    2123

    浏览量

    92993
  • AES
    AES
    +关注

    关注

    0

    文章

    97

    浏览量

    33064
  • 加密算法
    +关注

    关注

    0

    文章

    205

    浏览量

    25430

原文标题:汽车信息安全--对称加密算法工作模式简析

文章出处:【微信号:谈思实验室,微信公众号:谈思实验室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机处理非对称加密算法

    普通单片机可以处理非对称加密算法吗?速度如何?求大神解答
    发表于 09-17 12:38

    对称加密算法

    对称加密算法对称加密就是加密和解密使用同一个密钥。信息接收双方都需事先知道密匙和加解密算法
    发表于 07-19 06:32

    加密算法(DES,AES,RSA,MD5,SHA1,Base64)

    加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用加密技术通常分为两大类:"对称式"和"非对称式"。对称
    发表于 07-19 08:44

    DES加密算法是什么

    一、加密算法1、 DES加密算法DES数据加密标准,是一种使用密钥加密的块算法。DES中的密钥key为8个字节64位,但每第8个为校验位不参
    发表于 07-22 09:13

    对称加密算法是什么

    对称加密算法也叫私钥加密算法,其特征是收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。非对称
    发表于 07-22 07:09

    软件加密算法都有哪些,这些算法在哪些方面得到了应用

    伴随着人工智能、物联网时代的到来,数据应用变得频繁起来,数据安全应该如何保护?软件加密算法都有哪些,这些算法在哪些方面得到了应用?慢慢读下去,你会发现围绕在我们身边的“小密码”。对称加密算法
    发表于 12-21 07:04

    浅谈对称加密算法与非对称密钥加密算法

    什么是对称密钥密码体制?对称密钥密码体制的缺点是什么?非对称加密算法又是什么?非对称加密算法的缺
    发表于 12-23 06:05

    采用对称加密算法的机制 GB1584.2-1997

    采用对称加密算法的机制 GB1584.2-1997 本标准规定了用对称加密算法实现的实体鉴别机制,它适合于我国使用。
    发表于 04-17 14:51 15次下载

    常见公钥加密算法有哪些

    Cryptography(ECC,椭圆曲线加密算法)。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是著名的公开金钥加密算法,ElGamal是另一种常用的非
    发表于 12-10 09:41 4.3w次阅读

    对称加密算法有什么特点

    对称加密算法对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法
    发表于 12-10 09:54 2.3w次阅读

    java实现非对称加密算法的过程

    对称加密:解密方式是加密方式的逆运算,即加密和解密使用的是同一个密钥(初等加密算法)。非对称
    发表于 12-10 10:54 5047次阅读
    java实现非<b class='flag-5'>对称</b><b class='flag-5'>加密算法</b>的过程

    解析加密算法:可逆加密和不可逆加密

    加密算法我们整体可以分为:可逆加密和不可逆加密,可逆加密又可以分为:对称加密和非
    发表于 08-08 10:11 1.7w次阅读

    举例几种常见的加密算法

    今天主要总结下常用的对称加密算法DES和AES,非对称加密算法RSA。 01  DES加密算法 1.DES含义 DES全称为Data E
    的头像 发表于 04-28 13:52 2w次阅读
    举例几种常见的<b class='flag-5'>加密算法</b>

    Go常用的加密算法详细解读

    【导读】本文介绍了常用的加密算法,并对这些加密算法结合实际 golang 代码段进行了详细解读。 前言 加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非
    的头像 发表于 09-01 14:47 2591次阅读

    嵌入式的RSA非对称加密算法

    对称加密算法是应用较早的加密算法,数据发送方将明文和密钥经加密算法处理,使其变成密文发送出去;接收方收到密文后,使用和加密算法相同的密钥进行
    的头像 发表于 01-20 11:17 1445次阅读
    嵌入式的RSA非<b class='flag-5'>对称</b><b class='flag-5'>加密算法</b>