AES加密算法之行移位变换
2015-11-04 11:01
393 查看
行移位变换完成基于行的循环移位操作,变换方法为:第0行不变,第1行循环左移1个字节,第2行循环左移两个字节,第3行循环左移3个字节。如下图所示。
附上自己敲的C语言源码:
程序运行结果如下:
附上自己敲的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; }
程序运行结果如下:
相关文章推荐
- C#对称加密(AES加密)每次生成的结果都不同的实现思路和代码实例
- php中AES加密解密的例子小结
- C++中四种加密算法之AES源代码
- Android AES加密工具类分享
- php写的AES加密解密类分享
- Java使用AES加密和解密的实例详解
- 在Python中使用M2Crypto模块实现AES加密的教程
- python实现的AES双向对称加密解密与用法分析
- 使用Python进行AES加密和解密的示例代码
- RSA,AES,MD5算法在实际项目中的综合应用!!!
- AES加密模式和填充方式,hash,md5,ca
- Java 加密解密之对称加密算法AES
- JAVA实现AES加密
- c程序彩色输出导致aes加解密失败
- AES-128加密数据库连接的用户名和密码
- 聊天加密软件
- android AES加密
- AES加密解密
- AES 256 加密和解密 for C#