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

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

?? aes.cs

?? 利用C#做的AES加密和解密的小程序
?? CS
?? 第 1 頁 / 共 2 頁
字號:
                    temp[r, c] = this.State[r, c];
                }
            }

            for (int r = 1; r < 4; r ++) //將變換后的數組temp復制給State
            {
                for (int c = 0; c < 4; c ++)
                {
                    this.State[r, c] = temp[r, (c + r) % 4];
                }
            }
        } 

        private void 逆ShiftRows()//對應于ShiftBows的逆操作
        {
            byte[,] temp = new byte[4, 4];
            for (int r = 0; r < 4; r ++)  
            {
                for (int c = 0; c < 4; c ++)
                {
                    temp[r, c] = this.State[r, c];
                }
            }
            for (int r = 1; r < 4; r ++)  
            {
                for (int c = 0; c < 4; c ++)
                {
                    this.State[r, (c + r) % 4] = temp[r, c];
                }
            }
        }  

        private void MixColumn()//書中算法3.5,對State的四列中的每一列進行操作
        {
            byte[,] temp = new byte[4, 4];
            for (int r = 0; r < 4; r ++)  
            {
                for (int c = 0; c < 4; c ++)
                {
                    temp[r, c] = this.State[r, c];
                }
            }

            for (int c = 0; c < 4; c ++)//do...for
            {
                this.State[0, c] = (byte)((int)Fieldmultby02(temp[0, c]) ^ (int)Fieldmultby03(temp[1, c]) ^
                                           (int)Fieldmultby01(temp[2, c]) ^ (int)Fieldmultby01(temp[3, c]));
                this.State[1, c] = (byte)((int)Fieldmultby01(temp[0, c]) ^ (int)Fieldmultby02(temp[1, c]) ^
                                           (int)Fieldmultby03(temp[2, c]) ^ (int)Fieldmultby01(temp[3, c]));
                this.State[2, c] = (byte)((int)Fieldmultby01(temp[0, c]) ^ (int)Fieldmultby01(temp[1, c]) ^
                                           (int)Fieldmultby02(temp[2, c]) ^ (int)Fieldmultby03(temp[3, c]));
                this.State[3, c] = (byte)((int)Fieldmultby03(temp[0, c]) ^ (int)Fieldmultby01(temp[1, c]) ^
                                           (int)Fieldmultby01(temp[2, c]) ^ (int)Fieldmultby02(temp[3, c]));
            }
        }  

        private void 逆MixColumn()//對應于MixColumn的逆運算
        {
            byte[,] temp = new byte[4, 4];
            for (int r = 0; r < 4; r ++)  
            {
                for (int c = 0; c < 4; c ++)
                {
                    temp[r, c] = this.State[r, c];
                }
            }

            for (int c = 0; c < 4; c ++)
            {
                this.State[0, c] = (byte)((int)Fieldmultby0e(temp[0, c]) ^ (int)Fieldmultby0b(temp[1, c]) ^
                                           (int)Fieldmultby0d(temp[2, c]) ^ (int)Fieldmultby09(temp[3, c]));
                this.State[1, c] = (byte)((int)Fieldmultby09(temp[0, c]) ^ (int)Fieldmultby0e(temp[1, c]) ^
                                           (int)Fieldmultby0b(temp[2, c]) ^ (int)Fieldmultby0d(temp[3, c]));
                this.State[2, c] = (byte)((int)Fieldmultby0d(temp[0, c]) ^ (int)Fieldmultby09(temp[1, c]) ^
                                           (int)Fieldmultby0e(temp[2, c]) ^ (int)Fieldmultby0b(temp[3, c]));
                this.State[3, c] = (byte)((int)Fieldmultby0b(temp[0, c]) ^ (int)Fieldmultby0d(temp[1, c]) ^
                                           (int)Fieldmultby09(temp[2, c]) ^ (int)Fieldmultby0e(temp[3, c]));
            }
        }
#region FieldMult
        private static byte Fieldmultby01(byte b)
        {
            return b;
        }

        private static byte Fieldmultby02(byte b)
        {
            if (b < 0x80)
                return (byte)(int)(b << 1);
            else
                return (byte)((int)(b << 1) ^ (int)(0x1b));
        }

        private static byte Fieldmultby03(byte b)
        {
            return (byte)((int)Fieldmultby02(b) ^ (int)b);
        }

        private static byte Fieldmultby09(byte b)
        {
            return (byte)((int)Fieldmultby02(Fieldmultby02(Fieldmultby02(b))) ^
                           (int)b);
        }

        private static byte Fieldmultby0b(byte b)
        {
            return (byte)((int)Fieldmultby02(Fieldmultby02(Fieldmultby02(b))) ^
                           (int)Fieldmultby02(b) ^
                           (int)b);
        }

        private static byte Fieldmultby0d(byte b)
        {
            return (byte)((int)Fieldmultby02(Fieldmultby02(Fieldmultby02(b))) ^
                           (int)Fieldmultby02(Fieldmultby02(b)) ^
                           (int)(b));
        }

        private static byte Fieldmultby0e(byte b)
        {
            return (byte)((int)Fieldmultby02(Fieldmultby02(Fieldmultby02(b))) ^
                           (int)Fieldmultby02(Fieldmultby02(b)) ^
                           (int)Fieldmultby02(b));
        }

#endregion
        private void KeyExpansion()//擴展密鑰操作
        {
            this.w = new byte[60 , 4];  //一個字由四個字節組成。書中算法3.6的for...do

            for (int row = 0; row < 8; row ++)//for...do
            {
                this.w[row, 0] = this.key[4 * row];
                this.w[row, 1] = this.key[4 * row + 1];
                this.w[row, 2] = this.key[4 * row + 2];
                this.w[row, 3] = this.key[4 * row + 3];
            }

            byte[] temp = new byte[4];

            for (int row = 8; row < 60; row ++)
            {
                temp[0] = this.w[row - 1, 0];
                temp[1] = this.w[row - 1, 1];
                temp[2] = this.w[row - 1, 2];
                temp[3] = this.w[row - 1, 3];

                if (row % 8 == 0)
                {
                    temp = SubWord(RotWord(temp));

                    temp[0] = (byte)((int)temp[0] ^ (int)this.Rcon[row / 8, 0]);
                    temp[1] = (byte)((int)temp[1] ^ (int)this.Rcon[row / 8, 1]);
                    temp[2] = (byte)((int)temp[2] ^ (int)this.Rcon[row / 8, 2]);
                    temp[3] = (byte)((int)temp[3] ^ (int)this.Rcon[row / 8, 3]);
                }
                else if (row % 8 == 4)
                {
                    temp = SubWord(temp);
                }

                
                this.w[row, 0] = (byte)((int)this.w[row - 8, 0] ^ (int)temp[0]);
                this.w[row, 1] = (byte)((int)this.w[row - 8, 1] ^ (int)temp[1]);
                this.w[row, 2] = (byte)((int)this.w[row - 8, 2] ^ (int)temp[2]);
                this.w[row, 3] = (byte)((int)this.w[row - 8, 3] ^ (int)temp[3]);

            } 
        }  

        private byte[] SubWord(byte[] word)//對四個字節使用AES的S盒
        {
            byte[] result = new byte[4];
            result[0] = this.Sbox[word[0] >> 4, word[0] & 0x0f];
            result[1] = this.Sbox[word[1] >> 4, word[1] & 0x0f];
            result[2] = this.Sbox[word[2] >> 4, word[2] & 0x0f];
            result[3] = this.Sbox[word[3] >> 4, word[3] & 0x0f];
            return result;
        }

        private byte[] RotWord(byte[] word)//RotWord對四個字節進行循環移位操作
        {
            byte[] result = new byte[4];
            result[0] = word[1];
            result[1] = word[2];
            result[2] = word[3];
            result[3] = word[0];
            return result;
        }     

    } 
}  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷久久一区二区三区麻豆| 色激情天天射综合网| 国产一区二区三区| 成人小视频在线| 在线免费不卡视频| 日韩欧美综合在线| 国产情人综合久久777777| 日韩一区中文字幕| 婷婷激情综合网| 成人激情免费视频| 91精品国产福利| 中文字幕在线不卡国产视频| 夜夜爽夜夜爽精品视频| 精品亚洲国内自在自线福利| 99热国产精品| 久久久久久毛片| 天堂一区二区在线| 91亚洲大成网污www| xnxx国产精品| 日韩国产精品91| 99免费精品在线观看| 国产亚洲午夜高清国产拍精品| 自拍偷拍国产亚洲| 偷拍亚洲欧洲综合| 欧美一级xxx| 懂色中文一区二区在线播放| 亚洲私人黄色宅男| 日韩一区二区三区免费看| 亚洲欧美区自拍先锋| 国产美女在线精品| 日韩一区二区在线看| 性做久久久久久久久| 日本高清成人免费播放| 综合婷婷亚洲小说| 国产69精品久久久久777| 日韩欧美国产麻豆| 久久久亚洲精品石原莉奈| 成人一级黄色片| 日本亚洲三级在线| 亚洲综合视频在线观看| 欧美一区二区三区啪啪| 国产精品久久国产精麻豆99网站| 亚洲国产精品久久一线不卡| 国产成人激情av| 精品国产制服丝袜高跟| 日韩精品每日更新| 91精品麻豆日日躁夜夜躁| 亚洲国产一区二区三区青草影视 | 性感美女极品91精品| 一区二区三区丝袜| 粉嫩蜜臀av国产精品网站| 亚洲gay无套男同| 中文字幕日本乱码精品影院| 精品少妇一区二区三区视频免付费| 成人avav影音| 成人自拍视频在线观看| 九色综合狠狠综合久久| 视频一区在线视频| 国产精品的网站| **欧美大码日韩| 国产精品欧美一区二区三区| 精品国产一区二区精华| 正在播放一区二区| 欧美精品欧美精品系列| 欧美日韩精品一区视频| 亚洲成av人片在www色猫咪| 国产精品亲子乱子伦xxxx裸| 成人av第一页| 日本欧美久久久久免费播放网| 久久男人中文字幕资源站| 亚洲一区二区在线观看视频| 欧美日韩在线免费视频| 亚洲国产日韩a在线播放性色| 欧美精品在线观看播放| 高清不卡在线观看| 日韩美女一区二区三区四区| 91精品国产综合久久久久久久久久| 日本中文字幕一区二区视频 | 日韩成人一区二区三区在线观看| 波多野结衣精品在线| 中文字幕在线播放不卡一区| 欧美色精品在线视频| 免费成人你懂的| 国产精品国产三级国产有无不卡 | 成人精品国产一区二区4080| 国产一区二区影院| 99国产精品视频免费观看| 欧美日韩一区二区在线观看| 日韩精品专区在线影院观看| 国产精品久久久久久久午夜片| 丝袜亚洲另类欧美| 国产精品一级黄| 日韩一区二区三区视频| 亚洲激情图片一区| 久久99精品一区二区三区| 在线亚洲免费视频| 国产精品久久久久永久免费观看 | 美女在线观看视频一区二区| 国产精品视频观看| 久久精品人人做| 中文字幕亚洲在| 日韩电影一区二区三区四区| 国产九九视频一区二区三区| av电影在线观看一区| 国产欧美一二三区| 亚洲品质自拍视频| 亚洲精品一区二区三区香蕉| 91香蕉视频黄| 懂色av一区二区三区免费看| 五月开心婷婷久久| 亚洲免费在线视频一区 二区| 亚洲欧美一区二区久久| 亚洲自拍偷拍综合| 蜜臀av性久久久久蜜臀aⅴ| 粉嫩久久99精品久久久久久夜| 9191成人精品久久| 亚洲欧洲日韩女同| 国产精品影视天天线| 欧美一区二区啪啪| 午夜av电影一区| 91免费观看国产| 久久久久久毛片| 国产精品自拍毛片| 26uuu国产电影一区二区| 天天色 色综合| 欧美日韩国产小视频| 亚洲国产日韩一级| 欧美一区二区在线看| 亚洲午夜影视影院在线观看| 波多野结衣欧美| 日韩一区在线播放| 欧美一区二区三区在线| 久久精品视频一区二区三区| 亚洲小少妇裸体bbw| 国产米奇在线777精品观看| 欧美日韩免费高清一区色橹橹| 99久久婷婷国产综合精品电影| 欧美一区二区三区免费视频| 国产精品电影一区二区| 日韩高清在线电影| 欧美一卡在线观看| 国产成人日日夜夜| 亚洲精选视频免费看| 精品精品欲导航| 成+人+亚洲+综合天堂| 欧美日韩美少妇| 国产人妖乱国产精品人妖| 国产成人在线视频播放| 亚洲福利一区二区| 欧美做爰猛烈大尺度电影无法无天| 亚洲四区在线观看| 欧美一区二视频| 国内成人自拍视频| 国产精品欧美综合在线| 欧美色偷偷大香| 国产999精品久久| 亚洲午夜久久久久中文字幕久| 宅男噜噜噜66一区二区66| 国产成人h网站| 日本成人在线电影网| 亚洲色图在线看| 欧美精品一区二区三区一线天视频 | 一道本成人在线| 国产乱对白刺激视频不卡| 亚洲午夜激情网站| 亚洲国产成人午夜在线一区 | 亚洲成av人影院| 中文字幕av不卡| 26uuu久久天堂性欧美| 91精品国产欧美日韩| 在线观看av不卡| 在线观看视频欧美| 99久久综合色| 97se亚洲国产综合自在线不卡| 韩国女主播一区二区三区| 日本亚洲天堂网| 精品一二三四区| 伦理电影国产精品| 国产一区不卡在线| 激情欧美一区二区三区在线观看| 毛片不卡一区二区| 国产精品自在在线| 成人一区二区视频| 菠萝蜜视频在线观看一区| 色综合天天综合色综合av| 欧美午夜电影在线播放| 欧美一级理论性理论a| 欧美成人bangbros| 亚洲欧美日韩久久精品| 夜夜亚洲天天久久| 国精品**一区二区三区在线蜜桃| 精品中文字幕一区二区| av高清久久久| 91麻豆精品国产91久久久久久久久 | 欧美精品日韩一区| 亚洲欧洲www| 蜜臀久久99精品久久久画质超高清| 国产91精品精华液一区二区三区 | 亚洲三级小视频| 日本不卡一区二区三区高清视频|