关于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语言实现(附每轮执行结果以供调试)相关推荐

  1. aes128算法c语言实现,AES128 C语言实现

    轮密钥加/Add Round Key 铭文与密钥逐个进行异或 2. 字节代换/SubBytes 轮密钥加的结果带入sbox进行字节代换 const unsigned char sbox[256] = ...

  2. AES-128算法实现(附C++源码)

    AES-128算法实现(附C++源码) 文章目录 AES-128算法实现(附C++源码) 前言 AES的算法流程 几个你会用到的常量 S盒 逆S盒 常量轮值表 密钥拓展 轮密钥加 字节代换 行移位 列 ...

  3. 孙玄辜教授:基于Linux内核的时间轮算法设计实现【附代码】

    文章目录 1.时间轮算法基本思想 2.定时器的添加 3.定时器到期处理 孙玄:毕业于浙江大学,现任转转公司首席架构师,技术委员会主席,大中后台技术负责人(交易平台.基础服务.智能客服.基础架构.智能运 ...

  4. 10 种机器学习算法的要点(附 Python 和 R 代码)(转载)

    10 种机器学习算法的要点(附 Python 和 R 代码)(转载) from:https://zhuanlan.zhihu.com/p/25273698 前言 谷歌董事长施密特曾说过:虽然谷歌的无人 ...

  5. SHA3系列(KECCAK)哈希算法原理及实现(附源码)

    相关文章: (本文持续更新中) SHA3系列(KECCAK)哈希算法原理及实现(附源码) SHA512系列哈希算法原理及实现(附源码) SHA224和SHA256哈希算法原理及实现(附源码) 国密SM ...

  6. 相位 unwrap 与 wrap 算法详解(附代码)

    相位 unwrap 与 wrap 算法详解(附代码) 最近接手了一个项目,光通信方面的,我负责编写初测结果的数据处理算法,其中有一个算法叫做 unwrap 与 wrap,之前没有听说过.通过询问同事与 ...

  7. 数据挖掘领域十大经典算法之—SVM算法(超详细附代码)

    相关文章: 数据挖掘领域十大经典算法之-C4.5算法(超详细附代码) 数据挖掘领域十大经典算法之-K-Means算法(超详细附代码) 数据挖掘领域十大经典算法之-Apriori算法 数据挖掘领域十大经 ...

  8. DES算法 C语言实现

    DES算法C语言实现 算法概述 DES算法是一种对称块加密方法,加密和解密都使用一个长度为64位的密钥.以64位为一个分组长度,对于每个分组,通过置换.Feistel轮函数.子密钥生成等一系列操作,输 ...

  9. 数据挖掘领域十大经典算法之—AdaBoost算法(超详细附代码)

    相关文章: 数据挖掘领域十大经典算法之-C4.5算法(超详细附代码) 数据挖掘领域十大经典算法之-K-Means算法(超详细附代码) 数据挖掘领域十大经典算法之-SVM算法(超详细附代码) 数据挖掘领 ...

最新文章

  1. 有这么一群人,他们通过AI撬动世界!
  2. 大数据的“近因偏差”烦恼
  3. python如何进行数据抓取_如何进行手机APP的数据爬取?
  4. Shell脚本中的交互式命令处理
  5. 测试必知的150个Linux命令
  6. SAP CRM Attachment read - performance issue
  7. strange behavior:why u31000 is accessed for Extension project
  8. Linux sed命令完全攻略(超级详细)
  9. Ubuntu安装Atom编辑器
  10. Hadoop入门到精通(不断更新中。。。。)
  11. Java完全自学手册,从外包到大厂,再到年薪100万都靠它
  12. 嵌入式linux应用开发之常用shell脚本总结
  13. 【阿里开发规范】Java开发手册(嵩山版)
  14. 64位驱动 hp630打印机_HP LaserJet1010 打印机驱动win7 64位
  15. web前端网页制作课作业:使用HTML+CSS技术制作中华传统文化网站【文房四宝】学生网页设计作品 简单静态HTML网页作品
  16. 为什么计算机没有桌面显示不出来,我的电脑桌面不显示“我的电脑”了,请问怎么调出来?谢谢...
  17. php实现答题测试功能,PHP+MySQL实现在线测试答题实例
  18. Python求解平方怪圈问题
  19. Node+puppeteer学习笔记 (二)--环境搭建Win、MAC、Linux环境,以及使用Sublime Text3运行
  20. 看完了 2021 CSS 年度报告,我学到了啥?

热门文章

  1. 如何免费进行图片压缩
  2. HAL库的RCC简介
  3. w10系统打不开服务器共享打印机,w10连接共享打印机提示无法访问的详细解决办法【图文】...
  4. IDEA打包war包与war包位置
  5. Excel VBA中如何支持复数计算?
  6. 2.ADS操作入门_线性/非线性仿真工具
  7. Lua程序设计(三)面向对象实现一个简单的类
  8. mapreduce程序如何跳过待处理文件的首行
  9. 希望所有计算机专业同学看到这篇大一规划
  10. android单元测试demo,android单元测试AndroidTestCase