当前位置:首页 > 模拟 > 模拟
[导读]随着计算机与网络的广泛应用,数据传输量逐渐增加,数据加密变的越来越重要,在研究现代密码学技术的基础上.重点描述了AES算法原理及实现流程,通过实例详细说明其加密过程。

1 引言
   
计算机网络的广泛普及与使用,电子信息技术已经渗透到了人们日常生活的各行各业,在金融、电信、政府机构等更为重要。人们越来越意识到信息安全的重要性。密码学作为信息安全领域的一项重要技术,被普遍认为是解决信息安全保护最有效的方法。现在网络应用的信息安全技术(如数据加密技术、数字签名技术、消息论证与身份识别技术、防火墙技术以及反病毒技术等)都是以密码学为基础的。

2 现代密码学分类
   
现代密码学技术存在两类密码体制,分为对称密码体制(也称为私钥密码体制)和非对称密码体制(也称为公钥密码体制)。对称密码体制是较传统的加密体制,主要用于保证数据的机密性,通信双方在加密/解密过程中使用其共享的单一密钥,由于其算法实现简单和加密速度快等优点,目前仍然是主流密码体制之一。对称密码体制分为序列密码和分组密码两类,序列密码以密钥控制密钥发生器,产生一个随机序列,用这个随机序列和明文信息逐位进行异或运算,就得到密文,其加密单元为比特。分组密码体制将数据流分成固定长度的分组,然后再用密钥,按照一定的算法把分组加密成为密文,其数据加密单元为分组。
    著名的DES标准是最常用的对称密码算法,由于技术的发展,逐渐暴露出密钥相对过短的弊端(DES有效密钥56位),另外,DES加密算法还存在弱密钥和半弱密钥以及其加密标准的算法还存在互补对称性等缺点,2005建立了新的高级数据加密标准(AES)规范。AES(Advanced Encryption Standards)是NIST旨在取代DES的新一代加密标准。


3 AES算法
3.1 AES加密/解密算法原理
    AES是一个迭代的、对称密钥分组的密码,可使用128、192和256位密钥,并用128位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。AES加密/解密框图如图1所示。

3.2 算法实现举例描述
    AES算法是基于置换和代替。置换是数据的重新排列,而代替是用一个单元数据替换另一个。AES使用了几种不同的技术来实现置换和替换。例如以下是要加密的128位值,以及它们对应的索引数组:
    00 ll 22 33 44 55 66 77 88 99 aa bb cc dd ee ff
    O 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    192位密钥的值是:
    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 ll 12 13 14 15 16 17
    0 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 2l 22 23
    AES的构造函数被调用时,用于加密方法的两个表被初始化。第一个表的代替盒称为S一盒。是一个16x16的矩阵。S一盒的前5行和前5列如表1所示。加密例程获取该密钥数组并生成一个名为w[]的密钥调度表,如表2所示。

    w[]最初的Nk(6)行被作为种子,用原始密钥值(0x00~0xl7)。剩余行从种子密钥产生。变量Nk代表32位字为单位的种子密钥长度。新的密钥被称为轮密钥(round keys)。
    AES加密例程开始是拷贝16字节的输入数组到一个名为State(态)的4x4字节矩阵中。如表3所示。AES算法的主循环对State矩阵执行4个不同的操作为:SubBytes(字节替换)、ShiftRows(行位移变换)、MixColumns(列混合变换)和AddRoundKey。
    SubBytes是一个代替操作,它将State矩阵中的每个字节替换成一个由Sbox决定的新字节。
    ShiftRows是一个置换操作,它将State矩阵中的字节向左旋转。如表4所示,State的第0行被向左旋转0个位置,State的第1行被向左旋转1个位置,State的第2行被向左旋转2个位置,而State的第3行被向左旋转3个位置。
    MixColumns是一个代替操作,它用State字节列的值进行数学域加和域乘的结果代替每个字节。
    AddRoundKey(轮密钥加),用密钥调度表中的前4行对State矩阵实行一个字节一个字节的异或(XOR)操作,并用轮密钥表w[e,r]异或输入的State[r.c]。SubBytes、ShiftRows、MixColumns和AddRoundKev 4个操作在一个执行Nr次的循环里被调用,Nr为给定密钥大小的轮数减l。加密算法使用的轮数或是10,12,或是14,这依赖于种子密钥长度是128位、192位还是256位。在这里,因为Nr等于12,则这4个操作被调用11次。该迭代完成后,在拷贝State矩阵到输出参数前,加密算法调用SubBytes、ShiftRows和AddRoundKey后结束。
AES加密算法的核心有4个操作,AddRoundKey使用从种子密钥值中生成的轮密钥代替4组字节。SubBytes替换用一个代替表替换单个字节。ShiftRows通过旋转4字节行的4组字节进行序列置换。MixColumns用域加和域乘的组合来替换字节。

4 结语
   
相对DES算法,AES算法的实现更简单.同时由于AES算法具备很强的扩散性能,最终形成的密码有很高的随机性,抗分析攻击能力强。在软件工程中,更便于制作成通用的加密对象类型或加密标准组件,在不降低安全性能的条件下,极大的简化数据加密程序的开发难度。
    AES算法的实现程序,对处理器性能、内存的需求量等方面的要求低,可以广泛的应用到智能卡、卫星通信、数字电视、流式媒体、加密键盘、ATM、CDM等智能设备中,可提供很高的安全性能,因此,AES将在今后很长时间内具备广阔的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭