📄 aeskeytest.as
字号:
/**
* AESKeyTest
*
* A test class for AESKey
* Copyright (c) 2007 Henri Torgemane
*
* See LICENSE.txt for full license information.
*/
package com.hurlant.crypto.tests
{
import com.hurlant.crypto.prng.Random;
import com.hurlant.crypto.symmetric.AESKey;
import com.hurlant.crypto.symmetric.ECBMode;
import com.hurlant.util.Hex;
import flash.utils.ByteArray;
import flash.utils.getTimer;
public class AESKeyTest extends TestCase
{
public function AESKeyTest(h:ITestHarness) {
super(h, "AESKey Test");
runTest(testGetBlockSize, "AES Block Size");
runTest(testECB_TBL, "AES ECB Test Vectors");
h.endTestCase();
}
public function testGetBlockSize():void {
var key:ByteArray = new ByteArray;
for (var i:uint=0;i<32;i++) {
key[i]=i;
}
var k:AESKey = new AESKey(key);
assert("128bit block size", k.getBlockSize()==16);
}
/**
* http://csrc.nist.gov/encryption/aes/rijndael/rijndael-vals.zip
* this uses ecb_tbl.txt
* we test encryption and decryption with keys of length 128,192,256 bits.
*/
public function testECB_TBL():void {
var keys:Array = [
"00010203050607080A0B0C0D0F101112",
"14151617191A1B1C1E1F202123242526",
"28292A2B2D2E2F30323334353738393A",
"3C3D3E3F41424344464748494B4C4D4E",
"50515253555657585A5B5C5D5F606162",
"64656667696A6B6C6E6F707173747576",
"78797A7B7D7E7F80828384858788898A",
"8C8D8E8F91929394969798999B9C9D9E",
"A0A1A2A3A5A6A7A8AAABACADAFB0B1B2",
"B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6",
"C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA",
"DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE",
"F0F1F2F3F5F6F7F8FAFBFCFDFE010002",
"04050607090A0B0C0E0F101113141516",
"2C2D2E2F31323334363738393B3C3D3E",
"40414243454647484A4B4C4D4F505152",
"54555657595A5B5C5E5F606163646566",
"68696A6B6D6E6F70727374757778797A",
"7C7D7E7F81828384868788898B8C8D8E",
"A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6",
"E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2",
"08090A0B0D0E0F10121314151718191A",
"6C6D6E6F71727374767778797B7C7D7E",
"80818283858687888A8B8C8D8F909192",
"94959697999A9B9C9E9FA0A1A3A4A5A6",
"A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA",
"BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE",
"D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2",
"E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6",
"F8F9FAFBFDFEFE00020304050708090A",
"0C0D0E0F11121314161718191B1C1D1E",
"20212223252627282A2B2C2D2F303132",
"34353637393A3B3C3E3F404143444546",
"48494A4B4D4E4F50525354555758595A",
"5C5D5E5F61626364666768696B6C6D6E",
"70717273757677787A7B7C7D7F808182",
"84858687898A8B8C8E8F909193949596",
"98999A9B9D9E9FA0A2A3A4A5A7A8A9AA",
"ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE",
"C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2",
"D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6",
"E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FA",
"FCFDFEFF01020304060708090B0C0D0E",
"10111213151617181A1B1C1D1F202122",
"24252627292A2B2C2E2F303133343536",
"38393A3B3D3E3F40424344454748494A",
"4C4D4E4F51525354565758595B5C5D5E",
"60616263656667686A6B6C6D6F707172",
"74757677797A7B7C7E7F808183848586",
"88898A8B8D8E8F90929394959798999A",
"9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE",
"B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2",
"C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6",
"D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EA",
"ECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE",
"00010203050607080A0B0C0D0F101112",
"14151617191A1B1C1E1F202123242526",
"28292A2B2D2E2F30323334353738393A",
"3C3D3E3F41424344464748494B4C4D4E",
"50515253555657585A5B5C5D5F606162",
"64656667696A6B6C6E6F707173747576",
"78797A7B7D7E7F80828384858788898A",
"8C8D8E8F91929394969798999B9C9D9E",
"A0A1A2A3A5A6A7A8AAABACADAFB0B1B2",
"B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6",
"C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA",
"DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE",
"F0F1F2F3F5F6F7F8FAFBFCFDFE010002",
"04050607090A0B0C0E0F101113141516",
"18191A1B1D1E1F20222324252728292A",
"2C2D2E2F31323334363738393B3C3D3E",
"40414243454647484A4B4C4D4F505152",
"54555657595A5B5C5E5F606163646566",
"68696A6B6D6E6F70727374757778797A",
"7C7D7E7F81828384868788898B8C8D8E",
"90919293959697989A9B9C9D9FA0A1A2",
"A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6",
"B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CA",
"CCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE",
"E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2",
"F4F5F6F7F9FAFBFCFEFE010103040506",
"08090A0B0D0E0F10121314151718191A",
"1C1D1E1F21222324262728292B2C2D2E",
"30313233353637383A3B3C3D3F404142",
"44454647494A4B4C4E4F505153545556",
"58595A5B5D5E5F60626364656768696A",
"6C6D6E6F71727374767778797B7C7D7E",
"80818283858687888A8B8C8D8F909192",
"94959697999A9B9C9E9FA0A1A3A4A5A6",
"A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA",
"BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE",
"D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2",
"E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6",
"F8F9FAFBFDFEFE00020304050708090A",
"0C0D0E0F11121314161718191B1C1D1E",
"20212223252627282A2B2C2D2F303132",
"34353637393A3B3C3E3F404143444546",
"48494A4B4D4E4F50525354555758595A",
"5C5D5E5F61626364666768696B6C6D6E",
"70717273757677787A7B7C7D7F808182",
"84858687898A8B8C8E8F909193949596",
"98999A9B9D9E9FA0A2A3A4A5A7A8A9AA",
"ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE",
"C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2",
"D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6",
"E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FA",
"FCFDFEFF01020304060708090B0C0D0E",
"10111213151617181A1B1C1D1F202122",
"24252627292A2B2C2E2F303133343536",
"38393A3B3D3E3F40424344454748494A",
"4C4D4E4F51525354565758595B5C5D5E",
"60616263656667686A6B6C6D6F707172",
"74757677797A7B7C7E7F808183848586",
"88898A8B8D8E8F90929394959798999A",
"9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE",
"B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2",
"C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6",
"D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EA",
"ECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE",
"00010203050607080A0B0C0D0F101112",
"14151617191A1B1C1E1F202123242526",
"28292A2B2D2E2F30323334353738393A",
"3C3D3E3F41424344464748494B4C4D4E",
"50515253555657585A5B5C5D5F606162",
"64656667696A6B6C6E6F707173747576",
"78797A7B7D7E7F80828384858788898A",
"8C8D8E8F91929394969798999B9C9D9E",
"A0A1A2A3A5A6A7A8AAABACADAFB0B1B2",
"00010203050607080A0B0C0D0F10111214151617191A1B1C",
"1E1F20212324252628292A2B2D2E2F30323334353738393A",
"3C3D3E3F41424344464748494B4C4D4E5051525355565758",
"5A5B5C5D5F60616264656667696A6B6C6E6F707173747576",
"78797A7B7D7E7F80828384858788898A8C8D8E8F91929394",
"969798999B9C9D9EA0A1A2A3A5A6A7A8AAABACADAFB0B1B2",
"B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6C8C9CACBCDCECFD0",
"D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE",
"F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C",
"0E0F10111314151618191A1B1D1E1F20222324252728292A",
"2C2D2E2F31323334363738393B3C3D3E4041424345464748",
"4A4B4C4D4F50515254555657595A5B5C5E5F606163646566",
"68696A6B6D6E6F70727374757778797A7C7D7E7F81828384",
"868788898B8C8D8E90919293959697989A9B9C9D9FA0A1A2",
"A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6B8B9BABBBDBEBFC0",
"C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE",
"E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFC",
"FEFE01010304050608090A0B0D0E0F10121314151718191A",
"1C1D1E1F21222324262728292B2C2D2E3031323335363738",
"3A3B3C3D3F40414244454647494A4B4C4E4F505153545556",
"58595A5B5D5E5F60626364656768696A6C6D6E6F71727374",
"767778797B7C7D7E80818283858687888A8B8C8D8F909192",
"94959697999A9B9C9E9FA0A1A3A4A5A6A8A9AAABADAEAFB0",
"D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBEC",
"2A2B2C2D2F30313234353637393A3B3C3E3F404143444546",
"48494A4B4D4E4F50525354555758595A5C5D5E5F61626364",
"84858687898A8B8C8E8F90919394959698999A9B9D9E9FA0",
"A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE",
"C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDC",
"1A1B1C1D1F20212224252627292A2B2C2E2F303133343536",
"38393A3B3D3E3F40424344454748494A4C4D4E4F51525354",
"929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE",
"464748494B4C4D4E50515253555657585A5B5C5D5F606162",
"828384858788898A8C8D8E8F91929394969798999B9C9D9E",
"A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBC",
"BEBFC0C1C3C4C5C6C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA",
"DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEEF0F1F2F3F5F6F7F8",
"FAFBFCFDFE01000204050607090A0B0C0E0F101113141516",
"18191A1B1D1E1F20222324252728292A2C2D2E2F31323334",
"363738393B3C3D3E40414243454647484A4B4C4D4F505152",
"54555657595A5B5C5E5F60616364656668696A6B6D6E6F70",
"727374757778797A7C7D7E7F81828384868788898B8C8D8E",
"90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABAC",
"AEAFB0B1B3B4B5B6B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CA",
"CCCDCECFD1D2D3D4D6D7D8D9DBDCDDDEE0E1E2E3E5E6E7E8",
"EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506",
"08090A0B0D0E0F10121314151718191A1C1D1E1F21222324",
"262728292B2C2D2E30313233353637383A3B3C3D3F404142",
"44454647494A4B4C4E4F50515354555658595A5B5D5E5F60",
"626364656768696A6C6D6E6F71727374767778797B7C7D7E",
"80818283858687888A8B8C8D8F90919294959697999A9B9C",
"9E9FA0A1A3A4A5A6A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA",
"BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCED0D1D2D3D5D6D7D8",
"DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6",
"F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314",
"161718191B1C1D1E20212223252627282A2B2C2D2F303132",
"34353637393A3B3C3E3F40414344454648494A4B4D4E4F50",
"525354555758595A5C5D5E5F61626364666768696B6C6D6E",
"70717273757677787A7B7C7D7F80818284858687898A8B8C",
"8E8F90919394959698999A9B9D9E9FA0A2A3A4A5A7A8A9AA",
"ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBEC0C1C2C3C5C6C7C8",
"CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6",
"E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304",
"060708090B0C0D0E10111213151617181A1B1C1D1F202122",
"24252627292A2B2C2E2F30313334353638393A3B3D3E3F40",
"424344454748494A4C4D4E4F51525354565758595B5C5D5E",
"60616263656667686A6B6C6D6F70717274757677797A7B7C",
"7E7F80818384858688898A8B8D8E8F90929394959798999A",
"9C9D9E9FA1A2A3A4A6A7A8A9ABACADAEB0B1B2B3B5B6B7B8",
"BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6",
"D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4",
"F6F7F8F9FBFCFDFE00010203050607080A0B0C0D0F101112",
"14151617191A1B1C1E1F20212324252628292A2B2D2E2F30",
"323334353738393A3C3D3E3F41424344464748494B4C4D4E",
"50515253555657585A5B5C5D5F60616264656667696A6B6C",
"6E6F70717374757678797A7B7D7E7F80828384858788898A",
"8C8D8E8F91929394969798999B9C9D9EA0A1A2A3A5A6A7A8",
"AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6",
"C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4",
"E6E7E8E9EBECEDEEF0F1F2F3F5F6F7F8FAFBFCFDFE010002",
"04050607090A0B0C0E0F10111314151618191A1B1D1E1F20",
"222324252728292A2C2D2E2F31323334363738393B3C3D3E",
"40414243454647484A4B4C4D4F50515254555657595A5B5C",
"5E5F60616364656668696A6B6D6E6F70727374757778797A",
"7C7D7E7F81828384868788898B8C8D8E9091929395969798",
"9A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6",
"B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4",
"D6D7D8D9DBDCDDDEE0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2",
"F4F5F6F7F9FAFBFCFEFE01010304050608090A0B0D0E0F10",
"121314151718191A1C1D1E1F21222324262728292B2C2D2E",
"30313233353637383A3B3C3D3F40414244454647494A4B4C",
"4E4F50515354555658595A5B5D5E5F60626364656768696A",
"6C6D6E6F71727374767778797B7C7D7E8081828385868788",
"8A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6",
"A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4",
"C6C7C8C9CBCCCDCED0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2",
"E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6F8F9FAFBFDFEFE00",
"020304050708090A0C0D0E0F11121314161718191B1C1D1E",
"20212223252627282A2B2C2D2F30313234353637393A3B3C",
"3E3F40414344454648494A4B4D4E4F50525354555758595A",
"5C5D5E5F61626364666768696B6C6D6E7071727375767778",
"7A7B7C7D7F80818284858687898A8B8C8E8F909193949596",
"98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4",
"B6B7B8B9BBBCBDBEC0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2",
"D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6E8E9EAEBEDEEEFF0",
"F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E",
"10111213151617181A1B1C1D1F20212224252627292A2B2C",
"2E2F30313334353638393A3B3D3E3F40424344454748494A",
"4C4D4E4F51525354565758595B5C5D5E6061626365666768",
"6A6B6C6D6F70717274757677797A7B7C7E7F808183848586",
"88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4",
"A6A7A8A9ABACADAEB0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2",
"C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6D8D9DADBDDDEDFE0",
"E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE",
"00010203050607080A0B0C0D0F10111214151617191A1B1C",
"1E1F20212324252628292A2B2D2E2F30323334353738393A",
"3C3D3E3F41424344464748494B4C4D4E5051525355565758",
"5A5B5C5D5F60616264656667696A6B6C6E6F707173747576",
"78797A7B7D7E7F80828384858788898A8C8D8E8F91929394",
"969798999B9C9D9EA0A1A2A3A5A6A7A8AAABACADAFB0B1B2",
"B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6C8C9CACBCDCECFD0",
"D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE",
"F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C",
"0E0F10111314151618191A1B1D1E1F20222324252728292A",
"2C2D2E2F31323334363738393B3C3D3E4041424345464748",
"4A4B4C4D4F50515254555657595A5B5C5E5F606163646566",
"68696A6B6D6E6F70727374757778797A7C7D7E7F81828384",
"868788898B8C8D8E90919293959697989A9B9C9D9FA0A1A2",
"00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526",
"28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E",
"50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -