AES简单理解

AES简介

高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的**,具体的加密流程如下图: 
AES简单理解
下面简单介绍下各个部分的作用与意义:

  • 明文P

    没有经过加密的数据。

  • **K

    用来加密明文的密码,在对称加密算法中,加密与解密的**是相同的。**为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致**泄漏,通常是通过非对称加密算法加***,然后再通过网络传输给对方,或者直接面对面商量**。**是绝对不可以泄漏的,否则会被攻击者还原密文,窃取机密数据。

  • AES加密函数

    设AES加密函数为E,则 C = E(K, P),其中P为明文,K为**,C为密文。也就是说,把明文P和**K作为加密函数的参数输入,则加密函数E会输出密文C。

  • 密文C

    经加密函数处理后的数据

  • AES解密函数

    设AES解密函数为D,则 P = D(K, C),其中C为密文,K为**,P为明文。也就是说,把密文C和**K作为解密函数的参数输入,则解密函数会输出明文P。

在这里简单介绍下对称加密算法与非对称加密算法的区别。

  • 对称加密算法

    加密和解密用到的**是相同的,这种加密方式加密速度非常快,适合经常发送数据的场合。缺点是**的传输比较麻烦。

  • 非对称加密算法

    加密和解密用的**是不同的,这种加密方式是用数学上的难解问题构造的,通常加密解密的速度比较慢,适合偶尔发送数据的场合。优点是**传输方便。常见的非对称加密算法为RSA、ECC和EIGamal。

实际中,一般是通过RSA加密AES的**,传输到接收方,接收方解密得到AES**,然后发送方和接收方用AES**来通信。

本文下面AES原理的介绍参考自《现代密码学教程》,AES的实现在介绍完原理后开始。

 

摘抄:https://blog.****.net/yy2020420/article/details/79411340