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

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

?? aescrypp.c

?? 該文件屬于c++運行環境下AES加密程序源碼。
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
 -------------------------------------------------------------------------
 Copyright (c) 2001, Dr Brian Gladman <                 >, 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. 

 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 fitness for purpose.
 -------------------------------------------------------------------------
 Issue Date: 29/07/2002

 This file contains the code for implementing encryption and decryption
 for AES (Rijndael) for block and key sizes of 16, 20, 24, 28 and 32 bytes.
 It can optionally be replaced by code written in assembler using NASM.
*/

#include "aesopt.h"

#define unused  77  /* Sunset Strip */

#define si(y,x,k,c) s(y,c) = word_in(x + 4 * c) ^ k[c]
#define so(y,x,c)   word_out(y + 4 * c, s(x,c))

#if BLOCK_SIZE == 16

#if defined(ARRAYS)
#define locals(y,x)     x[4],y[4]
#else
#define locals(y,x)     x##0,x##1,x##2,x##3,y##0,y##1,y##2,y##3
 /* 
   the following defines prevent the compiler requiring the declaration
   of generated but unused variables in the fwd_var and inv_var macros
 */
#define b04 unused
#define b05 unused
#define b06 unused
#define b07 unused
#define b14 unused
#define b15 unused
#define b16 unused
#define b17 unused
#endif
#define l_copy(y, x)    s(y,0) = s(x,0); s(y,1) = s(x,1); \
                        s(y,2) = s(x,2); s(y,3) = s(x,3);
#define state_in(y,x,k) si(y,x,k,0); si(y,x,k,1); si(y,x,k,2); si(y,x,k,3)
#define state_out(y,x)  so(y,x,0); so(y,x,1); so(y,x,2); so(y,x,3)
#define round(rm,y,x,k) rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); rm(y,x,k,3)

#elif BLOCK_SIZE == 20

#if defined(ARRAYS)
#define locals(y,x)     x[5],y[5]
#else
#define locals(y,x)     x##0,x##1,x##2,x##3,x##4,y##0,y##1,y##2,y##3,y##4
#define b05 unused
#define b06 unused
#define b07 unused
#define b15 unused
#define b16 unused
#define b17 unused
#endif
#define l_copy(y, x)    s(y,0) = s(x,0); s(y,1) = s(x,1); \
                        s(y,2) = s(x,2); s(y,3) = s(x,3); s(y,4) = s(x,4); 
#define state_in(y,x,k) si(y,x,k,0); si(y,x,k,1); si(y,x,k,2); si(y,x,k,3); si(y,x,k,4)
#define state_out(y,x)  so(y,x,0); so(y,x,1); so(y,x,2); so(y,x,3); so(y,x,4)
#define round(rm,y,x,k) rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); rm(y,x,k,3); rm(y,x,k,4)

#elif BLOCK_SIZE == 24

#if defined(ARRAYS)
#define locals(y,x)     x[6],y[6]
#else
#define locals(y,x)     x##0,x##1,x##2,x##3,x##4,x##5, \
                        y##0,y##1,y##2,y##3,y##4,y##5
#define b06 unused
#define b07 unused
#define b16 unused
#define b17 unused
#endif
#define l_copy(y, x)    s(y,0) = s(x,0); s(y,1) = s(x,1); \
                        s(y,2) = s(x,2); s(y,3) = s(x,3); \
                        s(y,4) = s(x,4); s(y,5) = s(x,5);
#define state_in(y,x,k) si(y,x,k,0); si(y,x,k,1); si(y,x,k,2); \
                        si(y,x,k,3); si(y,x,k,4); si(y,x,k,5)
#define state_out(y,x)  so(y,x,0); so(y,x,1); so(y,x,2); \
                        so(y,x,3); so(y,x,4); so(y,x,5)
#define round(rm,y,x,k) rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); \
                        rm(y,x,k,3); rm(y,x,k,4); rm(y,x,k,5)

#elif BLOCK_SIZE == 28

#if defined(ARRAYS)
#define locals(y,x)     x[7],y[7]
#else
#define locals(y,x)     x##0,x##1,x##2,x##3,x##4,x##5,x##6 \
                        y##0,y##1,y##2,y##3,y##4,y##5,y##6
#define b07 unused
#define b17 unused
#endif
#define l_copy(y, x)    s(y,0) = s(x,0); s(y,1) = s(x,1); \
                        s(y,2) = s(x,2); s(y,3) = s(x,3); \
                        s(y,4) = s(x,4); s(y,5) = s(x,5);; s(y,6) = s(x,6);
#define state_in(y,x,k) si(y,x,k,0); si(y,x,k,1); si(y,x,k,2); \
                        si(y,x,k,3); si(y,x,k,4); si(y,x,k,5); si(y,x,k,6)
#define state_out(y,x)  so(y,x,0); so(y,x,1); so(y,x,2); \
                        so(y,x,3); so(y,x,4); so(y,x,5); so(y,x,6)
#define round(rm,y,x,k) rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); \
                        rm(y,x,k,3); rm(y,x,k,4); rm(y,x,k,5); rm(y,x,k,6)
#else

#if defined(ARRAYS)
#define locals(y,x)     x[8],y[8]
#else
#define locals(y,x)     x##0,x##1,x##2,x##3,x##4,x##5,x##6,x##7, \
                        y##0,y##1,y##2,y##3,y##4,y##5,y##6,y##7
#endif
#define l_copy(y, x)    s(y,0) = s(x,0); s(y,1) = s(x,1); \
                        s(y,2) = s(x,2); s(y,3) = s(x,3); \
                        s(y,4) = s(x,4); s(y,5) = s(x,5); \
                        s(y,6) = s(x,6); s(y,7) = s(x,7);

#if BLOCK_SIZE == 32

#define state_in(y,x,k) si(y,x,k,0); si(y,x,k,1); si(y,x,k,2); si(y,x,k,3); \
                        si(y,x,k,4); si(y,x,k,5); si(y,x,k,6); si(y,x,k,7)
#define state_out(y,x)  so(y,x,0); so(y,x,1); so(y,x,2); so(y,x,3); \
                        so(y,x,4); so(y,x,5); so(y,x,6); so(y,x,7)
#define round(rm,y,x,k) rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); rm(y,x,k,3); \
                        rm(y,x,k,4); rm(y,x,k,5); rm(y,x,k,6); rm(y,x,k,7)
#else

#define state_in(y,x,k) \
switch(nc) \
{   case 8: si(y,x,k,7); \
    case 7: si(y,x,k,6); \
    case 6: si(y,x,k,5); \
    case 5: si(y,x,k,4); \
    case 4: si(y,x,k,3); si(y,x,k,2); \
            si(y,x,k,1); si(y,x,k,0); \
}

#define state_out(y,x) \
switch(nc) \
{   case 8: so(y,x,7); \
    case 7: so(y,x,6); \
    case 6: so(y,x,5); \
    case 5: so(y,x,4); \
    case 4: so(y,x,3); so(y,x,2); \
            so(y,x,1); so(y,x,0); \
}

#if defined(FAST_VARIABLE)

#define round(rm,y,x,k) \
switch(nc) \
{   case 8: rm(y,x,k,7); rm(y,x,k,6); \
            rm(y,x,k,5); rm(y,x,k,4); \
            rm(y,x,k,3); rm(y,x,k,2); \
            rm(y,x,k,1); rm(y,x,k,0); \
            break; \
    case 7: rm(y,x,k,6); rm(y,x,k,5); \
            rm(y,x,k,4); rm(y,x,k,3); \
            rm(y,x,k,2); rm(y,x,k,1); \
            rm(y,x,k,0); \
            break; \
    case 6: rm(y,x,k,5); rm(y,x,k,4); \
            rm(y,x,k,3); rm(y,x,k,2); \
            rm(y,x,k,1); rm(y,x,k,0); \
            break; \
    case 5: rm(y,x,k,4); rm(y,x,k,3); \
            rm(y,x,k,2); rm(y,x,k,1); \
            rm(y,x,k,0); \
            break; \
    case 4: rm(y,x,k,3); rm(y,x,k,2); \
            rm(y,x,k,1); rm(y,x,k,0); \
            break; \
}
#else

#define round(rm,y,x,k) \
switch(nc) \
{   case 8: rm(y,x,k,7); \
    case 7: rm(y,x,k,6); \
    case 6: rm(y,x,k,5); \
    case 5: rm(y,x,k,4); \
    case 4: rm(y,x,k,3); rm(y,x,k,2); \
            rm(y,x,k,1); rm(y,x,k,0); \
}

#endif

#endif
#endif

#if defined(ENCRYPTION)

/* I am grateful to Frank Yellin for the following construction
   (and that for decryption) which, given the column (c) of the 
   output state variable, gives the input state variables which 
   are needed for each row (r) of the state.

   For the fixed block size options, compilers should reduce these 
   two expressions to fixed variable references. But for variable 
   block size code conditional clauses will sometimes be returned.

   y = output word, x = input word, r = row, c = column for r = 0, 
   1, 2 and 3 = column accessed for row r.
*/

#define fwd_var(x,r,c)\
 ( r == 0 ?           \
    ( c == 0 ? s(x,0) \
    : c == 1 ? s(x,1) \
    : c == 2 ? s(x,2) \
    : c == 3 ? s(x,3) \
    : c == 4 ? s(x,4) \
    : c == 5 ? s(x,5) \
    : c == 6 ? s(x,6) \
    :          s(x,7))\
 : r == 1 ?           \
    ( c == 0 ? s(x,1) \
    : c == 1 ? s(x,2) \
    : c == 2 ? s(x,3) \
    : c == 3 ? nc == 4 ? s(x,0) : s(x,4) \
    : c == 4 ? nc == 5 ? s(x,0) : s(x,5) \
    : c == 5 ? nc == 6 ? s(x,0) : s(x,6) \
    : c == 6 ? nc == 7 ? s(x,0) : s(x,7) \

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产精品自在自线| 国产欧美日本一区二区三区| 精品国产一区二区在线观看| 国产精品国产三级国产有无不卡| 午夜精品爽啪视频| 风间由美一区二区三区在线观看| 欧美男女性生活在线直播观看| 久久久高清一区二区三区| 日韩在线卡一卡二| 一本色道亚洲精品aⅴ| 国产欧美日韩久久| 日本一区中文字幕| 欧美视频在线一区| 亚洲视频一区在线| 东方欧美亚洲色图在线| 精品国产三级电影在线观看| 亚洲成人高清在线| 欧美在线一区二区| 亚洲欧美日韩国产综合在线| 成人激情动漫在线观看| 国产日韩欧美精品电影三级在线| 日本欧美一区二区| 在线成人高清不卡| 午夜成人免费视频| 欧美视频日韩视频| 亚洲福利电影网| 欧美视频你懂的| 亚洲成av人综合在线观看| 91九色02白丝porn| 亚洲一区视频在线观看视频| 欧美性极品少妇| 亚洲va韩国va欧美va| 欧美日韩免费高清一区色橹橹| 最新国产精品久久精品| 91免费版在线| 亚洲美女淫视频| 欧美色网站导航| 亚洲丰满少妇videoshd| 日韩一级欧美一级| 国内精品久久久久影院色| 精品国产网站在线观看| 高清不卡在线观看| 亚洲欧美日韩一区| 欧美喷潮久久久xxxxx| 日本成人在线电影网| 精品欧美一区二区三区精品久久| 蜜桃av一区二区| 久久品道一品道久久精品| 丁香激情综合国产| 一区二区在线观看免费| 91精品在线一区二区| 久久se精品一区精品二区| 亚洲一区二区视频| 日韩你懂的在线观看| 国产精品88av| 亚洲一区二区四区蜜桃| 91精品国产入口在线| 国产精品一区二区男女羞羞无遮挡| 欧美国产精品一区二区三区| 欧美亚洲国产怡红院影院| 日本特黄久久久高潮| 日本一区二区三区国色天香| 欧日韩精品视频| 久久99精品久久久久久动态图 | 91国偷自产一区二区使用方法| 一区二区三区波多野结衣在线观看| 欧美日韩二区三区| 国产精品91一区二区| 亚洲成人7777| 日本一区二区三区国色天香 | 精品99一区二区| 91欧美激情一区二区三区成人| 午夜精品福利一区二区三区蜜桃| 精品美女一区二区| 欧美亚日韩国产aⅴ精品中极品| 美美哒免费高清在线观看视频一区二区 | 日韩欧美www| 97久久超碰精品国产| 裸体一区二区三区| 樱桃国产成人精品视频| 久久先锋影音av鲁色资源网| 欧美在线一区二区三区| 成人av在线看| 国产一区二区三区| 日本人妖一区二区| 亚洲另类春色国产| 国产欧美日韩另类视频免费观看 | 在线日韩一区二区| 成人高清在线视频| 国内精品久久久久影院薰衣草| 爽好久久久欧美精品| 亚洲欧美区自拍先锋| 欧美国产日韩亚洲一区| 精品理论电影在线观看| 制服丝袜亚洲网站| 欧美午夜精品久久久| 偷窥国产亚洲免费视频| 精品精品欲导航| 日本视频中文字幕一区二区三区| 亚洲视频一区在线| 欧美高清在线一区| 一区二区三区四区乱视频| 中文字幕精品三区| 久久久www免费人成精品| 日韩免费看的电影| 日韩一区二区精品| 777奇米成人网| 911国产精品| 91麻豆精品国产91久久久久| 欧美四级电影网| 欧美三级视频在线观看| 色欧美乱欧美15图片| 一本一道久久a久久精品 | 在线观看区一区二| 色94色欧美sute亚洲13| 欧美伊人久久大香线蕉综合69| 91丝袜美女网| 在线免费不卡视频| 欧美视频一区二区| 91麻豆精品国产91久久久久久久久| 欧美精品精品一区| 日韩免费高清电影| 久久日韩精品一区二区五区| 久久久99精品免费观看| 国产精品少妇自拍| 136国产福利精品导航| 亚洲免费资源在线播放| 亚洲国产精品一区二区www在线| 亚洲.国产.中文慕字在线| 调教+趴+乳夹+国产+精品| 免费成人性网站| 国产成人av电影| 91福利资源站| 日韩欧美不卡在线观看视频| 国产欧美日韩精品a在线观看| 国产精品美女久久久久高潮| 亚洲人成在线观看一区二区| 亚洲成人久久影院| 国产一区久久久| 91美女在线视频| 欧美一级二级三级乱码| 国产欧美一区二区三区鸳鸯浴| 亚洲人成亚洲人成在线观看图片| 视频一区二区国产| 成人黄色小视频| 欧美日韩mp4| 国产日韩欧美麻豆| 午夜精品久久久久久久| 国产成人精品亚洲日本在线桃色 | 在线亚洲欧美专区二区| 欧美一区二区在线播放| 国产欧美日韩三级| 热久久国产精品| 99久久婷婷国产精品综合| 欧美日韩精品福利| 国产精品久久久久四虎| 日精品一区二区| 99久久国产免费看| 欧美videossexotv100| 亚洲美女视频一区| 国产精品夜夜嗨| 亚洲激情网站免费观看| 久久国产麻豆精品| 91国产丝袜在线播放| 国产日韩影视精品| 日本不卡视频在线观看| 91首页免费视频| 久久久精品tv| 久久国产精品免费| 欧美日韩一区二区三区不卡 | 成人一区二区三区视频在线观看| 欧美日韩大陆在线| 亚洲视频你懂的| 国产精品123| 欧美电影免费观看高清完整版在线 | 欧美三片在线视频观看| 中文字幕av在线一区二区三区| 喷水一区二区三区| 欧美三级日韩三级| 亚洲同性gay激情无套| 狠狠色丁香久久婷婷综| 日韩一区二区三免费高清| 亚洲一区二区三区小说| 色综合久久中文综合久久97| 国产亚洲人成网站| 韩日av一区二区| 欧美一级二级在线观看| 视频一区国产视频| 777亚洲妇女| 蜜臀a∨国产成人精品| 欧美日韩亚洲综合在线 | 欧美日韩久久一区| 亚洲男帅同性gay1069| 色综合久久综合| 一区二区三区久久| 欧美三级日韩三级国产三级| 亚洲国产精品一区二区久久恐怖片 | 久久久美女毛片| 国产一区二区三区蝌蚪| 久久久久成人黄色影片|