AES加密算法简要介绍

  • 前言

项目中需要在接口中添加加密,简单了解关于AES的有关知识,低质低创见谅。

  • 什么是AES

AES(Advanced Encryption Standard,高级加密标准)是一种对称加密算法,被广泛应用于数据加密领域。它是由美国国家标准与技术研究院(NIST)于 2001 年发布,作为一种公开标准,用于保护电子数据的安全。值得一提的是微信小程序的加密传输就是用这个加密算法

  • 基本原理和加解密过程

由于站内有很详细,写的很好的文章介绍,这里就不再赘述。

AES加密解密算法_aes解密-CSDN博客

AES加密算法原理的详细介绍与实现-CSDN博客

AES加密算法简要介绍_第1张图片

AES 属于分组密码算法,它将数据分成固定大小的块(通常是 128 位),然后对每个块进行一系列的加密操作,最终生成密文。加密和解密过程使用相同的密钥,因此被称为对称加密算法。AES 的加密和解密过程都基于一个称为“状态”的二维字节数组进行操作。

即明文内容通过加密函数与密钥在前端加密传输至后端通过同一个密钥解密出内容。

  • 含义解释

  • 明文

        未经加密的内容

  • 密钥

        密钥是 AES 加密和解密的核心,必须妥善管理。密钥应该具有足够的随机性和复杂性,避免使用弱密钥或易于猜测的密钥。同时,密钥的生成、存储、传输和更新都应该采用安全的方式,防止密钥泄露

  • 初始化向量(IV)

        在某些 AES 模式(如 CBC、CFB、OFB 和 CTR 模式)中,IV 的使用对于确保加密的安全性至关重要。IV 应该是一个随机的或不可预测的值,并且在每次加密时使用不同的 IV。此外,IV 应该与密文一起传递给解密方,但不需要保密

  • 常见的AES的模式

AES 支持多种模式,用于适应不同的加密场景和需求。以下是几种常见的 AES 模式:

  • ECB(Electronic Codebook 电子密码本模式) :是最基本的 AES 模式,它将明文分成独立的块,每个块分别进行加密。ECB 模式简单易用,但在加密相同明文块时会生成相同的密文块,因此不适用于需要高保密性的场景。
  • CBC(Cipher Block Chaining 密码分组链接模式) :在加密过程中,每个明文块与前一个密文块进行异或操作后再进行加密。CBC 模式引入了初始化向量(IV),可以提高加密的安全性,避免相同明文块生成相同的密文块。然而,CBC 模式需要对 IV 进行妥善管理,并且加密和解密过程需要进行填充和去填充操作。
  • CFB(Cipher Feedback 密码反馈模式) :将 AES 转换为流密码模式,可以对任意长度的明文进行加密。CFB 模式使用 IV 和密钥生成密文流,然后将明文与密文流进行异或操作得到密文。它适用于需要对数据流进行实时加密和解密的场景。
  • OFB(Output Feedback 输出反馈模式) :类似于 CFB 模式,也是一种流密码模式。OFB 模式使用 IV 和密钥生成密文流,然后将明文与密文流进行异或操作得到密文。与 CFB 模式不同的是,OFB 模式的密文流生成与明文无关,因此可以提前生成密文流,提高了加密和解密的效率。
  • CTR(Counter 计数器模式) :使用一个计数器来生成密文流,然后将明文与密文流进行异或操作得到密文。CTR 模式具有并行加密和解密的优点,可以充分利用现代计算机的并行处理能力,提高加密和解密的速度。

参考资料

    1. AES加密解密算法_aes解密-CSDN博客
    2. AES加密算法原理的详细介绍与实现-CSDN博客

你可能感兴趣的:(Java学习记录,后端,前端)