1 / 9
文档名称:

AES加解密实验报告.docx

格式:docx   大小:2,584KB   页数:9页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

AES加解密实验报告.docx

上传人:xhm 2021/5/3 文件大小:2.52 MB

下载得到文件列表

AES加解密实验报告.docx

文档介绍

文档介绍:Revised by Petrel at 2021
AES加解密实验报告
《信息安全体系》课程设计报告
班 级: 物联网 2013 级 1 班
姓 名:
学 号:
课程设计题目: AES加密算法
所 属 课 程 : 物联网信息安全
实验室(中心): 软件实验室60801
指 导 教 师 :
完 成 时 间 : 2016 年 6 月 6 日
问题分析和任务定义
问题分析:
AES是一个对称分组密码算法,根据使用的密码长度,AES最常见的有3种方案,用以适应不同的场景要求,分别是AES-128、AES-192和AES-256。
AES加密过程涉及到4种操作:字节替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和轮密钥加(AddRoundKey)。解密过程分别为对应的逆操作。由于每一步操作都是可逆的,按照相反的顺序进行解密即可恢复明文。
AES 算法是基于置换和代替的。置换是数据的重新排列,而代替是用一个单元数据替换另一个。AES 使用了几种不同的技术来实现置换和替换。
任务(功能)定义:(数据结构部分)
明文转换:
(strUni); //将得到的明文或密钥通过Utf8编码
(strUtf); //将UTF-8编码的字符串解码成多字节Unicode字符
= function(str, utf8encode) //将UTF-8编码得到的字符通过Base64编码
= function(str, utf8decode) //将UTF-8解码得到的字符通过Base64解码
轮密钥加: = function(state, w, rnd, Nb) // 将128位的state矩阵按位与128位密钥异或
字节代替: = function(s, Nb) //将状态矩阵的每个字节,进行4*Nb矩阵的遍历并替换
列混淆: = function(s, Nb) //将状态矩阵逐列混合
行位移: = function(s, Nb) //状态矩阵的第0行不变,第1行向左移一个字节,第2行向左移两个字节,第三行向左移三个字节
密钥扩展: = function(key) //将输入的密钥扩展为11组128位密钥组,其中第0组为输入密钥本身
环境简介
开发环境:WebStrom 环境简介:WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的