- 11
- 0
- 约6.82千字
- 约 13页
- 2016-11-29 发布于湖北
- 举报
实验一 密码算法实验
[实验目的]
1.掌握密码学中经典的对称密码算法AES、RC4的算法原理。
2.掌握AES、RC4的算法流程和实现方法。
[实验预备]
1.AES算法的基本原理和特点。
2.流密码RC4的密钥流生成以及S盒初始化过程。
[实验内容]
1. 分析AES、RC4的实现过程。
2. 用程序设计语言将算法过程编程实现。
3. 完成字符串数据的加密运算运算[实验步骤]
1. 预习AES、RC4算法。
2. 写出算法流程,用程序设计语言将算法过程编程实现。
3. 输入指定的明文、密钥进行实验,验证结果。
4. 自己选择不同的输入,记录输出结果。
写出所编写程序的流程图和运行界面、运行结果。
一、AES算法
1、AES算法简介
AES 是一种可用来保护电子数据的新型加密算法。特别是,AES 是可以使用 128、192 和 256 位密钥的迭代式对称密钥块密码,并且可以对 128 位(16 个字节)的数据块进行加密和解密。与使用密钥对的公钥密码不同的是,对称密钥密码使用同一个密钥来对数据进行加密和解密。由块密码返回的加密数据与输入数据具有相同的位数。迭代式密码使用循环结构来针对输入数据反复执行排列和置换运算。
算法实现及流程
以加密函数为例,如下所示,首先对密钥进行预处理密钥扩展,然后明文进行Nr(Nr与密钥长度有关)次迭代运算,包括字节替换SubBytes、 移位行运算ShiftRows、混合列运算MixColumns、以及轮秘钥加密AddRoundKey。
void Cipher()
{
int i,j,round=0;
// 把明文赋值到状态数组中
for(i=0;i4;i++)
for(j=0;j4;j++)
state[j][i] = in[i*4 + j];
// 先与初始轮密钥相加
AddRoundKey(0);
// 第一轮至(Nr-1)轮的迭代运算,第Nr轮不用进行列混合运算
for(round=1;roundNr;round++)
{
SubBytes(); //字节代换
ShiftRows(); //行移位
MixColumns(); //列混合
AddRoundKey(round); //密钥加
}
SubBytes();
ShiftRows();
AddRoundKey(Nr);
// 加密结束,将机密结果填入数组out中以便输出
for(i=0;i4;i++)
for(j=0;j4;j++)
out[i*4+j]=state[j][i];
}
解密函数的流程和加密函数是一致的,只是对于行变换、列变换、以及相关s盒子为加密的逆过程。
字节替换SubBytes是非线形置换,独立地对状态的每个字节进行。
移位行运算ShiftRows是将状态阵列的各行进行循环移位,不同状态行的位移量不同。第0行不移动,第1行循环左移C1个字节,第2行循环左移C2个字节,第3行循环左移C3个字节。位移量C1、C2、C3的取值与Nb有关。
混合列运算MixColumns是将状态阵列的每个列视为多项式,再与一个固定的多项式c(x)进行模x4+1乘法。Rijndael的设计者给出的c(x)为(系数用十六进制数表示):c(x)=‘03’x3+‘01’x2+‘01’x+‘02’。
轮秘钥加密AddRoundKey是将轮密钥简单地与状态进行逐比特异或。轮密钥由种子密钥通过密钥编排算法得到,轮密钥长度等于分组长度Nb。
程序流程图
AES流程图
运行结果
首先,输入指定密钥13579BDF02468ACE1234567890ABCDEF
,输入指定明文11223344556677889900AABBCCDDEEFF,进行实验,结果如图所示。
选择不同的输入,输入秘钥11223344556677889900AABBCCDDEEFF,输入明文13579BDF02468ACE1234567890ABCDEF ,输出结果如图所示。
二、RC4算法
1、RC4算法简介
RC4加密算
您可能关注的文档
- 调频收音机原理概要.ppt
- 现代教育技术环境第二章解读.ppt
- 现代教育技术环境第一章解读.ppt
- 现代教育技术解读.doc
- 调强放疗在前列腺癌治疗中的应用概要.ppt
- 调强适形放疗同步加量在宫颈癌放疗中的应用概要.ppt
- 现代教育技术实验解读.doc
- 现代精密测量技术发展现状解读.doc
- 现代科技革命笔记解读.doc
- 现代科技知识考试复习1解读.doc
- 语文湖南长沙市炎德英才大联考雅礼中学2026届高三月考试卷(五)(1.6-1.7).docx
- 物理辽宁名校联盟2026届高三年级上学期期末质量检测(1.15-1.16).docx
- 化学湖北荆州中学2025-2026学年高二上学期12月月考(12.24-12.25).docx
- 化学陕西2026年宝鸡市高考模拟检测试题(一)(宝鸡一模)(1.10-1.11).docx
- FANUC机器人 iRVision 智能视觉.pdf
- FANUC机器人点焊-培训教材.pdf
- KUKA电气元器件检修.pdf
- 发那科机器人设置辅助功能FANUC.pdf
- FANUC机器人弧焊教程.pdf
- FANUC双驱及多位置标定功能指导手册.pdf
最近下载
- 安徽省合肥市名校联考2026届数学八年级第一学期期末教学质量检测模拟试题含解析.doc VIP
- 2025年山西职业单招考试真题及答案 完整版2025.pdf VIP
- 区块链基本概念.pptx VIP
- 2021年度“双一流”建设专项资金绩效评价自评报告.pdf VIP
- 劳动法案例分析及参考答案.docx VIP
- 广西左江治旱黑水河现代化灌区工程环境影响报告书.pdf VIP
- FDA热效应评估指南(中文翻译件) thermal effects evaluation.pdf VIP
- 华东理工大学双一流建设中期自评报告.PDF VIP
- 项目环境与职业健康安全管理工作计划.doc VIP
- 人人商城恶意诉讼应诉指南-含胜诉答辩状和证据清单.docx
原创力文档

文档评论(0)