AES 加密算法小结

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: AES 加密算法小结

       AES 相对来说是一个比较重要的加密算法,应该去好好的了解一下,毕竟在对称加密中它的地位还是很高的。


       今天又把 AES 加密算法又过了一遍,具体来看 AES 加密算法学了有 4 5 次。今天算是把 AES 加密算法学完了,整个的加密过程算是有一个大概的了解了,解密过程也大概了解了一下,它不像 DES 属于对合运算,它需要把加密中每个过程求逆。


      AES 的加密过程着实要比 DES 难了许多,单单从数学方面就已经可以感觉到了。比如 AES 中涉及到了乘法逆元的计算、多项式的计算、矩阵的计算等。其实,这几个数学步骤如果能够快速的掌握的话,那么整个 AES 的理解就会轻松许多,我就是在数学方面花的时间多一些。


       除了数学方面的话,整个流程大致分为那么几个步骤:

      明文和密钥生成状态字,然后进行 S 盒变换、行移位变换、列混合变换、轮密钥加变换、以及子密钥的生成几个步骤。


      简单的描述一下这几个步骤:

      生成状态字,因为 AES 是分组加密算法,明文有固定的分组长度,密钥也有三种不同的长度,分别是 128192 256 三种。按照 4 个字节为一列,按列存储生成状态字。


       S 盒变换,S 盒变换是整个 AES 加密算法中唯一一处非线性变换,将 8 位的输入经过变换后产生 8 位的输出,由于分组长度为 128 位,因此 AES 16 S 盒,而这 16 S 盒是完全相同的(DES 加密算法在进行 S 盒时,是 6 位的输入经过变换后产生 4 位的输出,共有 8 S 盒,且 8 S 盒各不相同)。S 盒可以通过查表进行完成,这个方式简单直观,也可以通过具体的数学变换进行完成,首先对输入的值求 GF(2^8) 的逆元,然后与一个固定的常量矩阵相乘后,再与一个 8 位的常量进行模二加计算(红字部分被称作仿射映射)。其实用这个过程把 GF(2^8) 有限域中的值计算一遍,就得到了第一种查表方法中的那张表。


       扩散层分为两步,分别是行移位和列混合(或者也成为列混淆)。

      行移位,按照将 S 盒变换后的状态字进行移位,这步相对简单,只要知道矩阵每行进行循环移位的位数即可。

       列混合,与一个固定的 4 * 4 的矩阵相乘,这里又是计算一个线性代数的东西,掌握方法就能计算了。


       子密钥生成,子密钥的生成这个步骤还需要抽空进一步熟悉一下。按照密钥的长度不同,加密的轮数是不同的。在 128 位长度密钥下,轮数一共有 10 轮,但是明文在进行第一轮运算变换前,会先与子密钥进行一次计算,因此一共需要生成 11 个子密钥。这点也是和 DES 有区别的地方,DES 进行 IP 置换时,是没有密钥参与计算的。子密钥的产生,除了第一个子密钥外,其余的密钥都是进行计算得到的,其中的计算涉及到 S 盒、移位、与每轮的轮系数进行模二加等。


       整个过程算是自己一边回忆一边写的,其中可能有不对的地方,尤其是在子密钥的描述中肯定会不准确。不过整个 AES 加密算法算是能把大体的流程串下来了,再经过简单的一些印象上的加深,应该对 AES 加密算法就算是入门了。

相关文章
|
2月前
|
存储 安全 数据安全/隐私保护
打造安全防线!Python AES&RSA加密工具,黑客绕道走的秘籍
【9月更文挑战第9天】随着数字化时代的到来,信息安全问题日益凸显。本文将介绍如何使用Python结合AES与RSA两种加密算法,构建强大的加密工具。AES以其高效性和强安全性著称,适用于大量数据的快速加密;RSA作为非对称加密算法,在加密小量数据及实现数字签名方面表现卓越。通过整合两者,可以构建既安全又灵活的加密系统。首先,需要安装pycryptodome库。接着,实现AES加密与解密功能,最后利用RSA加密AES密钥,确保其安全传输。这种设计不仅提高了数据传输效率,还增强了密钥交换的安全性,为敏感数据提供坚实保护。
225 43
|
2月前
|
存储 安全 数据安全/隐私保护
浅谈对称加密(AES与DES)
浅谈对称加密(AES与DES)
|
18天前
|
存储 安全 算法
AES算法
【10月更文挑战第30天】AES算法
35 2
|
2月前
|
数据安全/隐私保护
aes之ecb模式的加密解密
aes之ecb模式的加密解密
|
2月前
|
存储 安全 数据安全/隐私保护
安全升级!Python AES加密实战,为你的代码加上一层神秘保护罩
【9月更文挑战第12天】在软件开发中,数据安全至关重要。本文将深入探讨如何使用Python中的AES加密技术保护代码免受非法访问和篡改。AES(高级加密标准)因其高效性和灵活性,已成为全球最广泛使用的对称加密算法之一。通过实战演练,我们将展示如何利用pycryptodome库实现AES加密,包括生成密钥、初始化向量(IV)、加密和解密文本数据等步骤。此外,还将介绍密钥管理和IV随机性等安全注意事项。通过本文的学习,你将掌握使用AES加密保护敏感数据的方法,为代码增添坚实的安全屏障。
137 8
|
1月前
|
安全 测试技术 Go
Python 和 Go 实现 AES 加密算法的技术详解
Python 和 Go 实现 AES 加密算法的技术详解
87 0
|
2月前
|
安全 算法 数据安全/隐私保护
深度揭秘!Python加密技术的背后,AES与RSA如何守护你的数据安全
【9月更文挑战第10天】随着数字化时代的到来,数据安全成为企业和个人面临的重大挑战。Python 作为功能强大的编程语言,在数据加密领域扮演着重要角色。AES 和 RSA 是两种主流加密算法,分别以对称和非对称加密方式保障数据安全。AES(Advanced Encryption Standard)因其高效性和安全性,在数据加密中广泛应用;而 RSA 则利用公钥和私钥机制,在密钥交换和数字签名方面表现卓越。
81 3
|
2月前
|
存储 安全 数据库
双重防护,无懈可击!Python AES+RSA加密方案,构建最强数据安全堡垒
【9月更文挑战第11天】在数字时代,数据安全至关重要。AES与RSA加密技术相结合,构成了一道坚固防线。AES以其高效性保障数据加密,而RSA则确保密钥安全传输,二者相辅相成,提供双重保护。本文通过Python代码示例展示了这一加密方案的魅力,强调了其在实际应用中的重要性和安全性。使用HTTPS等安全协议传输加密密钥和密文,确保数据在数字世界中自由流通而无忧。
67 1
|
2月前
|
安全 数据安全/隐私保护 Python
情书也能加密?Python AES&RSA,让每一份数据都充满爱的密码
【9月更文挑战第8天】在这个数字化时代,情书不再局限于纸笔,也可能以电子形式在网络中传递。为了确保其安全,Python提供了AES和RSA等加密工具,为情书编织爱的密码。首先,通过安装pycryptodome库,我们可以利用AES对称加密算法高效保护数据;接着,使用RSA非对称加密算法加密AES密钥和IV,进一步增强安全性。即使情书被截获,没有正确密钥也无法解读内容。让我们用Python为爱情编织一张安全的网,守护每份珍贵情感。
50 2
|
3月前
|
JavaScript 数据安全/隐私保护 Python
网易云音乐搜索接口JS逆向: Params、encSecKey加密和AES实战
网易云音乐搜索接口JS逆向: Params、encSecKey加密和AES实战
186 4

热门文章

最新文章