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

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

?? aes.c

?? CROSSCRYPT是FILEDISK的拓展
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* LibTomCrypt, modular cryptographic library -- Tom St Denis * * LibTomCrypt is a library that provides various cryptographic * algorithms in a highly modular and flexible manner. * * The library is free for all purposes without any express * gurantee it works. * * Tom St Denis, tomstdenis@iahu.ca, http://libtomcrypt.org *//* AES implementation by Tom St Denis * * Derived from the Public Domain source code by---  * rijndael-alg-fst.c  *  * @version 3.0 (December 2000)  *  * Optimised ANSI C code for the Rijndael cipher (now AES)  *  * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>  * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>  * @author Paulo Barreto <paulo.barreto@terra.com.br>---  modified by Stefan Scherrer to allow compilation under DDK */#include "tom.h"#pragma code_seg()#pragma data_seg()#define byte(x, n) ((unsigned char)((x) >> (8 * (n))))#if 0const struct _cipher_descriptor rijndael_desc ={    "rijndael",    6,    16, 32, 16, 10,    &rijndael_setup,    &rijndael_ecb_encrypt,    &rijndael_ecb_decrypt,    &rijndael_test,    &rijndael_keysize};const struct _cipher_descriptor aes_desc ={    "aes",    6,    16, 32, 16, 10,    &rijndael_setup,    &rijndael_ecb_encrypt,    &rijndael_ecb_decrypt,    &rijndael_test,    &rijndael_keysize};#endif#include "aes_tab.c"int rijndael_setup(const unsigned char *key, int keylen, int rounds, symmetric_key *skey){    int i, j;    ULONG32 temp, *rk, *rrk;    _ARGCHK(key != NULL);    _ARGCHK(skey != NULL);    if (keylen != 16 && keylen != 24 && keylen != 32) {       return CRYPT_INVALID_KEYSIZE;    }    if (rounds != 0 && rounds != (10 + ((keylen/8)-2)*2)) {       return CRYPT_INVALID_ROUNDS;    }    skey->rijndael.Nr = 10 + ((keylen/8)-2)*2;    /* setup the forward key */    i                 = 0;    rk                = skey->rijndael.eK;    LOAD32H(rk[0], key     );    LOAD32H(rk[1], key +  4);    LOAD32H(rk[2], key +  8);    LOAD32H(rk[3], key + 12);    if (keylen == 16) {        j = 44;        for (;;) {            temp  = rk[3];            rk[4] = rk[0] ^                (Te4_3[byte(temp, 2)]) ^                (Te4_2[byte(temp, 1)]) ^                (Te4_1[byte(temp, 0)]) ^                (Te4_0[byte(temp, 3)]) ^                rcon[i];            rk[5] = rk[1] ^ rk[4];            rk[6] = rk[2] ^ rk[5];            rk[7] = rk[3] ^ rk[6];            if (++i == 10) {               break;            }            rk += 4;        }    } else if (keylen == 24) {        j = 52;        LOAD32H(rk[4], key + 16);        LOAD32H(rk[5], key + 20);        for (;;) {        #ifdef _MSC_VER            temp = skey->rijndael.eK[rk - skey->rijndael.eK + 5];        #else            temp = rk[5];        #endif            rk[ 6] = rk[ 0] ^                (Te4_3[byte(temp, 2)]) ^                (Te4_2[byte(temp, 1)]) ^                (Te4_1[byte(temp, 0)]) ^                (Te4_0[byte(temp, 3)]) ^                rcon[i];            rk[ 7] = rk[ 1] ^ rk[ 6];            rk[ 8] = rk[ 2] ^ rk[ 7];            rk[ 9] = rk[ 3] ^ rk[ 8];            if (++i == 8) {                break;            }            rk[10] = rk[ 4] ^ rk[ 9];            rk[11] = rk[ 5] ^ rk[10];            rk += 6;        }    } else if (keylen == 32) {        j = 60;        LOAD32H(rk[4], key + 16);        LOAD32H(rk[5], key + 20);        LOAD32H(rk[6], key + 24);        LOAD32H(rk[7], key + 28);        for (;;) {        #ifdef _MSC_VER            temp = skey->rijndael.eK[rk - skey->rijndael.eK + 7];        #else            temp = rk[7];        #endif            rk[ 8] = rk[ 0] ^                (Te4_3[byte(temp, 2)]) ^                (Te4_2[byte(temp, 1)]) ^                (Te4_1[byte(temp, 0)]) ^                (Te4_0[byte(temp, 3)]) ^                rcon[i];            rk[ 9] = rk[ 1] ^ rk[ 8];            rk[10] = rk[ 2] ^ rk[ 9];            rk[11] = rk[ 3] ^ rk[10];            if (++i == 7) {                break;            }            temp = rk[11];            rk[12] = rk[ 4] ^                (Te4_3[byte(temp, 3)]) ^                (Te4_2[byte(temp, 2)]) ^                (Te4_1[byte(temp, 1)]) ^                (Te4_0[byte(temp, 0)]);            rk[13] = rk[ 5] ^ rk[12];            rk[14] = rk[ 6] ^ rk[13];            rk[15] = rk[ 7] ^ rk[14];            rk += 8;        }    } else {       /* this can't happen */       j = 4;    }    /* setup the inverse key now */    rk   = skey->rijndael.dK;    rrk  = skey->rijndael.eK + j - 4;    /* apply the inverse MixColumn transform to all round keys but the first and the last: */    /* copy first */    *rk++ = *rrk++;    *rk++ = *rrk++;    *rk++ = *rrk++;    *rk   = *rrk;    rk -= 3; rrk -= 3;    for (i = 1; i < skey->rijndael.Nr; i++) {        rrk -= 4;        rk  += 4;    #ifdef SMALL_CODE        temp = rrk[0];        rk[0] =            Td0[255 & Te4[byte(temp, 3)]] ^            Td1[255 & Te4[byte(temp, 2)]] ^            Td2[255 & Te4[byte(temp, 1)]] ^            Td3[255 & Te4[byte(temp, 0)]];        temp = rrk[1];        rk[1] =            Td0[255 & Te4[byte(temp, 3)]] ^            Td1[255 & Te4[byte(temp, 2)]] ^            Td2[255 & Te4[byte(temp, 1)]] ^            Td3[255 & Te4[byte(temp, 0)]];        temp = rrk[2];        rk[2] =            Td0[255 & Te4[byte(temp, 3)]] ^            Td1[255 & Te4[byte(temp, 2)]] ^            Td2[255 & Te4[byte(temp, 1)]] ^            Td3[255 & Te4[byte(temp, 0)]];        temp = rrk[3];        rk[3] =            Td0[255 & Te4[byte(temp, 3)]] ^            Td1[255 & Te4[byte(temp, 2)]] ^            Td2[255 & Te4[byte(temp, 1)]] ^            Td3[255 & Te4[byte(temp, 0)]];     #else        temp = rrk[0];        rk[0] =            Tks0[byte(temp, 3)] ^            Tks1[byte(temp, 2)] ^            Tks2[byte(temp, 1)] ^            Tks3[byte(temp, 0)];        temp = rrk[1];        rk[1] =            Tks0[byte(temp, 3)] ^            Tks1[byte(temp, 2)] ^            Tks2[byte(temp, 1)] ^            Tks3[byte(temp, 0)];        temp = rrk[2];        rk[2] =            Tks0[byte(temp, 3)] ^            Tks1[byte(temp, 2)] ^            Tks2[byte(temp, 1)] ^            Tks3[byte(temp, 0)];        temp = rrk[3];        rk[3] =            Tks0[byte(temp, 3)] ^            Tks1[byte(temp, 2)] ^            Tks2[byte(temp, 1)] ^            Tks3[byte(temp, 0)];      #endif    }    /* copy last */    rrk -= 4;    rk  += 4;    *rk++ = *rrk++;    *rk++ = *rrk++;    *rk++ = *rrk++;    *rk   = *rrk;    return CRYPT_OK;}#ifdef CLEAN_STACKstatic void _rijndael_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *skey)#elsevoid rijndael_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *skey)#endif{    ULONG32 s0, s1, s2, s3, t0, t1, t2, t3, *rk;    int Nr, r;    _ARGCHK(pt != NULL);    _ARGCHK(ct != NULL);    _ARGCHK(skey != NULL);    Nr = skey->rijndael.Nr;    rk = skey->rijndael.eK;    /*     * map byte array block to cipher state     * and add initial round key:     */    LOAD32H(s0, pt      ); s0 ^= rk[0];    LOAD32H(s1, pt  +  4); s1 ^= rk[1];    LOAD32H(s2, pt  +  8); s2 ^= rk[2];    LOAD32H(s3, pt  + 12); s3 ^= rk[3];    /*     * Nr - 1 full rounds:     */    r = Nr >> 1;    for (;;) {        t0 =            Te0[byte(s0, 3)] ^            Te1[byte(s1, 2)] ^            Te2[byte(s2, 1)] ^            Te3[byte(s3, 0)] ^            rk[4];        t1 =            Te0[byte(s1, 3)] ^            Te1[byte(s2, 2)] ^            Te2[byte(s3, 1)] ^            Te3[byte(s0, 0)] ^            rk[5];        t2 =            Te0[byte(s2, 3)] ^            Te1[byte(s3, 2)] ^            Te2[byte(s0, 1)] ^            Te3[byte(s1, 0)] ^            rk[6];        t3 =            Te0[byte(s3, 3)] ^            Te1[byte(s0, 2)] ^

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲婷婷在线视频| av一二三不卡影片| 成人免费电影视频| 91精品免费观看| 最近中文字幕一区二区三区| 黄色成人免费在线| 欧美性一区二区| 国产精品美女久久久久久久| 日韩国产欧美视频| 日本乱人伦一区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 久久精品国产秦先生| 欧美在线影院一区二区| 中文字幕一区二区三区四区不卡| 九一九一国产精品| 91精品一区二区三区久久久久久| 亚洲欧美日韩综合aⅴ视频| 国产在线看一区| 日韩欧美中文字幕制服| 午夜不卡av免费| 欧美系列亚洲系列| 亚洲综合免费观看高清完整版在线 | av不卡免费电影| 国产精品视频一二| 国产精品123区| 久久久不卡网国产精品二区| 极品销魂美女一区二区三区| 日韩女优毛片在线| 蜜桃视频免费观看一区| 538prom精品视频线放| 香蕉成人伊视频在线观看| 欧美主播一区二区三区| 亚洲一级不卡视频| 欧美制服丝袜第一页| 亚洲国产乱码最新视频| 欧美美女网站色| 日本亚洲天堂网| 欧美刺激午夜性久久久久久久| 麻豆91免费观看| 久久久精品tv| 91网站最新网址| 亚洲国产aⅴ成人精品无吗| 欧洲一区在线电影| 日韩av高清在线观看| 精品国内片67194| 国产成人夜色高潮福利影视| 综合久久综合久久| 欧美一a一片一级一片| 日本成人在线一区| 久久亚洲一级片| 99久久久精品免费观看国产蜜| 亚洲免费在线观看| 欧美高清你懂得| 国产精品一区二区三区网站| 国产精品网曝门| 欧美揉bbbbb揉bbbbb| 黄色日韩三级电影| 亚洲免费在线播放| 精品福利一区二区三区免费视频| 成人网页在线观看| 亚洲午夜久久久| 精品久久久久香蕉网| 色综合久久综合网| 麻豆精品国产91久久久久久| 欧美国产精品一区二区三区| 色国产精品一区在线观看| 青娱乐精品在线视频| 中文字幕一区二区视频| 911精品国产一区二区在线| 国产成人免费在线| 舔着乳尖日韩一区| 中文字幕精品三区| 日韩欧美区一区二| 色妞www精品视频| 精品一区二区免费| 亚洲午夜在线电影| 国产精品私房写真福利视频| 欧美一区二区私人影院日本| 不卡一区二区在线| 麻豆精品一区二区综合av| 亚洲欧美电影一区二区| 国产亚洲欧美日韩俺去了| 欧美精品日韩一本| 99精品国产91久久久久久| 久久精品久久精品| 亚洲777理论| 亚洲视频免费看| 中文av一区二区| 久久综合久久综合久久| 337p亚洲精品色噜噜狠狠| 色综合久久99| 成人国产精品免费观看| 国内精品免费**视频| 视频一区视频二区在线观看| 国产精品电影院| 久久久电影一区二区三区| 日韩精品专区在线影院观看| 精品视频免费在线| 色噜噜狠狠成人网p站| 成人激情综合网站| 国产成人在线免费| 国产伦精品一区二区三区免费| 日本欧洲一区二区| 日本伊人精品一区二区三区观看方式| 亚洲一区二三区| 亚洲一区二区欧美激情| 亚洲九九爱视频| 亚洲免费观看高清完整版在线观看| 26uuu国产一区二区三区| 日韩午夜激情av| 精品国产一二三| 精品盗摄一区二区三区| 日韩免费观看2025年上映的电影 | 国产做a爰片久久毛片| 日韩av中文字幕一区二区| 香蕉影视欧美成人| 免费成人小视频| 狠狠色狠狠色综合系列| 国产一区二区三区在线观看免费视频| 黄一区二区三区| 成人午夜激情在线| 97久久超碰国产精品| 色噜噜狠狠成人中文综合| 在线精品视频小说1| 欧美日韩亚洲国产综合| 777亚洲妇女| 欧美成人性福生活免费看| 国产亚洲一二三区| 亚洲欧洲一区二区在线播放| 一区二区三区精品视频在线| 婷婷六月综合亚洲| 久久 天天综合| 岛国av在线一区| 91国偷自产一区二区开放时间 | 久草在线在线精品观看| 国产iv一区二区三区| 91在线国产福利| 欧美精品1区2区| 国产视频一区不卡| 一区二区三区在线免费播放| 男人操女人的视频在线观看欧美| 国产乱码精品1区2区3区| 91在线国产观看| 日韩一区二区麻豆国产| 亚洲国产精品99久久久久久久久 | 欧美三级乱人伦电影| 日韩免费在线观看| 亚洲免费观看视频| 久久99这里只有精品| av爱爱亚洲一区| 日韩视频一区二区在线观看| 国产精品色在线观看| 日韩国产欧美三级| 99re热这里只有精品免费视频| 欧美日韩免费高清一区色橹橹| 久久综合久久久久88| 亚洲与欧洲av电影| 国产精品一二三在| 欧美美女bb生活片| 17c精品麻豆一区二区免费| 婷婷六月综合亚洲| 91一区一区三区| 久久综合久久综合久久综合| 亚洲高清中文字幕| 99视频精品在线| 精品成人佐山爱一区二区| 一区二区日韩av| 粉嫩高潮美女一区二区三区| 日韩一区二区精品| 亚洲综合在线免费观看| 国v精品久久久网| 日韩午夜精品电影| 婷婷中文字幕一区三区| 色婷婷综合激情| 国产精品护士白丝一区av| 国内成人免费视频| 在线播放中文字幕一区| 一区二区成人在线| av不卡一区二区三区| 欧美激情综合五月色丁香小说| 久久精品国产在热久久| 69av一区二区三区| 天天综合色天天综合色h| 91在线看国产| 亚洲精品精品亚洲| 91色porny| 亚洲欧洲国产专区| 97se亚洲国产综合自在线观| 国产精品少妇自拍| 成人一区在线观看| 国产精品欧美一区喷水| 懂色av一区二区三区蜜臀| 久久婷婷国产综合精品青草| 精品一区二区三区久久| 欧美videofree性高清杂交| 看片的网站亚洲| 久久综合九色综合欧美就去吻| 精品亚洲成a人| 久久五月婷婷丁香社区| 国产成人精品免费网站|