亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? aes.c

?? openswan
?? C
?? 第 1 頁 / 共 4 頁
字號:
{   unsigned char    p1 = x, p2 = 0x1b, n1 = hibit(x), n2 = 0x80, v1 = 1, v2 = 0;    if(x < 2) return x;    for(;;)    {        if(!n1) return v1;        while(n2 >= n1)        {               n2 /= n1; p2 ^= p1 * n2; v2 ^= v1 * n2; n2 = hibit(p2);        }                if(!n2) return v2;        while(n1 >= n2)        {               n1 /= n2; p1 ^= p2 * n1; v1 ^= v2 * n1; n1 = hibit(p1);        }    }}// define the finite field multiplies required for Rijndael#define FFmul02(x)  ((((x) & 0x7f) << 1) ^ ((x) & 0x80 ? 0x1b : 0))#define FFmul03(x)  ((x) ^ FFmul02(x))#define FFmul09(x)  ((x) ^ FFmul02(FFmul02(FFmul02(x))))#define FFmul0b(x)  ((x) ^ FFmul02((x) ^ FFmul02(FFmul02(x))))#define FFmul0d(x)  ((x) ^ FFmul02(FFmul02((x) ^ FFmul02(x))))#define FFmul0e(x)  FFmul02((x) ^ FFmul02((x) ^ FFmul02(x)))#else#define FFinv(x)    ((x) ? pow[255 - log[x]]: 0)#define FFmul02(x) (x ? pow[log[x] + 0x19] : 0)#define FFmul03(x) (x ? pow[log[x] + 0x01] : 0)#define FFmul09(x) (x ? pow[log[x] + 0xc7] : 0)#define FFmul0b(x) (x ? pow[log[x] + 0x68] : 0)#define FFmul0d(x) (x ? pow[log[x] + 0xee] : 0)#define FFmul0e(x) (x ? pow[log[x] + 0xdf] : 0)#endif// The forward and inverse affine transformations used in the S-box#define fwd_affine(x) \    (w = (u_int32_t)x, w ^= (w<<1)^(w<<2)^(w<<3)^(w<<4), 0x63^(unsigned char)(w^(w>>8)))#define inv_affine(x) \    (w = (u_int32_t)x, w = (w<<1)^(w<<3)^(w<<6), 0x05^(unsigned char)(w^(w>>8)))static void gen_tabs(void){   u_int32_t  i, w;#if defined(FF_TABLES)    unsigned char  pow[512], log[256];    // log and power tables for GF(2^8) finite field with    // 0x011b as modular polynomial - the simplest primitive    // root is 0x03, used here to generate the tables    i = 0; w = 1;     do    {           pow[i] = (unsigned char)w;        pow[i + 255] = (unsigned char)w;        log[w] = (unsigned char)i++;        w ^=  (w << 1) ^ (w & ff_hi ? ff_poly : 0);    }    while (w != 1);#endif    for(i = 0, w = 1; i < AES_RC_LENGTH; ++i)    {        rcon_tab[i] = bytes2word(w, 0, 0, 0);        w = (w << 1) ^ (w & ff_hi ? ff_poly : 0);    }    for(i = 0; i < 256; ++i)    {   unsigned char    b;        s_box[i] = b = fwd_affine(FFinv((unsigned char)i));        w = bytes2word(b, 0, 0, 0);#if defined(ONE_LR_TABLE)        fl_tab[i] = w;#elif defined(FOUR_LR_TABLES)        fl_tab[0][i] = w;        fl_tab[1][i] = upr(w,1);        fl_tab[2][i] = upr(w,2);        fl_tab[3][i] = upr(w,3);#endif        w = bytes2word(FFmul02(b), b, b, FFmul03(b));#if defined(ONE_TABLE)        ft_tab[i] = w;#elif defined(FOUR_TABLES)        ft_tab[0][i] = w;        ft_tab[1][i] = upr(w,1);        ft_tab[2][i] = upr(w,2);        ft_tab[3][i] = upr(w,3);#endif        inv_s_box[i] = b = FFinv(inv_affine((unsigned char)i));        w = bytes2word(b, 0, 0, 0);#if defined(ONE_LR_TABLE)        il_tab[i] = w;#elif defined(FOUR_LR_TABLES)        il_tab[0][i] = w;        il_tab[1][i] = upr(w,1);        il_tab[2][i] = upr(w,2);        il_tab[3][i] = upr(w,3);#endif        w = bytes2word(FFmul0e(b), FFmul09(b), FFmul0d(b), FFmul0b(b));#if defined(ONE_TABLE)        it_tab[i] = w;#elif defined(FOUR_TABLES)        it_tab[0][i] = w;        it_tab[1][i] = upr(w,1);        it_tab[2][i] = upr(w,2);        it_tab[3][i] = upr(w,3);#endif#if defined(ONE_IM_TABLE)        im_tab[b] = w;#elif defined(FOUR_IM_TABLES)        im_tab[0][b] = w;        im_tab[1][b] = upr(w,1);        im_tab[2][b] = upr(w,2);        im_tab[3][b] = upr(w,3);#endif    }}#endif#define no_table(x,box,vf,rf,c) bytes2word( \    box[bval(vf(x,0,c),rf(0,c))], \    box[bval(vf(x,1,c),rf(1,c))], \    box[bval(vf(x,2,c),rf(2,c))], \    box[bval(vf(x,3,c),rf(3,c))])#define one_table(x,op,tab,vf,rf,c) \ (     tab[bval(vf(x,0,c),rf(0,c))] \  ^ op(tab[bval(vf(x,1,c),rf(1,c))],1) \  ^ op(tab[bval(vf(x,2,c),rf(2,c))],2) \  ^ op(tab[bval(vf(x,3,c),rf(3,c))],3))#define four_tables(x,tab,vf,rf,c) \ (  tab[0][bval(vf(x,0,c),rf(0,c))] \  ^ tab[1][bval(vf(x,1,c),rf(1,c))] \  ^ tab[2][bval(vf(x,2,c),rf(2,c))] \  ^ tab[3][bval(vf(x,3,c),rf(3,c))])#define vf1(x,r,c)  (x)#define rf1(r,c)    (r)#define rf2(r,c)    ((r-c)&3)#if defined(FOUR_LR_TABLES)#define ls_box(x,c)     four_tables(x,fl_tab,vf1,rf2,c)#elif defined(ONE_LR_TABLE)#define ls_box(x,c)     one_table(x,upr,fl_tab,vf1,rf2,c)#else#define ls_box(x,c)     no_table(x,s_box,vf1,rf2,c)#endif#if defined(FOUR_IM_TABLES)#define inv_mcol(x)     four_tables(x,im_tab,vf1,rf1,0)#elif defined(ONE_IM_TABLE)#define inv_mcol(x)     one_table(x,upr,im_tab,vf1,rf1,0)#else#define inv_mcol(x) \    (f9 = (x),f2 = FFmulX(f9), f4 = FFmulX(f2), f8 = FFmulX(f4), f9 ^= f8, \    f2 ^= f4 ^ f8 ^ upr(f2 ^ f9,3) ^ upr(f4 ^ f9,2) ^ upr(f9,1))#endif// Subroutine to set the block size (if variable) in bytes, legal// values being 16, 24 and 32.#if defined(AES_BLOCK_SIZE)#define nc   (AES_BLOCK_SIZE / 4)#else#define nc   (cx->aes_Ncol)void aes_set_blk(aes_context *cx, int n_bytes){#if !defined(FIXED_TABLES)    if(!tab_gen) { gen_tabs(); tab_gen = 1; }#endif    switch(n_bytes) {    case 32:        /* bytes */    case 256:       /* bits */        nc = 8;        break;    case 24:        /* bytes */    case 192:       /* bits */        nc = 6;        break;    case 16:        /* bytes */    case 128:       /* bits */    default:        nc = 4;        break;    }}#endif// Initialise the key schedule from the user supplied key. The key// length is now specified in bytes - 16, 24 or 32 as appropriate.// This corresponds to bit lengths of 128, 192 and 256 bits, and// to Nk values of 4, 6 and 8 respectively.#define mx(t,f) (*t++ = inv_mcol(*f),f++)#define cp(t,f) *t++ = *f++#if   AES_BLOCK_SIZE == 16#define cpy(d,s)    cp(d,s); cp(d,s); cp(d,s); cp(d,s)#define mix(d,s)    mx(d,s); mx(d,s); mx(d,s); mx(d,s)#elif AES_BLOCK_SIZE == 24#define cpy(d,s)    cp(d,s); cp(d,s); cp(d,s); cp(d,s); \                    cp(d,s); cp(d,s)#define mix(d,s)    mx(d,s); mx(d,s); mx(d,s); mx(d,s); \                    mx(d,s); mx(d,s)#elif AES_BLOCK_SIZE == 32#define cpy(d,s)    cp(d,s); cp(d,s); cp(d,s); cp(d,s); \                    cp(d,s); cp(d,s); cp(d,s); cp(d,s)#define mix(d,s)    mx(d,s); mx(d,s); mx(d,s); mx(d,s); \                    mx(d,s); mx(d,s); mx(d,s); mx(d,s)#else#define cpy(d,s) \switch(nc) \{   case 8: cp(d,s); cp(d,s); \    case 6: cp(d,s); cp(d,s); \    case 4: cp(d,s); cp(d,s); \            cp(d,s); cp(d,s); \}#define mix(d,s) \switch(nc) \{   case 8: mx(d,s); mx(d,s); \    case 6: mx(d,s); mx(d,s); \    case 4: mx(d,s); mx(d,s); \            mx(d,s); mx(d,s); \}#endifvoid aes_set_key(aes_context *cx, const unsigned char in_key[], int n_bytes, const int f){   u_int32_t    *kf, *kt, rci;#if !defined(FIXED_TABLES)    if(!tab_gen) { gen_tabs(); tab_gen = 1; }#endif    switch(n_bytes) {    case 32:                    /* bytes */    case 256:                   /* bits */        cx->aes_Nkey = 8;        break;    case 24:                    /* bytes */    case 192:                   /* bits */        cx->aes_Nkey = 6;        break;    case 16:                    /* bytes */    case 128:                   /* bits */    default:        cx->aes_Nkey = 4;        break;    }    cx->aes_Nrnd = (cx->aes_Nkey > nc ? cx->aes_Nkey : nc) + 6;     cx->aes_e_key[0] = const_word_in(in_key     );    cx->aes_e_key[1] = const_word_in(in_key +  4);    cx->aes_e_key[2] = const_word_in(in_key +  8);    cx->aes_e_key[3] = const_word_in(in_key + 12);    kf = cx->aes_e_key;     kt = kf + nc * (cx->aes_Nrnd + 1) - cx->aes_Nkey;     rci = 0;    switch(cx->aes_Nkey)    {    case 4: do            {   kf[4] = kf[0] ^ ls_box(kf[3],3) ^ rcon_tab[rci++];                kf[5] = kf[1] ^ kf[4];                kf[6] = kf[2] ^ kf[5];                kf[7] = kf[3] ^ kf[6];                kf += 4;            }            while(kf < kt);            break;    case 6: cx->aes_e_key[4] = const_word_in(in_key + 16);            cx->aes_e_key[5] = const_word_in(in_key + 20);            do            {   kf[ 6] = kf[0] ^ ls_box(kf[5],3) ^ rcon_tab[rci++];                kf[ 7] = kf[1] ^ kf[ 6];                kf[ 8] = kf[2] ^ kf[ 7];                kf[ 9] = kf[3] ^ kf[ 8];                kf[10] = kf[4] ^ kf[ 9];                kf[11] = kf[5] ^ kf[10];                kf += 6;            }            while(kf < kt);            break;    case 8: cx->aes_e_key[4] = const_word_in(in_key + 16);            cx->aes_e_key[5] = const_word_in(in_key + 20);            cx->aes_e_key[6] = const_word_in(in_key + 24);            cx->aes_e_key[7] = const_word_in(in_key + 28);            do            {   kf[ 8] = kf[0] ^ ls_box(kf[7],3) ^ rcon_tab[rci++];                kf[ 9] = kf[1] ^ kf[ 8];                kf[10] = kf[2] ^ kf[ 9];                kf[11] = kf[3] ^ kf[10];                kf[12] = kf[4] ^ ls_box(kf[11],0);                kf[13] = kf[5] ^ kf[12];                kf[14] = kf[6] ^ kf[13];                kf[15] = kf[7] ^ kf[14];                kf += 8;            }            while (kf < kt);            break;    }    if(!f)    {   u_int32_t    i;                kt = cx->aes_d_key + nc * cx->aes_Nrnd;        kf = cx->aes_e_key;                cpy(kt, kf); kt -= 2 * nc;        for(i = 1; i < cx->aes_Nrnd; ++i)        { #if defined(ONE_TABLE) || defined(FOUR_TABLES)#if !defined(ONE_IM_TABLE) && !defined(FOUR_IM_TABLES)            u_int32_t    f2, f4, f8, f9;#endif            mix(kt, kf);#else            cpy(kt, kf);#endif            kt -= 2 * nc;        }                cpy(kt, kf);    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本特黄久久久高潮| 久久99久国产精品黄毛片色诱| 亚洲午夜国产一区99re久久| 中文字幕欧美日本乱码一线二线| 日韩视频一区二区在线观看| 欧美男生操女生| 久久精品夜色噜噜亚洲a∨| 中文字幕欧美日韩一区| 欧美激情一区在线| 国产精品卡一卡二卡三| 蜜桃视频免费观看一区| 懂色av一区二区三区免费观看| 暴力调教一区二区三区| 欧美成人官网二区| 国产日韩精品一区| 亚洲国产日韩在线一区模特| 国产在线播放一区| 欧美色手机在线观看| 欧美一区二区三区四区久久| 久久精品欧美日韩精品| 午夜精品123| 91在线精品秘密一区二区| 欧美亚洲尤物久久| 国产精品伦一区二区三级视频| 日韩高清不卡在线| 欧美婷婷六月丁香综合色| 精品国产电影一区二区| 亚洲三级理论片| 91美女视频网站| 国产精品嫩草99a| 国产精品资源站在线| 欧美精品黑人性xxxx| 一区二区三区欧美亚洲| 欧美日韩另类一区| 亚洲精品久久久蜜桃| 国产成人福利片| 亚洲一区二区在线视频| 粉嫩高潮美女一区二区三区| 在线观看日韩一区| 亚洲色图在线播放| 欧美日韩在线精品一区二区三区激情 | 精品久久久久久久久久久院品网 | 国产一区二区三区四区五区入口| 4438成人网| 日日欢夜夜爽一区| 91精品国产综合久久精品图片| 久久国产夜色精品鲁鲁99| 欧美一区二区日韩| 日韩电影在线看| 久久亚洲一级片| 一本大道av一区二区在线播放| 国产精品护士白丝一区av| 成人综合婷婷国产精品久久蜜臀| 一区二区三区四区在线免费观看 | 亚洲欧美日韩在线| 91精品国产91久久综合桃花 | 3atv一区二区三区| 成人激情小说乱人伦| 久久国产视频网| 亚洲激情校园春色| 日韩美女视频在线| 在线观看www91| 国产老肥熟一区二区三区| 夜夜揉揉日日人人青青一国产精品 | 欧美日韩国产在线播放网站| 婷婷中文字幕综合| 久久久午夜精品理论片中文字幕| 欧美中文字幕一二三区视频| 国产尤物一区二区在线| 国产精品国产三级国产| 精品国产三级电影在线观看| 欧美午夜精品久久久久久孕妇| 久久97超碰色| 日韩综合一区二区| 亚洲男人的天堂网| 亚洲乱码中文字幕| 欧美国产亚洲另类动漫| 日韩免费高清av| 欧美在线不卡一区| 在线精品视频小说1| aaa亚洲精品一二三区| www.欧美日韩| 国产成人综合自拍| 成人av免费在线| 91蜜桃网址入口| 欧美三级韩国三级日本三斤| 欧美性猛交xxxx乱大交退制版| 欧美亚洲一区二区在线观看| 欧美网站一区二区| 欧美精品一二三| 欧美精品v国产精品v日韩精品 | 中文字幕综合网| 中文字幕永久在线不卡| 亚洲一区日韩精品中文字幕| 蜜桃av一区二区| av一区二区久久| 91免费看视频| 欧美日韩aaaaaa| 中文av字幕一区| 亚洲成人一二三| 久久精品国产一区二区三区免费看| 精品一区二区三区欧美| 日本福利一区二区| 欧美电影精品一区二区| 欧美精品一区二区三区四区| 亚洲国产精品高清| 日韩成人一区二区| av在线播放不卡| 久久久久国产免费免费| 午夜婷婷国产麻豆精品| 成人丝袜18视频在线观看| 欧美日韩电影一区| 日韩一区欧美一区| 国产精品一级片在线观看| 欧美精品在线一区二区三区| 国产精品久久久久久久岛一牛影视| 极品少妇一区二区| 欧美一区二区人人喊爽| 亚洲精品亚洲人成人网| 在线观看免费亚洲| 亚洲综合在线观看视频| 国产.欧美.日韩| 欧美国产日韩精品免费观看| 成人在线视频一区二区| 欧美精品一区二区不卡| 青草国产精品久久久久久| 欧美一区二区三区四区视频| 五月天激情综合网| 51精品国自产在线| 视频一区国产视频| 欧美男人的天堂一二区| 日韩精彩视频在线观看| 欧美电影影音先锋| 另类小说欧美激情| 欧美国产日本视频| 成人国产视频在线观看| 亚洲三级在线观看| 91精品蜜臀在线一区尤物| 奇米影视在线99精品| 日韩欧美激情在线| 成人午夜私人影院| 亚洲mv在线观看| 国产日韩精品一区二区三区| 91在线视频播放| 日韩av电影免费观看高清完整版 | 亚洲精品国产a| 欧美一二三区在线观看| 国产成人精品免费视频网站| 亚洲综合在线免费观看| 久久免费视频色| 欧美体内she精视频| 国产精品996| 三级久久三级久久| 亚洲丝袜另类动漫二区| 日韩一级精品视频在线观看| 成人中文字幕合集| 精品影院一区二区久久久| 一区二区日韩av| 日本一区二区三区免费乱视频| 91免费视频观看| 成人免费看视频| 精品综合免费视频观看| 亚洲午夜免费福利视频| 综合久久国产九一剧情麻豆| 日韩精品中文字幕在线不卡尤物| 91小视频在线免费看| 成人精品鲁一区一区二区| 麻豆国产一区二区| 日本女人一区二区三区| 亚洲欧美另类久久久精品2019| 国产午夜精品一区二区三区嫩草| 91黄色小视频| 欧美亚洲国产一区在线观看网站 | 综合分类小说区另类春色亚洲小说欧美| 在线观看一区二区视频| 成人av手机在线观看| 国产成人99久久亚洲综合精品| 国产中文字幕精品| 日本不卡视频一二三区| 蜜桃av一区二区| 国产在线看一区| 成人免费观看视频| 97精品久久久久中文字幕| 日本久久电影网| 欧美精品一二三区| 久久色.com| 亚洲三级在线免费观看| 奇米色777欧美一区二区| 久久国产乱子精品免费女| 久久精品av麻豆的观看方式| 国产精品91一区二区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美一级理论性理论a| 中文字幕日韩av资源站| 奇米精品一区二区三区在线观看| 国产精品自在在线| 欧美在线999| 精品国产免费视频| 亚洲天堂免费看| 久久av老司机精品网站导航|