欢迎来到天天文库
浏览记录
ID:30364659
大小:97.28 KB
页数:15页
时间:2018-12-29
《《aes算法介绍》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、AES算法介绍高级加密标准(AdvancedEncryptionStandard)美国国家技术标准委员会(NIST)在2000年10月选定了比利时的研究成果"Rijndael"作为AES的基础。"Rijndael"是经过三年漫长的过程,最终从进入候选的五种方案中挑选出来的。Rijndael这个名字是从它的两个发明者Rijmen和Daemen的名字得来的。结合昨天提供的AES算法的Flash演示动画,可以更好的理解AES算法。以下是中文原文:原著:JamesMcCaffrey翻译:小刀人原文出处:MSDNMagazineNovember
2、2003(EncryptIt)本文的代码下载:msdnmag200311AES.exe(143KB)本文假设你熟悉C#和位(bit)操作。摘要AES(TheAdvancedEncryptionStandard)是美国国家标准与技术研究所用于加密电子数据的规范。它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法。本文展示了AES的概貌并解析了它使用的算法。包括一个完整的C#实现和加密.NET数据的举例。在读完本文后你将能用AES加密、测试基于AES的软件并能在你的系统中使用AES加密。美国国家标准与技术研究所(NIST)在2
3、002年5月26日建立了新的高级数据加密标准(AES)规范。本文中我将提供一个用C#编写的的能运行的AES实现,并详细解释到底什么是AES以及编码是如何工作的。我将向您展示如何用AES加密数据并扩展本文给出的代码来开发一个商业级质量的AES类。我还将解释怎样把AES结合到你的软件系统中去和为什么要这么做,以及如何测试基于AES的软件。注意本文提供的代码和基于本文的任何其它的实现都在联邦加密模块出口控制的适用范围之内(详情请参看CommercialEncryptionExportAES算法介绍高级加密标准(AdvancedEncrypt
4、ionStandard)美国国家技术标准委员会(NIST)在2000年10月选定了比利时的研究成果"Rijndael"作为AES的基础。"Rijndael"是经过三年漫长的过程,最终从进入候选的五种方案中挑选出来的。Rijndael这个名字是从它的两个发明者Rijmen和Daemen的名字得来的。结合昨天提供的AES算法的Flash演示动画,可以更好的理解AES算法。以下是中文原文:原著:JamesMcCaffrey翻译:小刀人原文出处:MSDNMagazineNovember2003(EncryptIt)本文的代码下载:msdnma
5、g200311AES.exe(143KB)本文假设你熟悉C#和位(bit)操作。摘要AES(TheAdvancedEncryptionStandard)是美国国家标准与技术研究所用于加密电子数据的规范。它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法。本文展示了AES的概貌并解析了它使用的算法。包括一个完整的C#实现和加密.NET数据的举例。在读完本文后你将能用AES加密、测试基于AES的软件并能在你的系统中使用AES加密。美国国家标准与技术研究所(NIST)在2002年5月26日建立了新的高级数据加密标准(AES)规范
6、。本文中我将提供一个用C#编写的的能运行的AES实现,并详细解释到底什么是AES以及编码是如何工作的。我将向您展示如何用AES加密数据并扩展本文给出的代码来开发一个商业级质量的AES类。我还将解释怎样把AES结合到你的软件系统中去和为什么要这么做,以及如何测试基于AES的软件。注意本文提供的代码和基于本文的任何其它的实现都在联邦加密模块出口控制的适用范围之内(详情请参看CommercialEncryptionExportControls)。AES是一个新的可以用于保护电子数据的加密算法。明确地说,AES是一个迭代的、对称密钥分组的密码
7、,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations)和替换(substitutions)输入数据。Figure1显示了AES用192位密钥对一个16位字节数据块进行加密和解密的情形。Figure1部分数据AES算法概述AES算法是基于置换和代替的。置换是数据的重新排列,而代替是用一个单元数据替换另一个。AES使
8、用了几种不同的技术来实现置换和替换。为了阐明这些技术,让我们用Figure1所示的数据讨论一个具体的AES加密例子。下面是你要加密的128位值以及它们对应的索引数组:00112233445566778899aabbccd
此文档下载收益归作者所有