AES--高级数据加密标准

对称密码体制的发展趋势将以分组密码为重点。分组密码算法通常由密钥扩展算法和加密(解密)算法两部分组成。密钥扩展算法将b字节用户主密钥扩展成r个子密钥。加密算法由一个密码学上的弱函数f与r个子密钥迭代r次组成。混乱和密钥扩散是分组密码算法设计的基本原则。抵御已知明文的差分和线性攻击,可变长密钥和分组是该体制的设计要点。

  AES是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准。

  AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。1998年NIST开始AES第一轮分析、测试和征集,共产生了15个候选算法。1999年3月完成了第二轮AES2的分析、测试。2000年10月2日美国政府正式宣布选中比利时密码学家Joan Daemen 和 Vincent Rijmen 提出的一种密码算法RIJNDAEL 作为 AES.

  在应用方面,尽管DES在安全上是脆弱的,但由于快速DES芯片的大量生产,使得DES仍能暂时继续使用,为提高安全强度,通常使用独立密钥的三级DES。但是DES迟早要被AES代替。流密码体制较之分组密码在理论上成熟且安全,但未被列入下一代加密标准。

  AES加密数据块大小最大是256bit,但是密钥大小在理论上没有上限。AES加密有很多轮的重复和变换。大致步骤如下:

1、密钥扩展(KeyExpansion),

2、初始轮(Initial Round),

3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,

4、最终轮(Final Round),最终轮没有MixColumns。

时间: 2024-10-26 06:41:48

AES--高级数据加密标准的相关文章

AES高级加密标准简析

1 AES高级加密标准简介 1.1 概述 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用.经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准.2006年,高级加密标准已然成为对称密钥加密中最流行的算法

高级加密标准AES的工作模式(ECB、CBC、CFB、OFB)

高级加密标准(Advanced Encryption Standard: AES)是美国国家标准与技术研究院(NIST)在2001年建立了电子数据的加密规范.它是一种分组加密标准,每个加密块大小为128位,允许的密钥长度为128.192和256位. ECB模式(电子密码本模式:Electronic codebook) ECB是最简单的块密码加密模式,加密前根据加密块大小(如AES为128位)分成若干块,之后将每块使用相同的密钥单独加密,解密同理. CBC模式(密码分组链接:Cipher-bloc

第六章 高级加密标准

第六章 高级加密标准 美国国家技术研究所NIST在2001年发布了高级加密标准AES,一个对称分组密码算法,取代DES称为广泛使用的标准. 与公钥密码RSA相比,AES以及大多数的对称密码的结构都很复杂. AES中所有的运算是在8位的字节上进行的. 一个域是一个结合,在集合内进行加减乘除运算的结果,也不会离开该域.例如\(Z_p=\{0,1,2,3,\dots,p-1\}\),其中\(p\)是一个素数,然后该域上的操作是取模. 1. AES的结构 明文分组长度为128位即16字节(对明文进行分组

读《精通CSS:高级Web标准解决方案》

因为最近在看<精通CSS:高级Web标准解决方案>,做了一些记录. 因为很多开发人员对于XHTML2的开发不满,于是出现了WHATWG和W3C的分裂,WHATWG决定开发自己的规范,也就是HTML5,而W3C的XHTML2标准已被放弃,HTML5成为了W3C的正式标准.XHTML和HTML的区别就是XHTML严格遵守XML编码规定,浏览器会依据文档的MIME类型来解析文档,如果不遵循规范会导致错误,而HTML却是很宽松的. Doctype类型和浏览器模式,DTD(文档定义类型)是一组机器可读的

AES(高级加密)

AES(高级加密) #3.6安装 pip3 install pycryptodome #mac pip3 install pycrypto a. 事例: ############################### 加密 ############################## from Crypto.Cipher import AES def encrypt(message): key = b'dfdsdfsasdfdsdfs' #key必须是16的整数倍 cipher = AES.ne

《精通CSS:高级Web标准解决方案》学习笔记01

对我来说,CSS算得上是一个很难的东西.因为它不像JavaScript那么有趣,对记忆的要求太高,而我对浏览器兼容性.各种CSS Hack真的一点都不感冒.琐碎的.非理论化的知识,真的很烦人呐~ 鉴于国产CSS书籍基本都是辣鸡的现状,我在半年前动用某工作室的购书资金采购了一些技术书籍,这本广受好评的<精通CSS>也在其中.但是在阅读过后我深深的感觉到,如果说CSS本来已经是一种很琐碎的布局知识集合的话,那这本书只能说是更加琐碎了,因为这只是一本纯纯的经验分享.而且随着前端技术的快速发展,明显能

数据加密标准DES原理

数据加密标准(DES)是在20世纪70年代中期由美国IBM公司发展出来的,并被美国国家标准局公布为数据加密标准的一种分组加密算法. DES算法的分组大小为64位,所使用的加密或解密密钥也是64位.因为其中有8个位是用来做奇偶校验,所以64位中真正起密钥作用的只有56位.DES加密与解密所用的算法除了子密钥的顺序不同之外,其他部分则是完全相同. 1)Feistel网络 DES密码结构基于一个称为Feistel网络的结构.Feistel网络是由Horst Feistel在设计Lucifer分组密码时

精通CSS:高级Web标准解决方式(第2版)

精通CSS:高级Web标准解决方式(第2版) 跳转至: 导航. 搜索 层叠重要度:(也就是说.用户!important能够覆盖inline style) !important.用户>作者.最后是浏览器/用户代理 规则特殊性(次序)的计算:a,b,c,d 假设同样.后定义的优先 假设是inline style,a=1 b=ID选择器(#id)的个数 c=类.伪类.属性选择器的个数 d=类型.伪元素选择器的个数 => 大站点复杂内容情况下怎样管理规则次序??? @import比link慢? p41

UNIX环境高级编程---标准I/O库

前言:我想大家学习C语言接触过的第一个函数应该是printf,但是我们真正理解它了吗?最近看Linux以及网络编程这块,我觉得I/O这块很难理解.以前从来没认识到Unix I/O和C标准库I/O函数压根不是一码事.Unix I/O也叫低级I/O,也叫Unbuffered I/O,是操作系统内核部分,也是系统调用:而C标准I/O函数相对也成Buffered I/O,高级I/O,一般是为了效率考虑对这些系统调用的封装.以前使用getchar()经常为输入完后的回车而出错.那是不理解标准I/O实现时的