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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aestab.c

?? EJB,business logic 處理程序。 主要想找一點關于加密方面的程序。
?? C
字號:
/*
 ---------------------------------------------------------------------------
 Copyright (c) 2003, Dr Brian Gladman <brg@gladman.me.uk>, Worcester, UK.
 All rights reserved.

 LICENSE TERMS

 The free distribution and use of this software in both source and binary
 form is allowed (with or without changes) provided that:

   1. distributions of this source code include the above copyright
      notice, this list of conditions and the following disclaimer;

   2. distributions in binary form include the above copyright
      notice, this list of conditions and the following disclaimer
      in the documentation and/or other associated materials;

   3. the copyright holder's name is not used to endorse products
      built using this software without specific written permission.

 ALTERNATIVELY, provided that this notice is retained in full, this product
 may be distributed under the terms of the GNU General Public License (GPL),
 in which case the provisions of the GPL apply INSTEAD OF those given above.

 DISCLAIMER

 This software is provided 'as is' with no explicit or implied warranties
 in respect of its properties, including, but not limited to, correctness
 and/or fitness for purpose.
 ---------------------------------------------------------------------------
 Issue Date: 1/06/2003

*/

#if defined(__cplusplus)
extern "C"
{
#endif

#define DO_TABLES

#include "aesopt.h"

#if defined(FIXED_TABLES)

/* implemented in case of wrong call for fixed tables */

void gen_tabs(void)
{
}

#else   /* dynamic table generation */

#if !defined(FF_TABLES)

/*  Generate the tables for the dynamic table option

    It will generally be sensible to use tables to compute finite
    field multiplies and inverses but where memory is scarse this
    code might sometimes be better. But it only has effect during
    initialisation so its pretty unimportant in overall terms.
*/

/*  return 2 ^ (n - 1) where n is the bit number of the highest bit
    set in x with x in the range 1 < x < 0x00000200.   This form is
    used so that locals within fi can be bytes rather than words
*/

static aes_08t hibit(const aes_32t x)
{   aes_08t r = (aes_08t)((x >> 1) | (x >> 2));

    r |= (r >> 2);
    r |= (r >> 4);
    return (r + 1) >> 1;
}

/* return the inverse of the finite field element x */

static aes_08t fi(const aes_08t x)
{   aes_08t p1 = x, p2 = BPOLY, 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);
        }
    }
}

#endif

/* The forward and inverse affine transformations used in the S-box */

#define fwd_affine(x) \
    (w = (aes_32t)x, w ^= (w<<1)^(w<<2)^(w<<3)^(w<<4), 0x63^(aes_08t)(w^(w>>8)))

#define inv_affine(x) \
    (w = (aes_32t)x, w = (w<<1)^(w<<3)^(w<<6), 0x05^(aes_08t)(w^(w>>8)))

static int init = 0;

void gen_tabs(void)
{   aes_32t  i, w;

#if defined(FF_TABLES)

    aes_08t  pow[512], log[256];

    if(init) return;
    /*  log and power tables for GF(2^8) finite field with
        WPOLY as modular polynomial - the simplest primitive
        root is 0x03, used here to generate the tables
    */

    i = 0; w = 1;
    do
    {
        pow[i] = (aes_08t)w;
        pow[i + 255] = (aes_08t)w;
        log[w] = (aes_08t)i++;
        w ^=  (w << 1) ^ (w & 0x80 ? WPOLY : 0);
    }
    while (w != 1);

#else
    if(init) return;
#endif

    for(i = 0, w = 1; i < RC_LENGTH; ++i)
    {
        t_set(r,c)[i] = bytes2word(w, 0, 0, 0);
        w = f2(w);
    }

    for(i = 0; i < 256; ++i)
    {   aes_08t    b;

        b = fwd_affine(fi((aes_08t)i));
        w = bytes2word(f2(b), b, b, f3(b));

#ifdef  SBX_SET
        t_set(s,box)[i] = b;
#endif

#ifdef  FT1_SET                 /* tables for a normal encryption round */
        t_set(f,n)[i] = w;
#endif
#ifdef  FT4_SET
        t_set(f,n)[0][i] = w;
        t_set(f,n)[1][i] = upr(w,1);
        t_set(f,n)[2][i] = upr(w,2);
        t_set(f,n)[3][i] = upr(w,3);
#endif
        w = bytes2word(b, 0, 0, 0);

#ifdef  FL1_SET                 /* tables for last encryption round (may also   */
        t_set(f,l)[i] = w;        /* be used in the key schedule)                 */
#endif
#ifdef  FL4_SET
        t_set(f,l)[0][i] = w;
        t_set(f,l)[1][i] = upr(w,1);
        t_set(f,l)[2][i] = upr(w,2);
        t_set(f,l)[3][i] = upr(w,3);
#endif

#ifdef  LS1_SET                 /* table for key schedule if t_set(f,l) above is    */
        t_set(l,s)[i] = w;      /* not of the required form                     */
#endif
#ifdef  LS4_SET
        t_set(l,s)[0][i] = w;
        t_set(l,s)[1][i] = upr(w,1);
        t_set(l,s)[2][i] = upr(w,2);
        t_set(l,s)[3][i] = upr(w,3);
#endif

        b = fi(inv_affine((aes_08t)i));
        w = bytes2word(fe(b), f9(b), fd(b), fb(b));

#ifdef  IM1_SET                 /* tables for the inverse mix column operation  */
        t_set(i,m)[b] = w;
#endif
#ifdef  IM4_SET
        t_set(i,m)[0][b] = w;
        t_set(i,m)[1][b] = upr(w,1);
        t_set(i,m)[2][b] = upr(w,2);
        t_set(i,m)[3][b] = upr(w,3);
#endif

#ifdef  ISB_SET
        t_set(i,box)[i] = b;
#endif
#ifdef  IT1_SET                 /* tables for a normal decryption round */
        t_set(i,n)[i] = w;
#endif
#ifdef  IT4_SET
        t_set(i,n)[0][i] = w;
        t_set(i,n)[1][i] = upr(w,1);
        t_set(i,n)[2][i] = upr(w,2);
        t_set(i,n)[3][i] = upr(w,3);
#endif
        w = bytes2word(b, 0, 0, 0);
#ifdef  IL1_SET                 /* tables for last decryption round */
        t_set(i,l)[i] = w;
#endif
#ifdef  IL4_SET
        t_set(i,l)[0][i] = w;
        t_set(i,l)[1][i] = upr(w,1);
        t_set(i,l)[2][i] = upr(w,2);
        t_set(i,l)[3][i] = upr(w,3);
#endif
    }
    init = 1;
}

#endif

#if defined(__cplusplus)
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频欧美精品| 色婷婷综合在线| av中文字幕一区| 欧美一区二区三区男人的天堂| 精品欧美一区二区在线观看| 亚洲一区二区中文在线| 国产夫妻精品视频| 欧美一区二区三区免费观看视频| 中文字幕一区二区三区在线观看 | 国产欧美一区二区精品性| 亚洲精品国产第一综合99久久| 精品无码三级在线观看视频| 欧美日韩高清一区二区不卡| 亚洲人成影院在线观看| 国产精品99久久久久久宅男| 欧美一区二区三区日韩视频| 亚洲中国最大av网站| av电影在线观看完整版一区二区| 日韩你懂的在线观看| 午夜影视日本亚洲欧洲精品| 色狠狠一区二区| 最新热久久免费视频| 成人性生交大合| 国产亚洲短视频| 国产一区二区精品久久99| 欧美精品视频www在线观看| 亚洲精品网站在线观看| 不卡视频在线看| 中文字幕在线观看不卡视频| 成人午夜激情在线| 中文久久乱码一区二区| 国产一区二区在线免费观看| www成人在线观看| 国产一区免费电影| 337p粉嫩大胆噜噜噜噜噜91av | 国产一区二区不卡在线| 日韩欧美国产系列| 青青国产91久久久久久| 91麻豆精品国产91久久久久| 亚洲成av人片一区二区| 欧美老肥妇做.爰bbww视频| 天天综合色天天综合| 91精品国产麻豆国产自产在线| 爽好久久久欧美精品| 欧美一区二区三区免费观看视频 | 成人ar影院免费观看视频| 欧美国产精品中文字幕| yourporn久久国产精品| 一二三区精品福利视频| 在线成人av影院| 黄色日韩三级电影| 国产精品久久久久久久浪潮网站 | 亚洲精品成人天堂一二三| 色悠悠久久综合| 午夜视频一区二区| 欧美电影免费观看高清完整版 | 国产视频一区二区在线观看| 成人手机电影网| 亚洲黄色性网站| 日韩一区二区免费电影| 国产美女精品人人做人人爽| 国产精品视频免费看| 在线观看视频一区二区 | 精品久久久网站| 丁香网亚洲国际| 香蕉成人啪国产精品视频综合网| 欧美成人a∨高清免费观看| 成人动漫一区二区在线| 午夜精品久久久久久久蜜桃app| 久久影院电视剧免费观看| 91老司机福利 在线| 另类小说一区二区三区| 1024国产精品| xvideos.蜜桃一区二区| 欧洲av一区二区嗯嗯嗯啊| 国内精品免费**视频| 亚洲欧美偷拍另类a∨色屁股| 欧美一区二区三区免费视频| 99精品国产热久久91蜜凸| 蜜臀久久99精品久久久画质超高清| 亚洲国产成人私人影院tom| 欧美人动与zoxxxx乱| jizzjizzjizz欧美| 精品综合免费视频观看| 亚洲国产你懂的| 中文在线资源观看网站视频免费不卡| 欧美日韩黄色一区二区| 丁香啪啪综合成人亚洲小说| 日本亚洲天堂网| 亚洲综合一二三区| 亚洲视频狠狠干| 久久精品人人爽人人爽| 555www色欧美视频| 欧美视频一区二区在线观看| 粉嫩av一区二区三区粉嫩| 美女一区二区三区在线观看| 亚洲精品成a人| 中文字幕一区二区三区不卡在线| 精品剧情在线观看| 欧美一个色资源| 3d动漫精品啪啪一区二区竹菊| 91麻豆精品一区二区三区| 国产aⅴ精品一区二区三区色成熟| 日韩精品乱码av一区二区| 亚洲欧美国产77777| 欧美国产国产综合| 久久久国产综合精品女国产盗摄| 日韩视频免费观看高清在线视频| 欧美三级在线看| 欧美视频一区二| 欧美三级中文字幕在线观看| 在线视频一区二区三| 在线视频国产一区| 在线免费视频一区二区| 欧美在线观看你懂的| 欧美伊人久久大香线蕉综合69| 在线免费观看日本欧美| 欧美性猛交xxxxxx富婆| 欧美三级中文字幕在线观看| 911国产精品| 日韩美女视频一区二区在线观看| 欧美一卡2卡3卡4卡| 欧美成人vr18sexvr| 精品久久久久久综合日本欧美| 精品国产免费一区二区三区香蕉| 欧美mv日韩mv| 国产精品免费视频观看| 亚洲天堂2016| 亚洲一区二区三区不卡国产欧美| 伊人开心综合网| 日本中文字幕一区二区有限公司| 蜜臀av一级做a爰片久久| 韩国v欧美v亚洲v日本v| 成人精品免费网站| 欧美亚洲国产bt| 日韩精品中文字幕在线不卡尤物| 精品久久久三级丝袜| 中文字幕日韩av资源站| 亚洲国产一区二区视频| 久久精品国产精品青草| 国产一区二区中文字幕| 91麻豆swag| 91精品国产综合久久久久久| 久久久久亚洲蜜桃| 亚洲欧美日韩国产一区二区三区| 亚洲一级电影视频| 经典三级视频一区| 色婷婷国产精品| 欧美成人aa大片| 玉足女爽爽91| 国产一区二区不卡| 日本国产一区二区| 2欧美一区二区三区在线观看视频| 国产精品国产三级国产三级人妇 | 亚洲天堂精品在线观看| 天天亚洲美女在线视频| 国产成人在线视频免费播放| 91麻豆高清视频| 久久久一区二区三区捆绑**| 一区二区在线观看av| 久久99国产精品久久| 91丨porny丨中文| 精品美女一区二区三区| 亚洲午夜在线电影| youjizz国产精品| 欧美成人精品1314www| 一区二区三区精密机械公司| 国产一区二区三区最好精华液| 欧美午夜精品一区二区三区| 日本一二三不卡| 久久精品国产一区二区三区免费看| 成人ar影院免费观看视频| 精品国产乱码久久久久久夜甘婷婷| 一区二区三区四区蜜桃| 国产精品乡下勾搭老头1| 91精品久久久久久久久99蜜臂| 亚洲欧美综合色| 国产91综合网| 欧美mv日韩mv| 裸体一区二区三区| 欧美片在线播放| 一区二区欧美在线观看| 成人91在线观看| 国产欧美一区二区三区沐欲 | 成人福利视频网站| 精品国产一区二区精华| 日韩精品免费专区| 欧美另类一区二区三区| 亚洲一线二线三线视频| 91亚洲大成网污www| 欧美经典三级视频一区二区三区| 久久99久久99| 欧美电影免费观看高清完整版在 | 亚洲国产精品嫩草影院| 99麻豆久久久国产精品免费优播| 国产亚洲综合色| 国产成人激情av| 国产精品你懂的| 北岛玲一区二区三区四区| 国产精品乱码久久久久久|