AES128算法C语言实现(附每轮执行结果以供调试)
关于AES128算法的文章网上已经很多了,之所以要写这篇是因为前两天自己在写代码调试的时候遇到一些问题,底层函数单独调试的时候是好的,但是综合在一起执行10轮操作以后总的结果却是不对的,所以一下子很难定位问题出在哪里,为了帮助遇到相同问题的朋友,特此把我每轮执行的结果都贴出来,给大家一个参考。
首先分享一些AES的技术要点,关于数学理论就不多说了,要彻底理解伽罗瓦域在二进制世界里的工作原理相信没点天赋还真的不行,所以这里我只说结论和如何应用这些结论。
关于AES的乘法(在列混合操作中要用到矩阵乘法),AES里乘法逻辑是:
将某个字节所对应的值乘以2,其结果就是将该值的二进制位左移一位,如果原始值的最高位为1,则还需要将移位后的结果异或00011011;
注意一下,这里为什么只说乘以2,因为站在二进制的观点去看,所有的乘数其实都可以分解成2的不同倍数的相加,比如0x07=0001b+0010b+0100b,其实就是1+2+4,所以7*Y=(1*Y)+(2*Y)+(4*Y),不难看出每一项都是Y乘以2的不同倍数,,求7*Y只要先求出(1*Y)、(2*Y)、(4*Y)、(8*Y)、(16*Y)、(32*Y)、(64*Y)、(128*Y),这里每一个数又是前一个数乘以2,然后找到7对应的那几个bit把他们再加起来就行了,注意AES的乘以2不是普通的乘以2,而是左移一位且如果原始值最高位为1还要将结果异或00011011。
贴一下我的代码,这是乘以2的函数
unsigned char TwoMult(unsigned char x)
{unsigned char rslt = 0u;//伽罗瓦域乘2就是将其左移1位,若原先值的最高位为1则还要异或0x1Brslt = (x << 1u) ^ ((x & 0x80u) ? 0x1Bu : 0x00u);return rslt;
}
这是求两个数相乘的函数
unsigned char GaloisMult(unsigned char a, unsigned char b)
{unsigned char rslt = 0u;unsigned char temp[8u];unsigned char i;temp[0] = a; //当b的第0位为1temp[1] = TwoMult(a); //当b的第1位为1,其实就是相当于a*0x02temp[2] = TwoMult(temp[1u]); //当b的第2位为1,其实就是相当于a*0x04=a*0x02*0x02temp[3] = TwoMult(temp[2u]); //当b的第3位为1,其实就是相当于a*0x08=a*0x02*0x02*0x02temp[4] = TwoMult(temp[3u]); //当b的第4位为1,其实就是相当于a*0x10=a*0x02*0x02*0x02*0x02temp[5] = TwoMult(temp[4u]); //当b的第5位为1,其实就是相当于a*0x20=a*0x02*0x02*0x02*0x02*0x02temp[6] = TwoMult(temp[5u]); //当b的第6位为1,其实就是相当于a*0x40=a*0x02*0x02*0x02*0x02*0x02*0x02temp[7] = TwoMult(temp[6u]); //当b的第7位为1,其实就是相当于a*0x80=a*0x02*0x02*0x02*0x02*0x02*0x02*0x02for (i = 0u; i < 8u; i++){unsigned char z;z = (b & (0x01u << i)) ? temp[i] : 0x00u; //只要b的某一位为1则把对应的temp[i]取出来循环做异或rslt ^= z;}return rslt;
}
说完乘法,接着说一下数据排布规则,AES里对于顺序输入的数据都是按照从上到下,从左到右的顺序排布到一个[4][4]的矩阵中
比如输入P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15
则矩阵应该这样
P0 | P4 | P8 | P12 |
P1 | P5 | P9 | P13 |
P2 | P6 | P10 | P14 |
P3 | P7 | P11 | P15 |
包括在做秘钥扩展的时候,对于秘钥key一共16字节,也应按照上述规则排布,说道秘钥扩展顺便也说一下我遇到的坑,下图是网上找来的,要注意在g函数里做左移的时候,B0是MSB,举例来说,w3=k12 | k13 | k14 | k15,其中要把k12作为MSB然后执行左移,如果把k15当做MSB左移结果就正好方向反掉了(错:w3=k15 | k14 | k13 | k12)
秘钥扩展是一个比较复杂的函数,找了一下网上说的比较清楚的一端描述
密钥扩展过程说明:
1) 将种子密钥按图(a)的格式排列,其中k0、k1、……、k15依次表示种子密钥的一个字节;排列后用4个32比特的字表示,分别记为w[0]、w[1]、w[2]、w[3];
2) 按照如下方式,依次求解w[j],其中j是整数并且属于[4,43];
3) 若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]),否则w[j]=w[j-4]⊕w[j-1];
函数g的流程说明:
a) 将w循环左移8比特;
b) 分别对每个字节做S盒置换;
c) 与32比特的常量(RC[j/4],0,0,0)进行异或,RC是一个一维数组,其值如下。(RC的值只需要有10个,而此处用了11个,实际上RC[0]在运算中没有用到,增加RC[0]是为了便于程序中用数组表示。由于j的最小取值是4,j/4的最小取值则是1,因此不会产生错误。)
RC = {0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1B, 0x36}
下面是我的代码
unsigned char RC[11u] = { 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1B, 0x36, };unsigned int WGen(unsigned int input, unsigned char round) {unsigned char in[4u];unsigned char temp[4u];unsigned int int_temp;unsigned char i = 0;in[0u] = input & 0x000000FF; //B3 LSBin[1u] = (input & 0x0000FF00)>>8u; //B2in[2u] = (input & 0x00FF0000)>>16u; //B1in[3u] = (input & 0xFF000000)>>24u; //B0 MSBfor (i = 0u; i < 4u; i++){temp[i] = in[(i + 3u) % 4u]; //左移是将MSB往左移}for (i = 0u; i < 4u; i++){temp[i] = Sout(temp[i]);}temp[3] ^= RC[round];int_temp = temp[0u] | ((unsigned int)temp[1u]) << 8u | ((unsigned int)temp[2u]) << 16u | ((unsigned int)temp[3u]) << 24u;return int_temp;
};unsigned int WKey[44u]; //44*4=176字节
void KeyExp(const unsigned char(*key)[16u]){unsigned char i;//以B0/B1/B2/B3为例,MSB取B0,LSB取B3,以此类推WKey[0u] = ((unsigned int)(*key)[0u]) << 24u | ((unsigned int)(*key)[1u]) << 16u | ((unsigned int)(*key)[2u]) << 8u | (*key)[3u];WKey[1u] = ((unsigned int)(*key)[4u]) << 24u | ((unsigned int)(*key)[5u]) << 16u | ((unsigned int)(*key)[6u]) << 8u | (*key)[7u];WKey[2u] = ((unsigned int)(*key)[8u]) << 24u | ((unsigned int)(*key)[9u]) << 16u | ((unsigned int)(*key)[10u]) << 8u | (*key)[11u];WKey[3u] = ((unsigned int)(*key)[12u]) << 24u | ((unsigned int)(*key)[13u]) << 16u | ((unsigned int)(*key)[14u]) << 8u | (*key)[15u];for (i = 4u; i <= 43u; i++){if ((i % 4u) == 0u){WKey[i] = WKey[i - 4u] ^ WGen(WKey[i - 1u], (i/4u)); //i/4就是round,[1, 10]}else{WKey[i] = WKey[i - 4u] ^ WKey[i - 1u];}}};
//先运行fpKeyExp,秘钥扩展后存入WKey[44u],然后每次秘钥轮加的时候运行GetRoundKey从WKey[44u]里抽取需要的4个组成一个数组与State进行异或
unsigned int RndKey[4u];
void GetRoundKey(unsigned char rnd_key_idx) {RndKey[0u] = WKey[rnd_key_idx * 4u];RndKey[1u] = WKey[rnd_key_idx * 4u +1u];RndKey[2u] = WKey[rnd_key_idx * 4u +2u];RndKey[3u] = WKey[rnd_key_idx * 4u +3u];
}//以RndKey[4u]为基础生成ByteRndKey[4u][4u],和State里的每个字节异或,先调用GetByteRndKey,然后就可以使用ByteRndKey[4u][4u]
unsigned char ByteRndKey[4u][4u];
void GetByteRndKey(unsigned char rnd_key_idx) {unsigned char i;GetRoundKey(rnd_key_idx);//从int[4]转char[4][4]时要注意空间位置for (i = 0u; i < 4u; i++){ByteRndKey[i][0u] = (RndKey[0u] >> ((3u - i) * 8u)) & (unsigned int)0xFF;}for (i = 0u; i < 4u; i++){ByteRndKey[i][1u] = (RndKey[1u] >> ((3u - i) * 8u)) & (unsigned int)0xFF;}for (i = 0u; i < 4u; i++){ByteRndKey[i][2u] = (RndKey[2u] >> ((3u - i) * 8u)) & (unsigned int)0xFF;}for (i = 0u; i < 4u; i++){ByteRndKey[i][3u] = (RndKey[3u] >> ((3u - i) * 8u)) & (unsigned int)0xFF;}}
说明一下,使用的时候先调用KeyExp吧所有的扩展秘钥都求出来,然后调用GetByteRndKey求出一个[4][4]的矩阵与当前state异或,下面是几个key对应的扩展结果,如果你的程序执行结果和这个一样那就对了,如果不一样那说明你的程序哪里还有问题,另外秘钥扩展程序里用到了S和替换,所以如果你的秘钥扩展结果正确那说明你的S盒替换函数也是正确的。
下面贴几个扩展秘钥的执行结果
对于key={ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xA, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,}
名称 |
值 |
类型 |
[0x00000000] |
0x00010203 |
unsigned int |
[0x00000001] |
0x04050607 |
unsigned int |
[0x00000002] |
0x08090a0b |
unsigned int |
[0x00000003] |
0x0c0d0e0f |
unsigned int |
[0x00000004] |
0xd6aa74fd |
unsigned int |
[0x00000005] |
0xd2af72fa |
unsigned int |
[0x00000006] |
0xdaa678f1 |
unsigned int |
[0x00000007] |
0xd6ab76fe |
unsigned int |
[0x00000008] |
0xb692cf0b |
unsigned int |
[0x00000009] |
0x643dbdf1 |
unsigned int |
[0x0000000a] |
0xbe9bc500 |
unsigned int |
[0x0000000b] |
0x6830b3fe |
unsigned int |
[0x0000000c] |
0xb6ff744e |
unsigned int |
[0x0000000d] |
0xd2c2c9bf |
unsigned int |
[0x0000000e] |
0x6c590cbf |
unsigned int |
[0x0000000f] |
0x0469bf41 |
unsigned int |
[0x00000010] |
0x47f7f7bc |
unsigned int |
[0x00000011] |
0x95353e03 |
unsigned int |
[0x00000012] |
0xf96c32bc |
unsigned int |
[0x00000013] |
0xfd058dfd |
unsigned int |
[0x00000014] |
0x3caaa3e8 |
unsigned int |
[0x00000015] |
0xa99f9deb |
unsigned int |
[0x00000016] |
0x50f3af57 |
unsigned int |
[0x00000017] |
0xadf622aa |
unsigned int |
[0x00000018] |
0x5e390f7d |
unsigned int |
[0x00000019] |
0xf7a69296 |
unsigned int |
[0x0000001a] |
0xa7553dc1 |
unsigned int |
[0x0000001b] |
0x0aa31f6b |
unsigned int |
[0x0000001c] |
0x14f9701a |
unsigned int |
[0x0000001d] |
0xe35fe28c |
unsigned int |
[0x0000001e] |
0x440adf4d |
unsigned int |
[0x0000001f] |
0x4ea9c026 |
unsigned int |
[0x00000020] |
0x47438735 |
unsigned int |
[0x00000021] |
0xa41c65b9 |
unsigned int |
[0x00000022] |
0xe016baf4 |
unsigned int |
[0x00000023] |
0xaebf7ad2 |
unsigned int |
[0x00000024] |
0x549932d1 |
unsigned int |
[0x00000025] |
0xf0855768 |
unsigned int |
[0x00000026] |
0x1093ed9c |
unsigned int |
[0x00000027] |
0xbe2c974e |
unsigned int |
[0x00000028] |
0x13111d7f |
unsigned int |
[0x00000029] |
0xe3944a17 |
unsigned int |
[0x0000002a] |
0xf307a78b |
unsigned int |
[0x0000002b] |
0x4d2b30c5 |
unsigned int |
对于key={0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xA, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,}
名称 | 值 | 类型 |
---|---|---|
[0x00000000] | 0x01020304 | unsigned int |
[0x00000001] | 0x05060708 | unsigned int |
[0x00000002] | 0x090a0b0c | unsigned int |
[0x00000003] | 0x0d0e0f10 | unsigned int |
[0x00000004] | 0xab74c9d3 | unsigned int |
[0x00000005] | 0xae72cedb | unsigned int |
[0x00000006] | 0xa778c5d7 | unsigned int |
[0x00000007] | 0xaa76cac7 | unsigned int |
[0x00000008] | 0x91000f7f | unsigned int |
[0x00000009] | 0x3f72c1a4 | unsigned int |
[0x0000000a] | 0x980a0473 | unsigned int |
[0x0000000b] | 0x327cceb4 | unsigned int |
[0x0000000c] | 0x858b825c | unsigned int |
[0x0000000d] | 0xbaf943f8 | unsigned int |
[0x0000000e] | 0x22f3478b | unsigned int |
[0x0000000f] | 0x108f893f | unsigned int |
[0x00000010] | 0xfe2cf796 | unsigned int |
[0x00000011] | 0x44d5b46e | unsigned int |
[0x00000012] | 0x6626f3e5 | unsigned int |
[0x00000013] | 0x76a97ada | unsigned int |
[0x00000014] | 0x3df6a0ae | unsigned int |
[0x00000015] | 0x792314c0 | unsigned int |
[0x00000016] | 0x1f05e725 | unsigned int |
[0x00000017] | 0x69ac9dff | unsigned int |
[0x00000018] | 0x8ca8b657 | unsigned int |
[0x00000019] | 0xf58ba297 | unsigned int |
[0x0000001a] | 0xea8e45b2 | unsigned int |
[0x0000001b] | 0x8322d84d | unsigned int |
[0x0000001c] | 0x5fc955bb | unsigned int |
[0x0000001d] | 0xaa42f72c | unsigned int |
[0x0000001e] | 0x40ccb29e | unsigned int |
[0x0000001f] | 0xc3ee6ad3 | unsigned int |
[0x00000020] | 0xf7cb3395 | unsigned int |
[0x00000021] | 0x5d89c4b9 | unsigned int |
[0x00000022] | 0x1d457627 | unsigned int |
[0x00000023] | 0xdeab1cf4 | unsigned int |
[0x00000024] | 0x8e578c88 | unsigned int |
[0x00000025] | 0xd3de4831 | unsigned int |
[0x00000026] | 0xce9b3e16 | unsigned int |
[0x00000027] | 0x103022e2 | unsigned int |
[0x00000028] | 0xbcc41442 | unsigned int |
[0x00000029] | 0x6f1a5c73 | unsigned int |
[0x0000002a] | 0xa1816265 | unsigned int |
[0x0000002b] | 0xb1b14087 | unsigned int |
对于key={ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,}
名称 | 值 | 类型 |
---|---|---|
[0x00000000] | 0xffffffff | unsigned int |
[0x00000001] | 0xffffffff | unsigned int |
[0x00000002] | 0xffffffff | unsigned int |
[0x00000003] | 0xffffffff | unsigned int |
[0x00000004] | 0xe8e9e9e9 | unsigned int |
[0x00000005] | 0x17161616 | unsigned int |
[0x00000006] | 0xe8e9e9e9 | unsigned int |
[0x00000007] | 0x17161616 | unsigned int |
[0x00000008] | 0xadaeae19 | unsigned int |
[0x00000009] | 0xbab8b80f | unsigned int |
[0x0000000a] | 0x525151e6 | unsigned int |
[0x0000000b] | 0x454747f0 | unsigned int |
[0x0000000c] | 0x090e2277 | unsigned int |
[0x0000000d] | 0xb3b69a78 | unsigned int |
[0x0000000e] | 0xe1e7cb9e | unsigned int |
[0x0000000f] | 0xa4a08c6e | unsigned int |
[0x00000010] | 0xe16abd3e | unsigned int |
[0x00000011] | 0x52dc2746 | unsigned int |
[0x00000012] | 0xb33becd8 | unsigned int |
[0x00000013] | 0x179b60b6 | unsigned int |
[0x00000014] | 0xe5baf3ce | unsigned int |
[0x00000015] | 0xb766d488 | unsigned int |
[0x00000016] | 0x045d3850 | unsigned int |
[0x00000017] | 0x13c658e6 | unsigned int |
[0x00000018] | 0x71d07db3 | unsigned int |
[0x00000019] | 0xc6b6a93b | unsigned int |
[0x0000001a] | 0xc2eb916b | unsigned int |
[0x0000001b] | 0xd12dc98d | unsigned int |
[0x0000001c] | 0xe90d208d | unsigned int |
[0x0000001d] | 0x2fbb89b6 | unsigned int |
[0x0000001e] | 0xed5018dd | unsigned int |
[0x0000001f] | 0x3c7dd150 | unsigned int |
[0x00000020] | 0x96337366 | unsigned int |
[0x00000021] | 0xb988fad0 | unsigned int |
[0x00000022] | 0x54d8e20d | unsigned int |
[0x00000023] | 0x68a5335d | unsigned int |
[0x00000024] | 0x8bf03f23 | unsigned int |
[0x00000025] | 0x3278c5f3 | unsigned int |
[0x00000026] | 0x66a027fe | unsigned int |
[0x00000027] | 0x0e0514a3 | unsigned int |
[0x00000028] | 0xd60a3588 | unsigned int |
[0x00000029] | 0xe472f07b | unsigned int |
[0x0000002a] | 0x82d2d785 | unsigned int |
[0x0000002b] | 0x8cd7c326 | unsigned int |
说完秘钥扩展,接着先贴一下结论,对于
Key={ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xA, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,}
明文Plain={ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xA, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,}
的加密结果为
Cypher=
名称 | 值 | 类型 |
---|---|---|
[0x00000000] | 0x34 '4' | unsigned char |
[0x00000001] | 0xc3 '?' | unsigned char |
[0x00000002] | 0x3b ';' | unsigned char |
[0x00000003] | 0x7f '' | unsigned char |
[0x00000004] | 0x14 '\x14' | unsigned char |
[0x00000005] | 0xfd '?' | unsigned char |
[0x00000006] | 0x53 'S' | unsigned char |
[0x00000007] | 0xdc '?' | unsigned char |
[0x00000008] | 0xea '?' | unsigned char |
[0x00000009] | 0x25 '%' | unsigned char |
[0x0000000a] | 0xe0 '?' | unsigned char |
[0x0000000b] | 0x1a '\x1a' | unsigned char |
[0x0000000c] | 0x02 '\x2' | unsigned char |
[0x0000000d] | 0xe1 '?' | unsigned char |
[0x0000000e] | 0x67 'g' | unsigned char |
[0x0000000f] | 0x27 ''' | unsigned char |
如果你的结果和这个一致那就不用往下看了,如果不对,下面贴出每一轮操作的结果以供对比。
第0轮轮钥密加后state[4][4]结果如下
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "" | unsigned char[0x00000004] |
[0x00000000] | 0x00 '\0' | unsigned char | |
[0x00000001] | 0x00 '\0' | unsigned char | |
[0x00000002] | 0x00 '\0' | unsigned char | |
[0x00000003] | 0x00 '\0' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "" | unsigned char[0x00000004] |
[0x00000000] | 0x00 '\0' | unsigned char | |
[0x00000001] | 0x00 '\0' | unsigned char | |
[0x00000002] | 0x00 '\0' | unsigned char | |
[0x00000003] | 0x00 '\0' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "" | unsigned char[0x00000004] |
[0x00000000] | 0x00 '\0' | unsigned char | |
[0x00000001] | 0x00 '\0' | unsigned char | |
[0x00000002] | 0x00 '\0' | unsigned char | |
[0x00000003] | 0x00 '\0' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "" | unsigned char[0x00000004] |
[0x00000000] | 0x00 '\0' | unsigned char | |
[0x00000001] | 0x00 '\0' | unsigned char | |
[0x00000002] | 0x00 '\0' | unsigned char | |
[0x00000003] | 0x00 '\0' | unsigned char |
第1轮【字节替换】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char |
第1轮【行位移】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char |
第1轮【列混合】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "cccc... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x63 'c' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char |
第1轮【轮密钥加】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "韧纳... | unsigned char[0x00000004] |
[0x00000000] | 0xc8 '?' | unsigned char | |
[0x00000001] | 0xcd '?' | unsigned char | |
[0x00000002] | 0xc4 '?' | unsigned char | |
[0x00000003] | 0xc9 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "\x17\x11\x1b\x15... | unsigned char[0x00000004] |
[0x00000000] | 0x17 '\x17' | unsigned char | |
[0x00000001] | 0x11 '\x11' | unsigned char | |
[0x00000002] | 0x1b '\x1b' | unsigned char | |
[0x00000003] | 0x15 '\x15' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "Ι... | unsigned char[0x00000004] |
[0x00000000] | 0xaa '?' | unsigned char | |
[0x00000001] | 0xad '?' | unsigned char | |
[0x00000002] | 0xa6 '?' | unsigned char | |
[0x00000003] | 0xa9 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "案搐... | unsigned char[0x00000004] |
[0x00000000] | 0xb0 '?' | unsigned char | |
[0x00000001] | 0xb8 '?' | unsigned char | |
[0x00000002] | 0xb4 '?' | unsigned char | |
[0x00000003] | 0xa4 '?' | unsigned char |
第2轮【字节替换】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xe8 '?' | unsigned char | |
[0x00000001] | 0xbd '?' | unsigned char | |
[0x00000002] | 0x1c '\x1c' | unsigned char | |
[0x00000003] | 0xdd '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "饌痀... | unsigned char[0x00000004] |
[0x00000000] | 0xf0 '?' | unsigned char | |
[0x00000001] | 0x82 '?' | unsigned char | |
[0x00000002] | 0xaf '?' | unsigned char | |
[0x00000003] | 0x59 'Y' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xac '?' | unsigned char | |
[0x00000001] | 0x95 '?' | unsigned char | |
[0x00000002] | 0x24 '$' | unsigned char | |
[0x00000003] | 0xd3 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "鏻岻... | unsigned char[0x00000004] |
[0x00000000] | 0xe7 '?' | unsigned char | |
[0x00000001] | 0x6c 'l' | unsigned char | |
[0x00000002] | 0x8d '?' | unsigned char | |
[0x00000003] | 0x49 'I' | unsigned char |
第2轮【行位移】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xe8 '?' | unsigned char | |
[0x00000001] | 0xbd '?' | unsigned char | |
[0x00000002] | 0x1c '\x1c' | unsigned char | |
[0x00000003] | 0xdd '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x82 '?' | unsigned char | |
[0x00000001] | 0xaf '?' | unsigned char | |
[0x00000002] | 0x59 'Y' | unsigned char | |
[0x00000003] | 0xf0 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x24 '$' | unsigned char | |
[0x00000001] | 0xd3 '?' | unsigned char | |
[0x00000002] | 0xac '?' | unsigned char | |
[0x00000003] | 0x95 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x49 'I' | unsigned char | |
[0x00000001] | 0xe7 '?' | unsigned char | |
[0x00000002] | 0x6c 'l' | unsigned char | |
[0x00000003] | 0x8d '?' | unsigned char |
第2轮【列混合】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x3b ';' | unsigned char | |
[0x00000001] | 0xbf '?' | unsigned char | |
[0x00000002] | 0x13 '\x13' | unsigned char | |
[0x00000003] | 0xb2 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "襮-\xf... | unsigned char[0x00000004] |
[0x00000000] | 0xd2 '?' | unsigned char | |
[0x00000001] | 0x71 'q' | unsigned char | |
[0x00000002] | 0x2d '-' | unsigned char | |
[0x00000003] | 0x0f '\xf' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "鶟矏... | unsigned char[0x00000004] |
[0x00000000] | 0xf9 '?' | unsigned char | |
[0x00000001] | 0x9d '?' | unsigned char | |
[0x00000002] | 0xb2 '?' | unsigned char | |
[0x00000003] | 0x90 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "\x17u\t\x18... | unsigned char[0x00000004] |
[0x00000000] | 0x17 '\x17' | unsigned char | |
[0x00000001] | 0x75 'u' | unsigned char | |
[0x00000002] | 0x09 '\t' | unsigned char | |
[0x00000003] | 0x18 '\x18' | unsigned char |
第2轮【轮密钥加】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "獉媭... | unsigned char[0x00000004] |
[0x00000000] | 0xaa '?' | unsigned char | |
[0x00000001] | 0x80 '€' | unsigned char | |
[0x00000002] | 0x8b '?' | unsigned char | |
[0x00000003] | 0x80 '€' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xd2 '?' | unsigned char | |
[0x00000001] | 0x03 '\x3' | unsigned char | |
[0x00000002] | 0x27 ''' | unsigned char | |
[0x00000003] | 0x73 's' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "鯸禴... | unsigned char[0x00000004] |
[0x00000000] | 0xf6 '?' | unsigned char | |
[0x00000001] | 0x5c '\\' | unsigned char | |
[0x00000002] | 0xb6 '?' | unsigned char | |
[0x00000003] | 0x5e '^' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x68 'h' | unsigned char | |
[0x00000001] | 0xd1 '?' | unsigned char | |
[0x00000002] | 0x7a 'z' | unsigned char | |
[0x00000003] | 0xac '?' | unsigned char |
第3轮【字节替换】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xac '?' | unsigned char | |
[0x00000001] | 0xcd '?' | unsigned char | |
[0x00000002] | 0x3d '=' | unsigned char | |
[0x00000003] | 0xcd '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "祘虖... | unsigned char[0x00000004] |
[0x00000000] | 0xb5 '?' | unsigned char | |
[0x00000001] | 0x7b '{' | unsigned char | |
[0x00000002] | 0xcc '?' | unsigned char | |
[0x00000003] | 0x8f '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "BJNX... | unsigned char[0x00000004] |
[0x00000000] | 0x42 'B' | unsigned char | |
[0x00000001] | 0x4a 'J' | unsigned char | |
[0x00000002] | 0x4e 'N' | unsigned char | |
[0x00000003] | 0x58 'X' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "E>趹... | unsigned char[0x00000004] |
[0x00000000] | 0x45 'E' | unsigned char | |
[0x00000001] | 0x3e '>' | unsigned char | |
[0x00000002] | 0xda '?' | unsigned char | |
[0x00000003] | 0x91 '?' | unsigned char |
第3轮【行位移】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xac '?' | unsigned char | |
[0x00000001] | 0xcd '?' | unsigned char | |
[0x00000002] | 0x3d '=' | unsigned char | |
[0x00000003] | 0xcd '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x7b '{' | unsigned char | |
[0x00000001] | 0xcc '?' | unsigned char | |
[0x00000002] | 0x8f '?' | unsigned char | |
[0x00000003] | 0xb5 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "NXBJ... | unsigned char[0x00000004] |
[0x00000000] | 0x4e 'N' | unsigned char | |
[0x00000001] | 0x58 'X' | unsigned char | |
[0x00000002] | 0x42 'B' | unsigned char | |
[0x00000003] | 0x4a 'J' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x91 '?' | unsigned char | |
[0x00000001] | 0x45 'E' | unsigned char | |
[0x00000002] | 0x3e '>' | unsigned char | |
[0x00000003] | 0xda '?' | unsigned char |
第3轮【列混合】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x11 '\x11' | unsigned char | |
[0x00000001] | 0xd3 '?' | unsigned char | |
[0x00000002] | 0x8c '?' | unsigned char | |
[0x00000003] | 0xd5 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x19 '\x19' | unsigned char | |
[0x00000001] | 0xe3 '?' | unsigned char | |
[0x00000002] | 0xc0 '?' | unsigned char | |
[0x00000003] | 0xb8 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xe3 '?' | unsigned char | |
[0x00000001] | 0x7e '~' | unsigned char | |
[0x00000002] | 0x74 't' | unsigned char | |
[0x00000003] | 0x99 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xe3 '?' | unsigned char | |
[0x00000001] | 0x52 'R' | unsigned char | |
[0x00000002] | 0xf6 '?' | unsigned char | |
[0x00000003] | 0x1c '\x1c' | unsigned char |
第3轮【轮密钥加】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "攊... | unsigned char[0x00000004] |
[0x00000000] | 0x94 '?' | unsigned char | |
[0x00000001] | 0x69 'i' | unsigned char | |
[0x00000002] | 0xae '?' | unsigned char | |
[0x00000003] | 0xc5 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x92 '?' | unsigned char | |
[0x00000001] | 0x1a '\x1a' | unsigned char | |
[0x00000002] | 0x33 '3' | unsigned char | |
[0x00000003] | 0x37 '7' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "a=3\x10... | unsigned char[0x00000004] |
[0x00000000] | 0x61 'a' | unsigned char | |
[0x00000001] | 0x3d '=' | unsigned char | |
[0x00000002] | 0x33 '3' | unsigned char | |
[0x00000003] | 0x10 '\x10' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "开}#... | unsigned char[0x00000004] |
[0x00000000] | 0xbf '?' | unsigned char | |
[0x00000001] | 0xaa '?' | unsigned char | |
[0x00000002] | 0x7d '}' | unsigned char | |
[0x00000003] | 0x23 '#' | unsigned char |
第4轮【字节替换】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x22 '\"' | unsigned char | |
[0x00000001] | 0xf9 '?' | unsigned char | |
[0x00000002] | 0xe4 '?' | unsigned char | |
[0x00000003] | 0xa6 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x4f 'O' | unsigned char | |
[0x00000001] | 0xa2 '?' | unsigned char | |
[0x00000002] | 0xc3 '?' | unsigned char | |
[0x00000003] | 0x9a '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xef '?' | unsigned char | |
[0x00000001] | 0x27 ''' | unsigned char | |
[0x00000002] | 0xc3 '?' | unsigned char | |
[0x00000003] | 0xca '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x08 '\b' | unsigned char | |
[0x00000001] | 0xac '?' | unsigned char | |
[0x00000002] | 0xff '' | unsigned char | |
[0x00000003] | 0x26 '&' | unsigned char |
第4轮【行位移】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x22 '\"' | unsigned char | |
[0x00000001] | 0xf9 '?' | unsigned char | |
[0x00000002] | 0xe4 '?' | unsigned char | |
[0x00000003] | 0xa6 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "⒚歄... | unsigned char[0x00000004] |
[0x00000000] | 0xa2 '?' | unsigned char | |
[0x00000001] | 0xc3 '?' | unsigned char | |
[0x00000002] | 0x9a '?' | unsigned char | |
[0x00000003] | 0x4f 'O' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xc3 '?' | unsigned char | |
[0x00000001] | 0xca '?' | unsigned char | |
[0x00000002] | 0xef '?' | unsigned char | |
[0x00000003] | 0x27 ''' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x26 '&' | unsigned char | |
[0x00000001] | 0x08 '\b' | unsigned char | |
[0x00000002] | 0xac '?' | unsigned char | |
[0x00000003] | 0xff '' | unsigned char |
第4轮【列混合】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "\\u%^... | unsigned char[0x00000004] |
[0x00000000] | 0x5c '\\' | unsigned char | |
[0x00000001] | 0x75 'u' | unsigned char | |
[0x00000002] | 0x25 '%' | unsigned char | |
[0x00000003] | 0x5e '^' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x05 '\x5' | unsigned char | |
[0x00000001] | 0x29 ')' | unsigned char | |
[0x00000002] | 0x4d 'M' | unsigned char | |
[0x00000003] | 0xae '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x77 'w' | unsigned char | |
[0x00000001] | 0xad '?' | unsigned char | |
[0x00000002] | 0x54 'T' | unsigned char | |
[0x00000003] | 0xbd '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "K\t\x1|... | unsigned char[0x00000004] |
[0x00000000] | 0x4b 'K' | unsigned char | |
[0x00000001] | 0x09 '\t' | unsigned char | |
[0x00000002] | 0x01 '\x1' | unsigned char | |
[0x00000003] | 0x7c '|' | unsigned char |
第4轮【轮密钥加】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xa2 '?' | unsigned char | |
[0x00000001] | 0x31 '1' | unsigned char | |
[0x00000002] | 0x43 'C' | unsigned char | |
[0x00000003] | 0x28 '(' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 ")黭\a... | unsigned char[0x00000004] |
[0x00000000] | 0x29 ')' | unsigned char | |
[0x00000001] | 0xfc '?' | unsigned char | |
[0x00000002] | 0x6b 'k' | unsigned char | |
[0x00000003] | 0x07 '\a' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "€\x19... | unsigned char[0x00000004] |
[0x00000000] | 0x80 '€' | unsigned char | |
[0x00000001] | 0x19 '\x19' | unsigned char | |
[0x00000002] | 0xa7 '?' | unsigned char | |
[0x00000003] | 0xc7 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "輌洇... | unsigned char[0x00000004] |
[0x00000000] | 0xdd '?' | unsigned char | |
[0x00000001] | 0x67 'g' | unsigned char | |
[0x00000002] | 0xe4 '?' | unsigned char | |
[0x00000003] | 0xa6 '?' | unsigned char |
第5轮【字节替换】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x3a ':' | unsigned char | |
[0x00000001] | 0xc7 '?' | unsigned char | |
[0x00000002] | 0x1a '\x1a' | unsigned char | |
[0x00000003] | 0x34 '4' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xa5 '?' | unsigned char | |
[0x00000001] | 0xb0 '?' | unsigned char | |
[0x00000002] | 0x7f '' | unsigned char | |
[0x00000003] | 0xc5 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xcd '?' | unsigned char | |
[0x00000001] | 0xd4 '?' | unsigned char | |
[0x00000002] | 0x5c '\\' | unsigned char | |
[0x00000003] | 0xc6 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "羺i$... | unsigned char[0x00000004] |
[0x00000000] | 0xc1 '?' | unsigned char | |
[0x00000001] | 0x85 '?' | unsigned char | |
[0x00000002] | 0x69 'i' | unsigned char | |
[0x00000003] | 0x24 '$' | unsigned char |
第5轮【行位移】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x3a ':' | unsigned char | |
[0x00000001] | 0xc7 '?' | unsigned char | |
[0x00000002] | 0x1a '\x1a' | unsigned char | |
[0x00000003] | 0x34 '4' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xb0 '?' | unsigned char | |
[0x00000001] | 0x7f '' | unsigned char | |
[0x00000002] | 0xc5 '?' | unsigned char | |
[0x00000003] | 0xa5 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x5c '\\' | unsigned char | |
[0x00000001] | 0xc6 '?' | unsigned char | |
[0x00000002] | 0xcd '?' | unsigned char | |
[0x00000003] | 0xd4 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "$羺i... | unsigned char[0x00000004] |
[0x00000000] | 0x24 '$' | unsigned char | |
[0x00000001] | 0xc1 '?' | unsigned char | |
[0x00000002] | 0x85 '?' | unsigned char | |
[0x00000003] | 0x69 'i' | unsigned char |
第5轮【列混合】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xc7 '?' | unsigned char | |
[0x00000001] | 0x13 '\x13' | unsigned char | |
[0x00000002] | 0x28 '(' | unsigned char | |
[0x00000003] | 0x21 '!' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "仼Bk... | unsigned char[0x00000004] |
[0x00000000] | 0x81 '?' | unsigned char | |
[0x00000001] | 0xa9 '?' | unsigned char | |
[0x00000002] | 0x42 'B' | unsigned char | |
[0x00000003] | 0x6b 'k' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "^w蕶... | unsigned char[0x00000004] |
[0x00000000] | 0x5e '^' | unsigned char | |
[0x00000001] | 0x77 'w' | unsigned char | |
[0x00000002] | 0xca '?' | unsigned char | |
[0x00000003] | 0x99 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xea '?' | unsigned char | |
[0x00000001] | 0x72 'r' | unsigned char | |
[0x00000002] | 0x37 '7' | unsigned char | |
[0x00000003] | 0xff '' | unsigned char |
第5轮【轮密钥加】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "鷍7H... | unsigned char[0x00000004] |
[0x00000000] | 0xfa '?' | unsigned char | |
[0x00000001] | 0x6a 'j' | unsigned char | |
[0x00000002] | 0x37 '7' | unsigned char | |
[0x00000003] | 0x48 'H' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x77 'w' | unsigned char | |
[0x00000001] | 0x8a '?' | unsigned char | |
[0x00000002] | 0x47 'G' | unsigned char | |
[0x00000003] | 0xc7 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "-\x4... | unsigned char[0x00000004] |
[0x00000000] | 0xfe '?' | unsigned char | |
[0x00000001] | 0x63 'c' | unsigned char | |
[0x00000002] | 0x2d '-' | unsigned char | |
[0x00000003] | 0x04 '\x4' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x44 'D' | unsigned char | |
[0x00000001] | 0xb2 '?' | unsigned char | |
[0x00000002] | 0x12 '\x12' | unsigned char | |
[0x00000003] | 0x00 '\0' | unsigned char |
第6轮【字节替换】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "-\x2歊... | unsigned char[0x00000004] |
[0x00000000] | 0x2d '-' | unsigned char | |
[0x00000001] | 0x02 '\x2' | unsigned char | |
[0x00000002] | 0x9a '?' | unsigned char | |
[0x00000003] | 0x52 'R' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "鮺犉... | unsigned char[0x00000004] |
[0x00000000] | 0xf5 '?' | unsigned char | |
[0x00000001] | 0x7e '~' | unsigned char | |
[0x00000002] | 0xa0 '?' | unsigned char | |
[0x00000003] | 0xc6 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "畸仳... | unsigned char[0x00000004] |
[0x00000000] | 0xbb '?' | unsigned char | |
[0x00000001] | 0xfb '?' | unsigned char | |
[0x00000002] | 0xd8 '?' | unsigned char | |
[0x00000003] | 0xf2 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "\x1b7蒫... | unsigned char[0x00000004] |
[0x00000000] | 0x1b '\x1b' | unsigned char | |
[0x00000001] | 0x37 '7' | unsigned char | |
[0x00000002] | 0xc9 '?' | unsigned char | |
[0x00000003] | 0x63 'c' | unsigned char |
第6轮【行位移】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "-\x2歊... | unsigned char[0x00000004] |
[0x00000000] | 0x2d '-' | unsigned char | |
[0x00000001] | 0x02 '\x2' | unsigned char | |
[0x00000002] | 0x9a '?' | unsigned char | |
[0x00000003] | 0x52 'R' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x7e '~' | unsigned char | |
[0x00000001] | 0xa0 '?' | unsigned char | |
[0x00000002] | 0xc6 '?' | unsigned char | |
[0x00000003] | 0xf5 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "仳畸... | unsigned char[0x00000004] |
[0x00000000] | 0xd8 '?' | unsigned char | |
[0x00000001] | 0xf2 '?' | unsigned char | |
[0x00000002] | 0xbb '?' | unsigned char | |
[0x00000003] | 0xfb '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x1b '\x1b' | unsigned char | |
[0x00000002] | 0x37 '7' | unsigned char | |
[0x00000003] | 0xc9 '?' | unsigned char |
第6轮【列混合】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "c\x16驋... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0x16 '\x16' | unsigned char | |
[0x00000002] | 0xf2 '?' | unsigned char | |
[0x00000003] | 0x92 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "罯靯... | unsigned char[0x00000004] |
[0x00000000] | 0xc1 '?' | unsigned char | |
[0x00000001] | 0x4f 'O' | unsigned char | |
[0x00000002] | 0xec '?' | unsigned char | |
[0x00000003] | 0x7c '|' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "]ph\n... | unsigned char[0x00000004] |
[0x00000000] | 0x5d ']' | unsigned char | |
[0x00000001] | 0x70 'p' | unsigned char | |
[0x00000002] | 0x68 'h' | unsigned char | |
[0x00000003] | 0x0a '\n' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "\x17b... | unsigned char[0x00000004] |
[0x00000000] | 0x17 '\x17' | unsigned char | |
[0x00000001] | 0x62 'b' | unsigned char | |
[0x00000002] | 0xa6 '?' | unsigned char | |
[0x00000003] | 0x71 'q' | unsigned char |
第6轮【轮密钥加】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "镢\x18\x11... | unsigned char[0x00000004] |
[0x00000000] | 0xef '?' | unsigned char | |
[0x00000001] | 0xe3 '?' | unsigned char | |
[0x00000002] | 0x18 '\x18' | unsigned char | |
[0x00000003] | 0x11 '\x11' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "i腷^... | unsigned char[0x00000004] |
[0x00000000] | 0x69 'i' | unsigned char | |
[0x00000001] | 0xc4 '?' | unsigned char | |
[0x00000002] | 0x62 'b' | unsigned char | |
[0x00000003] | 0x5e '^' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xeb '?' | unsigned char | |
[0x00000001] | 0xd2 '?' | unsigned char | |
[0x00000002] | 0x2d '-' | unsigned char | |
[0x00000003] | 0xd2 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x40 '@' | unsigned char | |
[0x00000001] | 0xf5 '?' | unsigned char | |
[0x00000002] | 0x14 '\x14' | unsigned char | |
[0x00000003] | 0x3c '<' | unsigned char |
第7轮【字节替换】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xdf '?' | unsigned char | |
[0x00000001] | 0x11 '\x11' | unsigned char | |
[0x00000002] | 0xad '?' | unsigned char | |
[0x00000003] | 0x82 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xf9 '?' | unsigned char | |
[0x00000001] | 0x1c '\x1c' | unsigned char | |
[0x00000002] | 0xaa '?' | unsigned char | |
[0x00000003] | 0x58 'X' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "榈氐... | unsigned char[0x00000004] |
[0x00000000] | 0xe9 '?' | unsigned char | |
[0x00000001] | 0xb5 '?' | unsigned char | |
[0x00000002] | 0xd8 '?' | unsigned char | |
[0x00000003] | 0xb5 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x09 '\t' | unsigned char | |
[0x00000001] | 0xe6 '?' | unsigned char | |
[0x00000002] | 0xfa '?' | unsigned char | |
[0x00000003] | 0xeb '?' | unsigned char |
第7轮【行位移】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xdf '?' | unsigned char | |
[0x00000001] | 0x11 '\x11' | unsigned char | |
[0x00000002] | 0xad '?' | unsigned char | |
[0x00000003] | 0x82 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x1c '\x1c' | unsigned char | |
[0x00000001] | 0xaa '?' | unsigned char | |
[0x00000002] | 0x58 'X' | unsigned char | |
[0x00000003] | 0xf9 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "氐榈... | unsigned char[0x00000004] |
[0x00000000] | 0xd8 '?' | unsigned char | |
[0x00000001] | 0xb5 '?' | unsigned char | |
[0x00000002] | 0xe9 '?' | unsigned char | |
[0x00000003] | 0xb5 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xeb '?' | unsigned char | |
[0x00000001] | 0x09 '\t' | unsigned char | |
[0x00000002] | 0xe6 '?' | unsigned char | |
[0x00000003] | 0xfa '?' | unsigned char |
第7轮【列混合】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "瞷... | unsigned char[0x00000004] |
[0x00000000] | 0xb2 '?' | unsigned char | |
[0x00000001] | 0x7b '{' | unsigned char | |
[0x00000002] | 0xa6 '?' | unsigned char | |
[0x00000003] | 0x40 '@' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "撣U... | unsigned char[0x00000004] |
[0x00000000] | 0x7f '' | unsigned char | |
[0x00000001] | 0x93 '?' | unsigned char | |
[0x00000002] | 0xdb '?' | unsigned char | |
[0x00000003] | 0x55 'U' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x4e 'N' | unsigned char | |
[0x00000001] | 0xd1 '?' | unsigned char | |
[0x00000002] | 0x0d '\r' | unsigned char | |
[0x00000003] | 0x1f '\x1f' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x73 's' | unsigned char | |
[0x00000001] | 0x3e '>' | unsigned char | |
[0x00000002] | 0x8a '?' | unsigned char | |
[0x00000003] | 0x3e '>' | unsigned char |
第7轮【轮密钥加】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "硌鎯... | unsigned char[0x00000004] |
[0x00000000] | 0xed '?' | unsigned char | |
[0x00000001] | 0xd1 '?' | unsigned char | |
[0x00000002] | 0xe6 '?' | unsigned char | |
[0x00000003] | 0x83 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xb6 '?' | unsigned char | |
[0x00000001] | 0xd1 '?' | unsigned char | |
[0x00000002] | 0x17 '\x17' | unsigned char | |
[0x00000003] | 0xbb '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "\x1b&縰... | unsigned char[0x00000004] |
[0x00000000] | 0x1b '\x1b' | unsigned char | |
[0x00000001] | 0x26 '&' | unsigned char | |
[0x00000002] | 0xbf '?' | unsigned char | |
[0x00000003] | 0x75 'u' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xc8 '?' | unsigned char | |
[0x00000001] | 0x12 '\x12' | unsigned char | |
[0x00000002] | 0x14 '\x14' | unsigned char | |
[0x00000003] | 0xed '?' | unsigned char |
第8轮【字节替换】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "U>庫... | unsigned char[0x00000004] |
[0x00000000] | 0x55 'U' | unsigned char | |
[0x00000001] | 0x3e '>' | unsigned char | |
[0x00000002] | 0x8e '?' | unsigned char | |
[0x00000003] | 0xec '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "N>痍... | unsigned char[0x00000004] |
[0x00000000] | 0x4e 'N' | unsigned char | |
[0x00000001] | 0x3e '>' | unsigned char | |
[0x00000002] | 0xf0 '?' | unsigned char | |
[0x00000003] | 0xea '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xaf '?' | unsigned char | |
[0x00000001] | 0xf7 '?' | unsigned char | |
[0x00000002] | 0x08 '\b' | unsigned char | |
[0x00000003] | 0x9d '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "枭鶸... | unsigned char[0x00000004] |
[0x00000000] | 0xe8 '?' | unsigned char | |
[0x00000001] | 0xc9 '?' | unsigned char | |
[0x00000002] | 0xfa '?' | unsigned char | |
[0x00000003] | 0x55 'U' | unsigned char |
第8轮【行位移】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 "U>庫... | unsigned char[0x00000004] |
[0x00000000] | 0x55 'U' | unsigned char | |
[0x00000001] | 0x3e '>' | unsigned char | |
[0x00000002] | 0x8e '?' | unsigned char | |
[0x00000003] | 0xec '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 ">痍N... | unsigned char[0x00000004] |
[0x00000000] | 0x3e '>' | unsigned char | |
[0x00000001] | 0xf0 '?' | unsigned char | |
[0x00000002] | 0xea '?' | unsigned char | |
[0x00000003] | 0x4e 'N' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x08 '\b' | unsigned char | |
[0x00000001] | 0x9d '?' | unsigned char | |
[0x00000002] | 0xaf '?' | unsigned char | |
[0x00000003] | 0xf7 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x55 'U' | unsigned char | |
[0x00000001] | 0xe8 '?' | unsigned char | |
[0x00000002] | 0xc9 '?' | unsigned char | |
[0x00000003] | 0xfa '?' | unsigned char |
第8轮【列混合】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xb5 '?' | unsigned char | |
[0x00000001] | 0x02 '\x2' | unsigned char | |
[0x00000002] | 0x44 'D' | unsigned char | |
[0x00000003] | 0x1c '\x1c' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x64 'd' | unsigned char | |
[0x00000001] | 0x91 '?' | unsigned char | |
[0x00000002] | 0x62 'b' | unsigned char | |
[0x00000003] | 0x88 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 "勌aB... | unsigned char[0x00000004] |
[0x00000000] | 0x84 '?' | unsigned char | |
[0x00000001] | 0xcc '?' | unsigned char | |
[0x00000002] | 0x61 'a' | unsigned char | |
[0x00000003] | 0x42 'B' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "c銭y... | unsigned char[0x00000004] |
[0x00000000] | 0x63 'c' | unsigned char | |
[0x00000001] | 0xe4 '?' | unsigned char | |
[0x00000002] | 0x45 'E' | unsigned char | |
[0x00000003] | 0x79 'y' | unsigned char |
第8轮【轮密钥加】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x42 'B' | unsigned char | |
[0x00000001] | 0x5f '_' | unsigned char | |
[0x00000002] | 0x59 'Y' | unsigned char | |
[0x00000003] | 0xc2 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xaf '?' | unsigned char | |
[0x00000001] | 0x18 '\x18' | unsigned char | |
[0x00000002] | 0x27 ''' | unsigned char | |
[0x00000003] | 0x23 '#' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xb7 '?' | unsigned char | |
[0x00000001] | 0x08 '\b' | unsigned char | |
[0x00000002] | 0x17 '\x17' | unsigned char | |
[0x00000003] | 0x5e '^' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xf6 '?' | unsigned char | |
[0x00000001] | 0x5d ']' | unsigned char | |
[0x00000002] | 0x62 'b' | unsigned char | |
[0x00000003] | 0x8d '?' | unsigned char |
第9轮【字节替换】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 ",纤%... | unsigned char[0x00000004] |
[0x00000000] | 0x2c ',' | unsigned char | |
[0x00000001] | 0xcf '?' | unsigned char | |
[0x00000002] | 0xcb '?' | unsigned char | |
[0x00000003] | 0x25 '%' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "y&... | unsigned char[0x00000004] |
[0x00000000] | 0x79 'y' | unsigned char | |
[0x00000001] | 0xad '?' | unsigned char | |
[0x00000002] | 0xcc '?' | unsigned char | |
[0x00000003] | 0x26 '&' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xa9 '?' | unsigned char | |
[0x00000001] | 0x30 '0' | unsigned char | |
[0x00000002] | 0xf0 '?' | unsigned char | |
[0x00000003] | 0x58 'X' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "BL猐... | unsigned char[0x00000004] |
[0x00000000] | 0x42 'B' | unsigned char | |
[0x00000001] | 0x4c 'L' | unsigned char | |
[0x00000002] | 0xaa '?' | unsigned char | |
[0x00000003] | 0x5d ']' | unsigned char |
第9轮【行位移】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 ",纤%... | unsigned char[0x00000004] |
[0x00000000] | 0x2c ',' | unsigned char | |
[0x00000001] | 0xcf '?' | unsigned char | |
[0x00000002] | 0xcb '?' | unsigned char | |
[0x00000003] | 0x25 '%' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "&y... | unsigned char[0x00000004] |
[0x00000000] | 0xad '?' | unsigned char | |
[0x00000001] | 0xcc '?' | unsigned char | |
[0x00000002] | 0x26 '&' | unsigned char | |
[0x00000003] | 0x79 'y' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xf0 '?' | unsigned char | |
[0x00000001] | 0x58 'X' | unsigned char | |
[0x00000002] | 0xa9 '?' | unsigned char | |
[0x00000003] | 0x30 '0' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x5d ']' | unsigned char | |
[0x00000001] | 0x42 'B' | unsigned char | |
[0x00000002] | 0x4c 'L' | unsigned char | |
[0x00000003] | 0xaa '?' | unsigned char |
第9轮【列混合】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x19 '\x19' | unsigned char | |
[0x00000001] | 0xd0 '?' | unsigned char | |
[0x00000002] | 0x02 '\x2' | unsigned char | |
[0x00000003] | 0x5b '[' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x3b ';' | unsigned char | |
[0x00000001] | 0xe6 '?' | unsigned char | |
[0x00000002] | 0x2b '+' | unsigned char | |
[0x00000003] | 0x2d '-' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x9d '?' | unsigned char | |
[0x00000001] | 0x75 'u' | unsigned char | |
[0x00000002] | 0x70 'p' | unsigned char | |
[0x00000003] | 0xd9 '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c "揨Qi... | unsigned char[0x00000004] |
[0x00000000] | 0x93 '?' | unsigned char | |
[0x00000001] | 0x5a 'Z' | unsigned char | |
[0x00000002] | 0x51 'Q' | unsigned char | |
[0x00000003] | 0x69 'i' | unsigned char |
第9轮【轮密钥加】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x97 '?' | unsigned char | |
[0x00000001] | 0x03 '\x3' | unsigned char | |
[0x00000002] | 0xcc '?' | unsigned char | |
[0x00000003] | 0x4b 'K' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x6c 'l' | unsigned char | |
[0x00000001] | 0x38 '8' | unsigned char | |
[0x00000002] | 0xb0 '?' | unsigned char | |
[0x00000003] | 0x1d '\x1d' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x11 '\x11' | unsigned char | |
[0x00000001] | 0x3d '=' | unsigned char | |
[0x00000002] | 0x4e 'N' | unsigned char | |
[0x00000003] | 0xfb '?' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x1b '\x1b' | unsigned char | |
[0x00000001] | 0x6b 'k' | unsigned char | |
[0x00000002] | 0x47 'G' | unsigned char | |
[0x00000003] | 0x8b '?' | unsigned char |
第10轮【字节替换】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x88 '?' | unsigned char | |
[0x00000001] | 0x7b '{' | unsigned char | |
[0x00000002] | 0x4b 'K' | unsigned char | |
[0x00000003] | 0xb3 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "P\a绀... | unsigned char[0x00000004] |
[0x00000000] | 0x50 'P' | unsigned char | |
[0x00000001] | 0x07 '\a' | unsigned char | |
[0x00000002] | 0xe7 '?' | unsigned char | |
[0x00000003] | 0xa4 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x82 '?' | unsigned char | |
[0x00000001] | 0x27 ''' | unsigned char | |
[0x00000002] | 0x2f '/' | unsigned char | |
[0x00000003] | 0x0f '\xf' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xaf '?' | unsigned char | |
[0x00000001] | 0x7f '' | unsigned char | |
[0x00000002] | 0xa0 '?' | unsigned char | |
[0x00000003] | 0x3d '=' | unsigned char |
第10轮【行位移】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x88 '?' | unsigned char | |
[0x00000001] | 0x7b '{' | unsigned char | |
[0x00000002] | 0x4b 'K' | unsigned char | |
[0x00000003] | 0xb3 '?' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 "\a绀P... | unsigned char[0x00000004] |
[0x00000000] | 0x07 '\a' | unsigned char | |
[0x00000001] | 0xe7 '?' | unsigned char | |
[0x00000002] | 0xa4 '?' | unsigned char | |
[0x00000003] | 0x50 'P' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x2f '/' | unsigned char | |
[0x00000001] | 0x0f '\xf' | unsigned char | |
[0x00000002] | 0x82 '?' | unsigned char | |
[0x00000003] | 0x27 ''' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x3d '=' | unsigned char | |
[0x00000001] | 0xaf '?' | unsigned char | |
[0x00000002] | 0x7f '' | unsigned char | |
[0x00000003] | 0xa0 '?' | unsigned char |
第10轮【轮密钥加】执行完state[4][4]结果为
名称 | 值 | 类型 | |
---|---|---|---|
◢ | [0x00000000] | 0x002afa20 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x34 '4' | unsigned char | |
[0x00000001] | 0x14 '\x14' | unsigned char | |
[0x00000002] | 0xea '?' | unsigned char | |
[0x00000003] | 0x02 '\x2' | unsigned char | |
◢ | [0x00000001] | 0x002afa24 <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0xc3 '?' | unsigned char | |
[0x00000001] | 0xfd '?' | unsigned char | |
[0x00000002] | 0x25 '%' | unsigned char | |
[0x00000003] | 0xe1 '?' | unsigned char | |
◢ | [0x00000002] | 0x002afa28 ";S鄃... | unsigned char[0x00000004] |
[0x00000000] | 0x3b ';' | unsigned char | |
[0x00000001] | 0x53 'S' | unsigned char | |
[0x00000002] | 0xe0 '?' | unsigned char | |
[0x00000003] | 0x67 'g' | unsigned char | |
◢ | [0x00000003] | 0x002afa2c <字符串中的字符无效。> | unsigned char[0x00000004] |
[0x00000000] | 0x7f '' | unsigned char | |
[0x00000001] | 0xdc '?' | unsigned char | |
[0x00000002] | 0x1a '\x1a' | unsigned char | |
[0x00000003] | 0x27 ''' | unsigned char |
最后排布到一个数组中就是密文Cypher[16]
名称 | 值 | 类型 | |
---|---|---|---|
◢ | Cypher | 0x00f0c288 <字符串中的字符无效。> | unsigned char[0x00000010] |
[0x00000000] | 0x34 '4' | unsigned char | |
[0x00000001] | 0xc3 '?' | unsigned char | |
[0x00000002] | 0x3b ';' | unsigned char | |
[0x00000003] | 0x7f '' | unsigned char | |
[0x00000004] | 0x14 '\x14' | unsigned char | |
[0x00000005] | 0xfd '?' | unsigned char | |
[0x00000006] | 0x53 'S' | unsigned char | |
[0x00000007] | 0xdc '?' | unsigned char | |
[0x00000008] | 0xea '?' | unsigned char | |
[0x00000009] | 0x25 '%' | unsigned char | |
[0x0000000a] | 0xe0 '?' | unsigned char | |
[0x0000000b] | 0x1a '\x1a' | unsigned char | |
[0x0000000c] | 0x02 '\x2' | unsigned char | |
[0x0000000d] | 0xe1 '?' | unsigned char | |
[0x0000000e] | 0x67 'g' | unsigned char | |
[0x0000000f] | 0x27 ''' | unsigned char |
其实不用10轮全看,基本上前4轮结论都对那基本就没问题了,最后贴一张全流程图以供参考
AES128算法C语言实现(附每轮执行结果以供调试)相关推荐
- aes128算法c语言实现,AES128 C语言实现
轮密钥加/Add Round Key 铭文与密钥逐个进行异或 2. 字节代换/SubBytes 轮密钥加的结果带入sbox进行字节代换 const unsigned char sbox[256] = ...
- AES-128算法实现(附C++源码)
AES-128算法实现(附C++源码) 文章目录 AES-128算法实现(附C++源码) 前言 AES的算法流程 几个你会用到的常量 S盒 逆S盒 常量轮值表 密钥拓展 轮密钥加 字节代换 行移位 列 ...
- 孙玄辜教授:基于Linux内核的时间轮算法设计实现【附代码】
文章目录 1.时间轮算法基本思想 2.定时器的添加 3.定时器到期处理 孙玄:毕业于浙江大学,现任转转公司首席架构师,技术委员会主席,大中后台技术负责人(交易平台.基础服务.智能客服.基础架构.智能运 ...
- 10 种机器学习算法的要点(附 Python 和 R 代码)(转载)
10 种机器学习算法的要点(附 Python 和 R 代码)(转载) from:https://zhuanlan.zhihu.com/p/25273698 前言 谷歌董事长施密特曾说过:虽然谷歌的无人 ...
- SHA3系列(KECCAK)哈希算法原理及实现(附源码)
相关文章: (本文持续更新中) SHA3系列(KECCAK)哈希算法原理及实现(附源码) SHA512系列哈希算法原理及实现(附源码) SHA224和SHA256哈希算法原理及实现(附源码) 国密SM ...
- 相位 unwrap 与 wrap 算法详解(附代码)
相位 unwrap 与 wrap 算法详解(附代码) 最近接手了一个项目,光通信方面的,我负责编写初测结果的数据处理算法,其中有一个算法叫做 unwrap 与 wrap,之前没有听说过.通过询问同事与 ...
- 数据挖掘领域十大经典算法之—SVM算法(超详细附代码)
相关文章: 数据挖掘领域十大经典算法之-C4.5算法(超详细附代码) 数据挖掘领域十大经典算法之-K-Means算法(超详细附代码) 数据挖掘领域十大经典算法之-Apriori算法 数据挖掘领域十大经 ...
- DES算法 C语言实现
DES算法C语言实现 算法概述 DES算法是一种对称块加密方法,加密和解密都使用一个长度为64位的密钥.以64位为一个分组长度,对于每个分组,通过置换.Feistel轮函数.子密钥生成等一系列操作,输 ...
- 数据挖掘领域十大经典算法之—AdaBoost算法(超详细附代码)
相关文章: 数据挖掘领域十大经典算法之-C4.5算法(超详细附代码) 数据挖掘领域十大经典算法之-K-Means算法(超详细附代码) 数据挖掘领域十大经典算法之-SVM算法(超详细附代码) 数据挖掘领 ...
最新文章
- 有这么一群人,他们通过AI撬动世界!
- 大数据的“近因偏差”烦恼
- python如何进行数据抓取_如何进行手机APP的数据爬取?
- Shell脚本中的交互式命令处理
- 测试必知的150个Linux命令
- SAP CRM Attachment read - performance issue
- strange behavior:why u31000 is accessed for Extension project
- Linux sed命令完全攻略(超级详细)
- Ubuntu安装Atom编辑器
- Hadoop入门到精通(不断更新中。。。。)
- Java完全自学手册,从外包到大厂,再到年薪100万都靠它
- 嵌入式linux应用开发之常用shell脚本总结
- 【阿里开发规范】Java开发手册(嵩山版)
- 64位驱动 hp630打印机_HP LaserJet1010 打印机驱动win7 64位
- web前端网页制作课作业:使用HTML+CSS技术制作中华传统文化网站【文房四宝】学生网页设计作品 简单静态HTML网页作品
- 为什么计算机没有桌面显示不出来,我的电脑桌面不显示“我的电脑”了,请问怎么调出来?谢谢...
- php实现答题测试功能,PHP+MySQL实现在线测试答题实例
- Python求解平方怪圈问题
- Node+puppeteer学习笔记 (二)--环境搭建Win、MAC、Linux环境,以及使用Sublime Text3运行
- 看完了 2021 CSS 年度报告,我学到了啥?