AES加密算法之行移位变换
来源:互联网 发布:网络诈骗了2000要判刑 编辑:程序博客网 时间:2024/06/07 15:13
行移位变换完成基于行的循环移位操作,变换方法为:第0行不变,第1行循环左移1个字节,第2行循环左移两个字节,第3行循环左移3个字节。如下图所示。
附上自己敲的C语言源码:
#include <iostream>using namespace std;void PrintfMatrix(unsigned char m[4][4]) //该函数是输出数组方法{for(int i=0;i<4;i++){for(int j=0;j<4;j++){printf("%2x",m[i][j]);if(j%4==3)puts("");}}}void ShiftRow(unsigned char state[4][4]) //行移位变换函数{unsigned char st[4];int i,j;for(i=1;i<4;i++){for(j=0;j<4;j++){st[j]=state[i][(j+i)%4];}for(j=0;j<4;j++){state[i][j]=st[j];}}}int main(){unsigned char state[4][4]={0,4,8,12,1,5,9,13,2,6,10,14,3,7,11,15,};printf("明文为:\n");PrintfMatrix(state);ShiftRow(state); //调用行移位函数 printf("移位后:\n"); PrintfMatrix(state);return 0;}
程序运行结果如下:
0 0
- AES加密算法之行移位变换
- AES加密算法之列混合变换
- AES加密算法之列混合变换
- 加密算法之DES/AES
- 《程序员密码学》之AES加密算法
- Java对称加密算法之AES
- java加密算法之AES小记
- AES加密算法
- AES加密算法
- AES加密算法
- AES加密算法
- AES加密算法
- AES 加密算法
- aes加密算法
- AES加密算法
- AES加密算法
- AES加密算法
- aes加密算法
- tomcat启动不了
- iOS常见基本问题整理 (II)
- csdn笔记
- 通过修改密码功能,来学习MVC中AJAX的秒用
- 动态规划解最长公共子序列问题
- AES加密算法之行移位变换
- MVC模式中,如何使用AJAX进行分页
- opencv学习笔记2--图像拼接教程
- eclipse中的Console控制台视图脱离主窗口解决办法
- 【取模】和【取余】分辨
- JPA 学习篇(三)简单实体映射和EntityManagerAPI
- hdu2062
- Libcurl实现文件下载
- 苹果企业账号申请记录