ruby-aes-normal 1.0

Sign up to get free protection for your applications and to get access to all the features.
Binary file
@@ -0,0 +1,128 @@
1
+ 00010203050607080A0B0C0D0F101112 50 68 12 a4 5f 08 c8 89 b9 7f 59 80 03 8b 83 59
2
+ 14151617191A1B1C1E1F202123242526 5c 6d 71 ca 30 de 8b 8b 00 54 99 84 d2 ec 7d 4b
3
+ 28292A2B2D2E2F30323334353738393A 53 f3 f4 c6 4f 86 16 e4 e7 c5 61 99 f4 8f 21 f6
4
+ 3C3D3E3F41424344464748494B4C4D4E a1 eb 65 a3 48 71 65 fb 0f 1c 27 ff 99 59 f7 03
5
+ 50515253555657585A5B5C5D5F606162 35 53 ec f0 b1 73 95 58 b0 8e 35 0a 98 a3 9b fa
6
+ 64656667696A6B6C6E6F707173747576 67 42 99 69 49 0b 97 11 ae 2b 01 dc 49 7a fd e8
7
+ 78797A7B7D7E7F80828384858788898A 93 38 5c 1f 2a ec 8b ed 19 2f 5a 8e 16 1d d5 08
8
+ 8C8D8E8F91929394969798999B9C9D9E b5 bf 94 6b e1 9b eb 8d b3 98 3b 5f 4c 6e 8d db
9
+ A0A1A2A3A5A6A7A8AAABACADAFB0B1B2 41 32 1e e1 0e 21 bd 90 72 27 c4 45 0f f4 23 24
10
+ B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 00 a8 2f 59 c9 1c 84 86 d1 2c 0a 80 12 4f 60 89
11
+ C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA 7c e0 fd 07 67 54 69 1b 4b bd 9f af 8a 13 72 fe
12
+ DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE 23 60 5a 82 43 d0 77 64 54 1b c5 ad 35 5b 31 29
13
+ F0F1F2F3F5F6F7F8FAFBFCFDFE010002 12 a8 cf a2 3e a7 64 fd 87 62 32 b4 e8 42 bc 44
14
+ 04050607090A0B0C0E0F101113141516 bc af 32 41 5e 83 08 b3 72 3e 5f dd 85 3c cc 80
15
+ 2C2D2E2F31323334363738393B3C3D3E 89 af ae 68 5d 80 1a d7 47 ac e9 1f c4 9a dd e0
16
+ 40414243454647484A4B4C4D4F505152 f5 21 d0 7b 48 43 57 c4 a6 9e 76 12 4a 63 42 16
17
+ 54555657595A5B5C5E5F606163646566 3e 23 b3 bc 06 5b cc 15 24 07 e2 38 96 d7 77 83
18
+ 68696A6B6D6E6F70727374757778797A 79 f0 fb a0 02 be 17 44 67 0e 7e 99 29 0d 8f 52
19
+ 7C7D7E7F81828384868788898B8C8D8E da 23 fe 9d 5b d6 3e 1d 72 e3 da fb e2 1a 6c 2a
20
+ A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 e3 f5 69 8b a9 0b 6a 02 2e fd 7d b2 c7 e6 c8 23
21
+ E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2 bd c2 69 1d 4f 1b 73 d2 70 06 79 c3 bc bf 9c 6e
22
+ 08090A0B0D0E0F10121314151718191A ba 74 e0 20 93 21 7e e1 ba 1b 42 bd 56 24 34 9a
23
+ 6C6D6E6F71727374767778797B7C7D7E b5 c5 93 b5 85 1c 57 fb f8 b3 f5 77 15 e8 f6 80
24
+ 80818283858687888A8B8C8D8F909192 3d a9 bd 9c ec 07 23 81 78 8f 93 87 c3 bb f4 ee
25
+ 94959697999A9B9C9E9FA0A1A3A4A5A6 41 97 f3 05 11 21 70 2a b6 5d 31 6b 3c 63 73 74
26
+ A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA 9f 46 c6 2e c4 f6 ee 3f 6e 8c 62 55 4b c4 8a b7
27
+ BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE 02 20 67 3f e9 e6 99 a4 eb c8 e0 db eb 69 79 c8
28
+ D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2 b2 b9 91 71 33 7d ed 9b c8 c2 c2 3f f6 f1 88 67
29
+ E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 a7 fa cf 4e 30 1e 98 4e 5e fe ef d6 45 b2 35 05
30
+ F8F9FAFBFDFEFE00020304050708090A f7 c7 62 e4 a9 81 91 60 fd 7a cf b6 c4 ee dc dd
31
+ 0C0D0E0F11121314161718191B1C1D1E 9b 64 fc 21 ea 08 70 9f 49 15 43 6f aa 70 f1 be
32
+ 20212223252627282A2B2C2D2F303132 52 af 2c 3d e0 7e e6 77 7f 55 a4 ab fc 10 0b 3f
33
+ 34353637393A3B3C3E3F404143444546 2f ca 00 12 24 38 6c 57 aa 3f 96 8c be 2c 81 6f
34
+ 48494A4B4D4E4F50525354555758595A 41 49 c7 36 58 a4 a9 c5 64 34 27 55 ee 2c 13 2f
35
+ 5C5D5E5F61626364666768696B6C6D6E af 60 00 5a 00 a1 77 2f 7c 07 a4 8a 92 3c 23 d2
36
+ 70717273757677787A7B7C7D7F808182 6f cc bc 28 36 37 59 91 4b 6f 02 80 af af 20 c6
37
+ 84858687898A8B8C8E8F909193949596 7d 82 a4 3d df 4f ef a2 fc 59 47 49 98 84 d3 86
38
+ 98999A9B9D9E9FA0A2A3A4A5A7A8A9AA 5d 5a 99 0e aa b9 09 3a fe 4c e2 54 df a4 9e f9
39
+ ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE 4c d1 e2 fd 3f 44 34 b5 53 aa e4 53 f0 ed 1a 02
40
+ C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2 5a 2c 9a 96 41 d4 29 91 25 fa 1b 93 63 10 4b 5e
41
+ D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 b5 17 fe 34 c0 fa 21 7d 34 17 40 bf d4 fe 8d d4
42
+ E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FA 01 4b af 22 78 a6 9d 33 1d 51 80 10 36 43 e9 9a
43
+ FCFDFEFF01020304060708090B0C0D0E b5 29 bd 81 64 f2 0d 0a a4 43 d4 93 21 16 84 1c
44
+ 10111213151617181A1B1C1D1F202122 2e 59 6d cb b2 f3 3d 42 16 a1 17 6d 5b d1 e4 56
45
+ 24252627292A2B2C2E2F303133343536 72 74 a1 ea 2b 7e e2 42 4e 9a 0e 46 73 68 91 43
46
+ 38393A3B3D3E3F40424344454748494A ae 20 02 0b d4 f1 3e 9d 90 14 0b ee 3b 5d 26 af
47
+ 4C4D4E4F51525354565758595B5C5D5E ba ac 06 5d a7 ac 26 e8 55 e7 9c 88 49 d7 5a 02
48
+ 60616263656667686A6B6C6D6F707172 7c 91 7d 8d 1d 45 fa b9 e2 54 0e 28 83 25 40 cc
49
+ 74757677797A7B7C7E7F808183848586 bd e6 f8 9e 16 da ad b0 e8 47 a2 a6 14 56 6a 91
50
+ 88898A8B8D8E8F90929394959798999A c9 de 16 37 25 f1 f5 be 44 eb b1 db 51 d0 7f bc
51
+ 9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE 3a f5 7a 58 f0 c0 7d ff a6 69 57 2b 52 1e 2b 92
52
+ B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2 3d 5e ba c3 06 dd e4 60 4f 1b 4f bb bf cd ae 55
53
+ C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 c2 df a9 1b ce b7 6a 11 83 c9 95 02 0a c0 b5 56
54
+ D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EA c7 0f 54 30 58 85 e9 a0 74 6d 01 ec 56 c8 59 6b
55
+ ECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE c4 f8 1b 61 0e 98 01 2c e0 00 18 20 50 c0 c2 b2
56
+ 00010203050607080A0B0C0D0F101112 ea ab 86 b1 d0 2a 95 d7 40 4e ff 67 48 9f 97 d4
57
+ 14151617191A1B1C1E1F202123242526 7c 55 bd b4 0b 88 87 0b 52 be c3 73 8d e8 28 86
58
+ 28292A2B2D2E2F30323334353738393A ba 6e aa 88 37 1f f0 a3 bd 87 5e 3f 2a 97 5c e0
59
+ 3C3D3E3F41424344464748494B4C4D4E 08 05 91 30 c4 c2 4b d3 0c f0 57 5e 4e 03 73 dc
60
+ 50515253555657585A5B5C5D5F606162 9a 8e ab 00 4e f5 30 93 df cf 96 f5 7e 7e da 82
61
+ 64656667696A6B6C6E6F707173747576 07 45 b5 89 e2 40 0c 25 f1 17 b1 d7 96 c2 81 29
62
+ 78797A7B7D7E7F80828384858788898A 2f 17 77 78 12 16 ce c3 f0 44 f1 34 b1 b9 2b be
63
+ 8C8D8E8F91929394969798999B9C9D9E 35 3a 77 9f fc 54 1b 3a 38 05 d9 0c e1 75 80 fc
64
+ A0A1A2A3A5A6A7A8AAABACADAFB0B1B2 1a 1e ae 44 15 ce fc f0 8c 4a c1 c8 f6 8b ea 8f
65
+ B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 03 68 0f e1 9f 7c e7 27 54 52 02 0b e7 0e 82 04
66
+ C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA 46 1d f7 40 c9 78 1c 38 8e 94 bb 86 1c eb 54 f6
67
+ DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE 45 1b d6 03 67 f9 64 83 04 27 42 21 97 86 a0 74
68
+ F0F1F2F3F5F6F7F8FAFBFCFDFE010002 e4 df a4 26 71 a0 2e 57 ef 17 3b 85 c0 ea 9f 2b
69
+ 04050607090A0B0C0E0F101113141516 ed 11 b8 9e 76 27 42 82 22 7d 85 47 00 a7 8b 9e
70
+ 18191A1B1D1E1F20222324252728292A 43 39 46 ea a5 1e a4 7a f3 38 95 f2 b9 0b 3b 75
71
+ 2C2D2E2F31323334363738393B3C3D3E 6b c6 d6 16 a5 d7 d0 28 4a 59 10 ab 35 02 25 28
72
+ 40414243454647484A4B4C4D4F505152 d2 a9 20 ec fe 91 9d 35 4b 5f 49 ea e9 71 9c 98
73
+ 54555657595A5B5C5E5F606163646566 3a 06 1b 17 f6 a9 28 85 ef bd 06 76 98 5b 37 3d
74
+ 68696A6B6D6E6F70727374757778797A fa de ec 16 e3 3e a2 f4 68 84 99 d1 57 e2 0d 8f
75
+ 7C7D7E7F81828384868788898B8C8D8E 5c de fe de 59 60 1a a3 c3 cd a3 6f a6 b1 fa 13
76
+ 90919293959697989A9B9C9D9FA0A1A2 95 74 b0 00 39 84 4d 92 eb ba 7e e8 71 92 65 f8
77
+ A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 9a 9c f3 37 58 67 17 87 e5 00 69 28 18 86 43 fa
78
+ B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CA 2c dd d6 34 c8 46 ba 66 bb 46 cb fe a4 a6 74 f9
79
+ CCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE d2 8b ae 02 93 93 c3 e7 e2 6e 9f af bb b4 b9 8f
80
+ E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2 ec 27 52 9b 1b ee 0a 9a b6 a0 d7 3e bc 82 e9 b7
81
+ F4F5F6F7F9FAFBFCFEFE010103040506 3c b2 5c 09 47 2a ff 6e e7 e2 b4 7c cd 7c cb 17
82
+ 08090A0B0D0E0F10121314151718191A de e3 31 03 a7 28 33 70 d7 25 e4 4c a3 8f 8f e5
83
+ 1C1D1E1F21222324262728292B2C2D2E 27 f9 bc d1 aa c6 4b ff c1 1e 78 15 70 2c 1a 69
84
+ 30313233353637383A3B3C3D3F404142 5d f5 34 ff ad 4e d0 74 9a 99 88 e9 84 9d 00 21
85
+ 44454647494A4B4C4E4F505153545556 a4 8b ee 75 db 04 fb 60 ca 2b 80 f7 52 a8 42 1b
86
+ 58595A5B5D5E5F60626364656768696A 02 4c 8c f7 0b c8 6e e5 ce 03 67 8c b7 af 45 f9
87
+ 6C6D6E6F71727374767778797B7C7D7E 3c 19 ac 0f 8a 3a 38 62 ce 57 78 31 30 1e 16 6b
88
+ 80818283858687888A8B8C8D8F909192 c5 e3 55 b7 96 a5 74 21 d5 9c a6 be 82 e7 3b ca
89
+ 94959697999A9B9C9E9FA0A1A3A4A5A6 d9 40 33 27 64 17 ab fb 05 a6 9d 15 b6 e3 86 e2
90
+ A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA 24 b3 65 59 ea 3a 9b 9b 95 8f e6 da 3e 5b 8d 85
91
+ BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE 20 fd 4f ea a0 e8 bf 0c ce 78 61 d7 4e f4 cb 72
92
+ D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2 35 0e 20 d5 17 42 77 b9 ec 31 4c 50 15 70 a1 1d
93
+ E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 87 a2 9d 61 b7 c6 04 d2 38 fe 73 04 5a 7e fd 57
94
+ F8F9FAFBFDFEFE00020304050708090A 2c 31 64 c1 cc 7d 00 64 81 6b dc 0f aa 36 2c 52
95
+ 0C0D0E0F11121314161718191B1C1D1E 19 5f e5 e8 a0 5a 2e d5 94 f6 e4 40 0e ee 10 b3
96
+ 20212223252627282A2B2C2D2F303132 e4 66 3d f1 9b 9a 21 a5 a2 84 c2 bd 7f 90 50 25
97
+ 34353637393A3B3C3E3F404143444546 21 b8 87 14 cf b4 e2 a9 33 bd 28 1a 2c 47 43 fd
98
+ 48494A4B4D4E4F50525354555758595A cb fc 39 80 d7 04 fd 0f c5 43 78 ab 84 e1 78 70
99
+ 5C5D5E5F61626364666768696B6C6D6E bc 51 44 ba a4 8b de b8 b6 3e 22 e0 3d a4 18 ef
100
+ 70717273757677787A7B7C7D7F808182 5a 1d ba ef 1e e2 98 4b 83 95 da 3b df fa 3c cc
101
+ 84858687898A8B8C8E8F909193949596 f0 b1 1c d0 72 9d fc c8 0c ec 90 3d 97 15 95 74
102
+ 98999A9B9D9E9FA0A2A3A4A5A7A8A9AA 9f 95 31 4a cf dd c6 d1 91 4b 7f 19 a9 cc 82 09
103
+ ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE 59 57 36 f6 f0 f7 09 14 a9 4e 9e 00 7f 02 25 19
104
+ C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2 1f 19 f5 78 92 ca e5 86 fc df b4 c6 94 de b1 83
105
+ D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 54 07 00 ee 1f 6f 3d ab 0b 3e dd f6 ca ee 1e f5
106
+ E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FA 14 a3 42 a9 10 19 a3 31 68 7a 22 54 e6 62 6c a2
107
+ FCFDFEFF01020304060708090B0C0D0E 7b 25 f3 c3 b2 ee a1 8d 74 3e f2 83 14 0f 29 ff
108
+ 10111213151617181A1B1C1D1F202122 46 c2 58 7d 66 e5 e6 fa 7f 7c a6 41 1a d2 80 47
109
+ 24252627292A2B2C2E2F303133343536 09 47 0e 72 22 9d 95 4e d5 ee 73 88 6d fe eb a9
110
+ 38393A3B3D3E3F40424344454748494A d7 7c 03 de 92 d4 d0 d7 9e f8 d4 82 4e f3 65 eb
111
+ 4C4D4E4F51525354565758595B5C5D5E 1d 19 02 19 f2 90 e0 f1 71 5d 15 2d 41 a2 35 93
112
+ 60616263656667686A6B6C6D6F707172 a2 cd 33 2c e3 a0 81 87 69 61 62 92 e8 7f 75 7b
113
+ 74757677797A7B7C7E7F808183848586 d5 4a fa 6c e6 0f bf 93 41 a3 69 0e 21 38 51 02
114
+ 88898A8B8D8E8F90929394959798999A 06 e5 c3 64 de d6 28 a3 f5 e0 5e 61 3e 35 6f 46
115
+ 9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE ea e6 3c 0e 62 55 6d ac 85 d2 21 09 98 96 35 5a
116
+ B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2 1f ed 06 0e 2c 6f c9 3e e7 64 40 3a 88 99 85 a2
117
+ C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 c2 52 35 c1 a3 0f de c1 c7 cb 5c 57 37 b2 a5 88
118
+ D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EA 79 6d be f9 51 47 d4 d3 08 73 ad 8b 7b 92 ef c0
119
+ ECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE cb cf 0f b3 4d 98 d0 bd 5c 22 ce 37 21 1a 46 bf
120
+ 00010203050607080A0B0C0D0F101112 94 b4 4d a6 46 61 26 ca fa 7c 7f d0 90 63 fc 24
121
+ 14151617191A1B1C1E1F202123242526 d7 8c 5b 5e bf 9b 4d bd a6 ae 50 6c 50 74 c8 fe
122
+ 28292A2B2D2E2F30323334353738393A 6c 27 44 4c 27 20 4b 04 38 12 cf 8c f9 5f 97 69
123
+ 3C3D3E3F41424344464748494B4C4D4E be 94 52 4e e5 a2 aa 50 bb a8 b7 5f 4c 0a eb cf
124
+ 50515253555657585A5B5C5D5F606162 a0 ae aa e9 1b a9 f3 1f 51 ae b3 58 8c f3 a3 9e
125
+ 64656667696A6B6C6E6F707173747576 27 52 97 77 9c 28 26 6e f9 fe 4c 6a 13 c0 84 88
126
+ 78797A7B7D7E7F80828384858788898A 86 52 3d 92 bb 86 72 cb 01 cf 4a 77 fd 72 58 82
127
+ 8C8D8E8F91929394969798999B9C9D9E 4b 83 27 64 0e 9f 33 32 2a 04 dd 96 fc bf 9a 36
128
+ A0A1A2A3A5A6A7A8AAABACADAFB0B1B2 ce 52 af 65 0d 08 8c a5 59 42 52 23 f4 d3 26 94
@@ -0,0 +1,128 @@
1
+ 00010203050607080A0B0C0D0F10111214151617191A1B1C 2d 33 ee f2 c0 43 0a 8a 9e bf 45 e8 09 c4 0b b6
2
+ 1E1F20212324252628292A2B2D2E2F30323334353738393A 6a a3 75 d1 fa 15 5a 61 fb 72 35 3e 0a 5a 87 56
3
+ 3C3D3E3F41424344464748494B4C4D4E5051525355565758 bc 37 36 51 8b 94 90 dc b8 ed 60 eb 26 75 8e d4
4
+ 5A5B5C5D5F60616264656667696A6B6C6E6F707173747576 aa 21 44 02 b4 6c ff b9 f7 61 ec 11 26 3a 31 1e
5
+ 78797A7B7D7E7F80828384858788898A8C8D8E8F91929394 02 ae a8 6e 57 2e ea b6 6b 2c 3a f5 e9 a4 6f d6
6
+ 969798999B9C9D9EA0A1A2A3A5A6A7A8AAABACADAFB0B1B2 e2 ae f6 ac c3 3b 96 5c 4f a1 f9 1c 75 ff 6f 36
7
+ B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6C8C9CACBCDCECFD0 06 59 df 46 42 71 62 b9 43 48 65 dd 94 99 f9 1d
8
+ D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE 49 a4 42 39 c7 48 fe b4 56 f5 9c 27 6a 56 58 df
9
+ F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C 66 20 8f 6e 9d 04 52 5b de db 27 33 b6 a6 be 37
10
+ 0E0F10111314151618191A1B1D1E1F20222324252728292A 33 93 f8 df c7 29 c9 7f 54 80 b9 50 bc 96 66 b0
11
+ 2C2D2E2F31323334363738393B3C3D3E4041424345464748 60 68 34 c8 ce 06 3f 32 34 cf 11 45 32 5d bd 71
12
+ 4A4B4C4D4F50515254555657595A5B5C5E5F606163646566 fe c1 c0 4f 52 9b bd 17 d8 ce cf cc 47 18 b1 7f
13
+ 68696A6B6D6E6F70727374757778797A7C7D7E7F81828384 32 df 99 b4 31 ed 5d c5 ac f8 ca f6 dc 6c e4 75
14
+ 868788898B8C8D8E90919293959697989A9B9C9D9FA0A1A2 7f dc 2b 74 6f 3f 66 52 96 94 3b 83 71 0d 1f 82
15
+ A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6B8B9BABBBDBEBFC0 8f ba 15 10 a3 c5 b8 7e 2e aa 3f 7a 91 45 5c a2
16
+ C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE 2c 9b 46 8b 1c 2e ed 92 57 8d 41 b0 71 6b 22 3b
17
+ E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFC 0a 2b bf 0e fc 6b c0 03 4f 8a 03 43 3f ca 1b 1a
18
+ FEFE01010304050608090A0B0D0E0F10121314151718191A 25 26 0e 1f 31 f4 10 4d 38 72 22 e7 06 32 50 4b
19
+ 1C1D1E1F21222324262728292B2C2D2E3031323335363738 c5 27 d2 5a 49 f0 8a 52 28 d3 38 64 2a e6 51 37
20
+ 3A3B3C3D3F40414244454647494A4B4C4E4F505153545556 3b 49 fc 08 14 32 f5 89 0d 0e 3d 87 e8 84 a6 9e
21
+ 58595A5B5D5E5F60626364656768696A6C6D6E6F71727374 d1 73 f9 ed 1e 57 59 7e 16 69 31 df 27 54 a0 83
22
+ 767778797B7C7D7E80818283858687888A8B8C8D8F909192 8c 2b 7c af a5 af e7 f1 35 62 da ea e1 ad ed e0
23
+ 94959697999A9B9C9E9FA0A1A3A4A5A6A8A9AAABADAEAFB0 aa f4 ec 8c 1a 81 5a eb 82 6c ab 74 13 39 53 2c
24
+ D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBEC 40 be 8c 5d 91 08 e6 63 f3 8f 1a 23 95 27 9e cf
25
+ 2A2B2C2D2F30313234353637393A3B3C3E3F404143444546 0c 8a d9 bc 32 d4 3e 04 71 67 53 aa 4c fb e3 51
26
+ 48494A4B4D4E4F50525354555758595A5C5D5E5F61626364 14 07 b1 d5 f8 7d 63 35 7c 8d c7 eb ba eb bf ee
27
+ 84858687898A8B8C8E8F90919394959698999A9B9D9E9FA0 e6 27 34 d1 ae 33 78 c4 54 9e 93 9e 6f 12 34 16
28
+ A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE 5a 75 2c ff 2a 17 6d b1 a1 de 77 f2 d2 cd ee 41
29
+ C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDC a9 c8 c3 a4 ea be dc 80 c6 47 30 dd d0 18 cd 88
30
+ 1A1B1C1D1F20212224252627292A2B2C2E2F303133343536 ee 9b 3d bb db 86 18 00 72 13 08 34 d3 05 99 9a
31
+ 38393A3B3D3E3F40424344454748494A4C4D4E4F51525354 a7 fa 8c 35 86 b8 eb de 75 68 ea d6 f6 34 a8 79
32
+ 929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE 37 e0 f4 a8 7f 12 7d 45 ac 93 6f e7 ad 88 c1 0a
33
+ 464748494B4C4D4E50515253555657585A5B5C5D5F606162 3f 77 d8 b5 d9 2b ac 14 8e 4e 46 f6 97 a5 35 c5
34
+ 828384858788898A8C8D8E8F91929394969798999B9C9D9E d2 5e bb 68 6c 40 f7 e2 c4 da 10 14 93 65 71 ca
35
+ A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBC 4f 1c 76 9d 1e 5b 05 52 c7 ec a8 4d ea 26 a5 49
36
+ BEBFC0C1C3C4C5C6C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA 85 48 e2 f8 82 d7 58 4d 0f af c5 43 72 b6 63 3a
37
+ DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEEF0F1F2F3F5F6F7F8 87 d7 a3 36 cb 47 6f 17 7c d2 a5 1a f2 a6 2c df
38
+ FAFBFCFDFE01000204050607090A0B0C0E0F101113141516 03 b1 fe ac 66 8c 4e 48 5c 10 65 df c2 2b 44 ee
39
+ 18191A1B1D1E1F20222324252728292A2C2D2E2F31323334 bd a1 5e 66 81 9f a7 2d 65 3a 68 66 aa 28 79 62
40
+ 363738393B3C3D3E40414243454647484A4B4C4D4F505152 4d 0c 7a 0d 25 05 b8 0b f8 b6 2c eb 12 46 7f 0a
41
+ 54555657595A5B5C5E5F60616364656668696A6B6D6E6F70 62 6d 34 c9 42 9b 37 21 13 30 98 64 66 b9 4e 5f
42
+ 727374757778797A7C7D7E7F81828384868788898B8C8D8E 33 3c 3e 6b f0 06 56 b0 88 a1 7e 5f f0 e7 f6 0a
43
+ 90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABAC 68 7e d0 cd c0 d2 a2 bc 8c 46 6d 05 ef 9d 28 91
44
+ AEAFB0B1B3B4B5B6B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CA 48 78 30 e7 8c c5 6c 16 93 e6 4b 2a 66 60 c7 b6
45
+ CCCDCECFD1D2D3D4D6D7D8D9DBDCDDDEE0E1E2E3E5E6E7E8 7a 48 d6 b7 b5 2b 29 39 2a a2 07 2a 32 b6 61 60
46
+ EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506 90 73 20 e6 4c 8c 53 14 d1 0f 8d 7a 11 c8 61 8d
47
+ 08090A0B0D0E0F10121314151718191A1C1D1E1F21222324 b5 61 f2 ca 2d 6e 65 a4 a9 83 41 f3 ed 9f f5 33
48
+ 262728292B2C2D2E30313233353637383A3B3C3D3F404142 df 76 93 80 d2 12 79 2d 02 6f 04 9e 2e 3e 48 ef
49
+ 44454647494A4B4C4E4F50515354555658595A5B5D5E5F60 79 f3 74 bc 44 5b da bf 8f cc b8 84 3d 60 54 c6
50
+ 626364656768696A6C6D6E6F71727374767778797B7C7D7E 4e 02 f1 24 2f a5 6b 05 c6 8d ba e8 fe 44 c9 d6
51
+ 80818283858687888A8B8C8D8F90919294959697999A9B9C cf 73 c9 3c bf f5 7a c6 35 a6 f4 ad 2a 4a 15 45
52
+ 9E9FA0A1A3A4A5A6A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA 99 23 54 8e 28 75 75 07 25 b8 86 56 67 84 c6 25
53
+ BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCED0D1D2D3D5D6D7D8 48 88 33 6b 72 3a 02 2c 95 45 32 0f 83 6a 42 07
54
+ DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 f8 4d 9a 55 61 b0 60 8b 11 60 de e0 00 c4 1b a8
55
+ F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314 c2 31 92 a0 41 8e 30 a1 9b 45 ae 3e 36 25 bf 22
56
+ 161718191B1C1D1E20212223252627282A2B2C2D2F303132 b8 4e 06 90 b2 8b 00 25 38 1a d8 2a 15 e5 01 a7
57
+ 34353637393A3B3C3E3F40414344454648494A4B4D4E4F50 ac ef 5e 5c 10 88 76 c4 f0 62 69 f8 65 b8 f0 b0
58
+ 525354555758595A5C5D5E5F61626364666768696B6C6D6E 0f 1b 36 03 e0 f5 dd ea 45 48 24 61 53 a5 e0 64
59
+ 70717273757677787A7B7C7D7F80818284858687898A8B8C fb b6 38 93 45 0d 42 b5 8c 6d 88 cd 3c 18 09 e3
60
+ 8E8F90919394959698999A9B9D9E9FA0A2A3A4A5A7A8A9AA 4b ef 73 6d f1 50 25 9d ae 0c 91 35 4e 8a 5f 92
61
+ ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBEC0C1C2C3C5C6C7C8 7d 2d 46 24 20 56 ef 13 d3 c3 fc 93 c1 28 f4 c7
62
+ CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 e9 c1 ba 2d f4 15 65 7a 25 6e db 33 93 46 80 fd
63
+ E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304 e2 3e e2 77 b0 aa 0a 1d fb 81 f7 52 7c 35 14 f1
64
+ 060708090B0C0D0E10111213151617181A1B1C1D1F202122 3e 74 45 b0 b6 3c aa f7 5e 4a 91 1e 12 10 6b 4c
65
+ 24252627292A2B2C2E2F30313334353638393A3B3D3E3F40 38 a2 b5 a9 74 b0 57 5c 5d 73 39 17 fb 0d 45 70
66
+ 424344454748494A4C4D4E4F51525354565758595B5C5D5E e2 1d 40 1e bc 60 de 20 d6 c4 86 e4 f3 9a 58 8b
67
+ 60616263656667686A6B6C6D6F70717274757677797A7B7C e5 1d 5f 88 c6 70 b0 79 c0 ca 1f 0c 2c 44 05 a2
68
+ 7E7F80818384858688898A8B8D8E8F90929394959798999A 24 6a 94 78 8a 64 2f b3 d1 b8 23 c8 76 23 80 c8
69
+ 9C9D9E9FA1A2A3A4A6A7A8A9ABACADAEB0B1B2B3B5B6B7B8 b8 0c 39 1c 5c 41 a4 c3 b3 0c 68 e0 e3 d7 55 0f
70
+ BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 b7 7c 47 54 fc 64 eb 9a 11 54 a9 af 0b b1 f2 1c
71
+ D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4 fb 55 4d e5 20 d1 59 a0 6b f2 19 fc 7f 34 a0 2f
72
+ F6F7F8F9FBFCFDFE00010203050607080A0B0C0D0F101112 a8 9f ba 15 2d 76 b4 92 7b ee d1 60 dd b7 6c 57
73
+ 14151617191A1B1C1E1F20212324252628292A2B2D2E2F30 56 76 ea b4 a9 8d 2e 84 73 b3 f3 d4 64 24 24 7c
74
+ 323334353738393A3C3D3E3F41424344464748494B4C4D4E 4e 8f 06 8b d7 ed e5 2a 63 90 36 ec 86 c3 35 68
75
+ 50515253555657585A5B5C5D5F60616264656667696A6B6C f0 19 3c 4d 7a ff 17 91 ee 4c 07 eb 4a 18 24 fc
76
+ 6E6F70717374757678797A7B7D7E7F80828384858788898A ac 86 86 ee ca 9b a7 61 af e8 2d 67 b9 28 c3 3f
77
+ 8C8D8E8F91929394969798999B9C9D9EA0A1A2A3A5A6A7A8 5f af 85 73 e3 3b 14 5b 6a 36 9c d3 60 6a b2 c9
78
+ AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 31 58 7e 99 44 ab 1c 16 b8 44 ec ad 0d f2 e7 da
79
+ C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4 d0 17 fe cd 91 14 8a ba 37 f6 f3 06 8a a6 7d 8a
80
+ E6E7E8E9EBECEDEEF0F1F2F3F5F6F7F8FAFBFCFDFE010002 78 8e f2 f0 21 a7 3c ba 27 94 b6 16 07 8a 85 00
81
+ 04050607090A0B0C0E0F10111314151618191A1B1D1E1F20 5d 1e f2 0d ce d6 bc bc 12 13 1a c7 c5 47 88 aa
82
+ 222324252728292A2C2D2E2F31323334363738393B3C3D3E b3 c8 cf 96 1f af 9e a0 5f dd e6 d1 e4 d8 f6 63
83
+ 40414243454647484A4B4C4D4F50515254555657595A5B5C 14 30 75 c7 06 05 86 1c 7f ac 65 26 19 9e 45 9f
84
+ 5E5F60616364656668696A6B6D6E6F70727374757778797A a5 ae 12 ea de 9a 87 26 8d 89 8b fc 8f c0 25 2a
85
+ 7C7D7E7F81828384868788898B8C8D8E9091929395969798 09 24 f7 cf 2e 87 7a 48 19 f5 24 4a 36 0d ce a9
86
+ 9A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 3d 9e 96 35 af cc 3e 29 1c c7 ab 3f 27 d1 c9 9a
87
+ B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4 9d 80 fe eb f8 75 10 e2 b8 fb 98 bb 54 fd 78 8c
88
+ D6D7D8D9DBDCDDDEE0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2 5f 9d 1a 08 2a 1a 37 98 5f 17 40 02 ec a0 13 09
89
+ F4F5F6F7F9FAFBFCFEFE01010304050608090A0B0D0E0F10 a3 90 eb b1 d1 40 39 30 18 4a 44 b4 87 66 46 e4
90
+ 121314151718191A1C1D1E1F21222324262728292B2C2D2E 70 0f e9 18 98 1c 31 95 bb 6c 4b cb 46 b7 4e 29
91
+ 30313233353637383A3B3C3D3F40414244454647494A4B4C 90 79 84 40 6f 7b f2 d1 7f b1 eb 15 b6 73 d7 47
92
+ 4E4F50515354555658595A5B5D5E5F60626364656768696A c3 2a 95 6d cf c8 75 c2 ac 7c 7c c8 b8 cc 26 e1
93
+ 6C6D6E6F71727374767778797B7C7D7E8081828385868788 02 64 6e 2e bf a9 b8 20 cf 84 24 e9 b9 b6 eb 51
94
+ 8A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6 62 1f da 3a 5b bd 54 c6 d3 c6 85 81 6b d4 ea d8
95
+ A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4 d4 e2 16 04 04 26 df af 18 b1 52 46 9b c5 ac 2f
96
+ C6C7C8C9CBCCCDCED0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2 9d 06 35 b9 d3 3b 6c db d7 1f 5d 24 6e a1 7c c8
97
+ E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6F8F9FAFBFDFEFE00 10 ab ad 1b d9 ba e5 44 88 08 76 55 83 a2 cc 1a
98
+ 020304050708090A0C0D0E0F11121314161718191B1C1D1E 68 91 88 9e 16 54 4e 35 5f f6 5a 79 3c 39 c9 a8
99
+ 20212223252627282A2B2C2D2F30313234353637393A3B3C cc 73 55 82 e6 80 72 c1 63 cd 9d df 46 b9 12 79
100
+ 3E3F40414344454648494A4B4D4E4F50525354555758595A c5 c6 8b 9a ee b7 f8 78 df 57 8e fa 56 2f 95 74
101
+ 5C5D5E5F61626364666768696B6C6D6E7071727375767778 5f 47 64 39 5a 66 7a 47 d7 34 52 95 5d 0d 2c e8
102
+ 7A7B7C7D7F80818284858687898A8B8C8E8F909193949596 70 14 48 33 1f 66 10 6c ef dd f1 eb 82 67 c3 57
103
+ 98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4 cb 3e e5 6d 2e 14 b4 e1 94 16 66 f1 33 79 d6 57
104
+ B6B7B8B9BBBCBDBEC0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2 9f e1 6e fd 18 ab 6e 19 81 19 18 51 fe db 07 64
105
+ D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6E8E9EAEBEDEEEFF0 3d c9 ba 24 e1 b2 23 58 9b 14 7a dc eb 4c 8e 48
106
+ F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E 1c 33 30 32 68 2e 7d 4d e5 e5 af c0 5c 3e 48 3c
107
+ 10111213151617181A1B1C1D1F20212224252627292A2B2C d5 93 cc 99 a9 5a fe f7 e9 20 38 e0 5a 59 d0 0a
108
+ 2E2F30313334353638393A3B3D3E3F40424344454748494A 51 e7 f9 6f 53 b4 35 39 23 45 2c 22 21 34 e1 ec
109
+ 4C4D4E4F51525354565758595B5C5D5E6061626365666768 40 75 b3 57 a1 a2 b4 73 40 0c 3b 25 f3 2f 81 a4
110
+ 6A6B6C6D6F70717274757677797A7B7C7E7F808183848586 30 2e 34 1a 3e bc d7 4f 0d 55 f6 17 14 57 02 84
111
+ 88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4 57 ab dd 82 31 28 0d a0 1c 50 42 b7 8c f7 65 22
112
+ A6A7A8A9ABACADAEB0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2 17 f9 ea 7e ea 17 ac 1a df 0e 19 0f ef 79 9e 92
113
+ C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6D8D9DADBDDDEDFE0 2e 1b dd 56 3d d8 7e e5 c3 38 dd 6d 09 8d 0a 7a
114
+ E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE eb 86 99 96 e6 f8 bf b2 bf dd 9e 0c 45 04 db b2
115
+ 00010203050607080A0B0C0D0F10111214151617191A1B1C c2 e0 15 49 e9 de cf 31 74 68 b3 e0 18 c6 1b a8
116
+ 1E1F20212324252628292A2B2D2E2F30323334353738393A 8d a8 75 d0 33 c0 1d d4 63 b2 44 a1 77 0f 4a 22
117
+ 3C3D3E3F41424344464748494B4C4D4E5051525355565758 8b a0 dc f3 a1 86 84 4f 02 6d 02 2f 88 39 d6 96
118
+ 5A5B5C5D5F60616264656667696A6B6C6E6F707173747576 e9 69 1f f9 a6 cc 69 70 e5 16 70 a0 fd 5b 88 c1
119
+ 78797A7B7D7E7F80828384858788898A8C8D8E8F91929394 f2 ba ec 06 fa ee d3 0f 88 ee 63 ba 08 1a 6e 5b
120
+ 969798999B9C9D9EA0A1A2A3A5A6A7A8AAABACADAFB0B1B2 9c 39 d4 c4 59 ae 57 53 39 4d 60 94 ad c2 1e 78
121
+ B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6C8C9CACBCDCECFD0 63 45 b5 32 a1 19 04 50 2e a4 3b a9 9c 6b d2 b2
122
+ D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE 5f fa e3 06 1a 95 17 2e 40 70 ce dc e1 e4 28 c8
123
+ F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C 0a 45 66 be 4c df 9a dc e5 de c8 65 b5 ab 34 cd
124
+ 0E0F10111314151618191A1B1D1E1F20222324252728292A ca 17 fc ce 79 b7 40 4f 25 59 b2 29 28 f1 26 fb
125
+ 2C2D2E2F31323334363738393B3C3D3E4041424345464748 97 ca 39 b8 49 ed 73 a6 47 0a 97 c8 21 d8 2f 58
126
+ 4A4B4C4D4F50515254555657595A5B5C5E5F606163646566 81 98 cb 06 bc 68 4c 6d 3e 9b 79 89 42 8d cf 7a
127
+ 68696A6B6D6E6F70727374757778797A7C7D7E7F81828384 f5 3c 46 4c 70 5e e0 f2 8d 9a 4c 59 37 49 28 bd
128
+ 868788898B8C8D8E90919293959697989A9B9C9D9FA0A1A2 9a db 3d 4c ca 55 9b b9 8c 3e 2e d7 3d bf 11 54
@@ -0,0 +1,128 @@
1
+ 00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 83 4e ad fc ca c7 e1 b3 06 64 b1 ab a4 48 15 ab
2
+ 28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E d9 dc 4d ba 30 21 b0 5d 67 c0 51 8f 72 b6 2b f1
3
+ 50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576 a2 91 d8 63 01 a4 a7 39 f7 39 21 73 aa 3c 60 4c
4
+ 78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E 42 64 b2 69 64 98 de 4d f7 97 88 a9 f8 3e 93 90
5
+ A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 ee 99 32 b3 72 18 04 d5 a8 3e f5 94 92 45 b6 f6
6
+ C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE e6 24 8f 55 c5 fd cb ca 9c bb b0 1c 88 a2 ea 77
7
+ F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516 b8 35 8e 41 b9 df f6 5f d4 61 d5 5a 99 26 62 47
8
+ 18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E f0 e2 d7 22 60 af 58 e2 1e 01 5a b3 a4 c0 d9 06
9
+ 40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566 47 5b 8b 82 3c e8 89 3d b3 c4 4a 9f 2a 37 9f f7
10
+ 68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E 68 8f 52 81 94 58 12 86 2f 5f 30 76 cf 80 41 2f
11
+ 90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 08 d1 d2 bc 75 0a f5 53 36 5d 35 e7 5a fa ce aa
12
+ B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE 87 07 12 1f 47 cc 3e fc ec a5 f9 a8 47 49 50 a1
13
+ E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506 e5 1a a0 b1 35 db a5 66 93 9c 3b 63 59 a9 80 c5
14
+ 08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E 06 9a 00 7f c7 6a 45 9f 98 ba f9 17 fe df 95 21
15
+ 30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556 72 61 65 c1 72 3f bc f6 c0 26 d7 d0 0b 09 10 27
16
+ 58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E d7 c5 44 de 91 d5 5c fc de 1f 84 ca 38 22 00 ce
17
+ 80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6 fe d3 c9 a1 61 b9 b5 b2 bd 61 1b 41 dc 9d a3 57
18
+ A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE 4f 63 4c dc 65 51 04 34 09 f3 0b 63 58 32 cf 82
19
+ D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 10 9c e9 8d b0 df b3 67 34 d9 f3 39 47 11 b4 e6
20
+ 70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596 4e a6 df ab a2 d8 a0 2f fd ff a8 98 35 98 72 42
21
+ 98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE 5a e0 94 f5 4a f5 8e 6e 3c db f9 76 da c6 d9 ef
22
+ C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 76 4d 8e 8e 0f 29 92 6d be 51 22 e6 63 54 fd be
23
+ E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E 3f 04 18 f8 88 cd f2 9a 98 2b f6 b7 54 10 d6 a9
24
+ 10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536 e4 a3 e7 cb 12 cd d5 6a a4 a7 51 97 a9 53 02 20
25
+ 38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E 21 16 77 68 4a ac 1e c1 a1 60 f4 4c 4e bf 3f 26
26
+ 60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586 d2 1e 43 9f f7 49 ac 8f 18 d6 d4 b1 05 e0 38 95
27
+ 88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE d9 f6 ff 44 64 6c 47 25 bd 4c 01 03 ff 55 52 a7
28
+ B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 0b 12 56 c2 a0 0b 97 62 50 cf c5 b0 c3 7e d3 82
29
+ D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE b0 56 44 7f fc 6d c4 52 3a 36 cc 2e 97 2a 3a 79
30
+ 00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 5e 25 ca 78 f0 de 55 80 25 24 d3 8d a3 fe 44 56
31
+ 28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E a5 bc f4 72 8f a5 ea ad 85 67 c0 dc 24 67 5f 83
32
+ 50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576 81 4e 59 f9 7e d8 46 46 b7 8b 2c a0 22 e9 ca 43
33
+ 78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E 15 47 8b ee c5 8f 47 75 c7 a7 f5 d4 39 55 14 d7
34
+ A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 25 35 48 ff ca 46 1c 67 c8 cb c7 8c d5 9f 47 56
35
+ C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE fd 7a d8 d7 3b 9b 0f 8c c4 16 00 64 0f 50 3d 65
36
+ F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516 06 19 9d e5 2c 6c bf 8a f9 54 cd 65 83 0b cd 56
37
+ 18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E f1 7c 4f fe 48 e4 4c 61 bd 89 1e 25 7e 72 57 94
38
+ 40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566 9a 5b 4a 40 2a 3e 8a 59 be 6b f5 cd 81 54 f0 29
39
+ 68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E 79 bd 40 b9 1a 7e 07 dc 93 9d 44 17 82 ae 6b 17
40
+ 90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 d8 ce aa f8 97 6e 5f be 10 12 d8 c8 4f 32 37 99
41
+ B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE 33 16 e2 75 1e 2e 38 8b 08 3d a2 3d d6 ac 3f be
42
+ E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506 8b 7c fb e3 7d e7 dc a7 93 52 18 19 24 2c 58 16
43
+ 08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E f2 3f 03 3c 0e eb f8 ec 55 75 26 62 fd 58 ce 68
44
+ 30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556 59 eb 34 f6 c8 bd ba cc 5f c6 ad 73 a5 9a 13 01
45
+ 58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E dc de 8b 6b d5 cf 7c c2 2d 95 05 e3 ce 81 26 1a
46
+ 80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6 e3 3c f7 e5 24 fe d7 81 e7 04 2f f9 f4 b3 5d c7
47
+ A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE 27 96 3c 8f ac df 73 06 28 67 d1 64 df 6d 06 4c
48
+ D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 77 b1 ce 38 6b 55 1b 99 5f 2f 2a 1d a9 94 ee f8
49
+ F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314161718191B1C1D1E f0 83 38 8b 01 36 79 ef cf 0b b9 b1 5d 52 ae 5c
50
+ 20212223252627282A2B2C2D2F30313234353637393A3B3C3E3F404143444546 c5 00 9e 0d ab 55 db 0a bd b6 36 f2 60 02 90 c8
51
+ 48494A4B4D4E4F50525354555758595A5C5D5E5F61626364666768696B6C6D6E 78 04 88 1e 26 cd 53 2d 85 14 d3 68 3f 00 f1 b9
52
+ 70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596 46 cd dc d7 3d 1e b5 3e 67 5c a0 12 87 0a 92 a3
53
+ 98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE a9 fb 44 06 2b b0 7f e1 30 a8 e8 29 9e ac b1 ab
54
+ C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 2b 6f f8 d7 a5 cc 3a 28 a2 2d 5a 6f 22 1a f2 6b
55
+ E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E 1a 95 27 c2 9b 8a dd 4b 0e 3e 65 6d bb 2a f8 b4
56
+ 10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536 7f 99 cf 2c 75 24 4d f0 15 eb 4b 0c 10 50 ae ae
57
+ 38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E e8 4f f8 5b 0d 94 54 07 19 09 c1 38 16 46 c4 ed
58
+ 60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586 89 af d4 0f 99 52 12 80 d5 39 9b 12 40 4f 6d b4
59
+ 88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE a0 9e f3 2d bc 51 19 a3 5a b7 fa 38 65 6f 03 29
60
+ B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 61 77 34 57 f0 68 c3 76 c7 82 9b 93 e6 96 e7 16
61
+ D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE a3 4f 0c ae 72 6c ce 41 dd 49 87 47 d8 91 b9 67
62
+ 00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 85 6f 59 49 6c 73 88 ee 2d 2b 1a 27 b7 69 78 47
63
+ 28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E cb 09 0c 59 3e f7 72 0b d9 59 08 fb 93 b4 9d f4
64
+ 50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576 a0 ac 75 cd 2f 19 23 d4 60 fc 4d 45 7a d9 5b af
65
+ 78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E 28 28 2c c7 d2 1d 6a 29 23 64 1e 52 d1 88 ef 0c
66
+ A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 0d fa 5b 02 ab b1 8e 5a 81 53 05 21 6d 6d 4f 8e
67
+ C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE 73 59 63 5c 0e ec ef e3 1d 67 33 95 fb 46 fb 99
68
+ F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516 73 c6 79 f7 d5 ae f2 74 5c 97 37 bb 4c 47 fb 36
69
+ 18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E b1 92 bd 47 2a 4d 2e af b7 86 e9 74 58 96 76 26
70
+ 40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566 0e c3 27 f6 c8 a2 b1 47 59 8c a3 fd e6 1d c6 a4
71
+ 68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E fc 41 8e b3 c4 1b 85 9b 38 d4 b6 f6 46 62 97 29
72
+ 90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 30 24 9e 5a c2 82 b1 c9 81 ea 64 b6 09 f3 a1 54
73
+ B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE 5e 6e 08 64 6d 12 15 07 76 bb 43 c2 d7 8a 97 03
74
+ E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506 fa eb 3d 5d e6 52 cd 34 47 dc eb 34 3f 30 39 4a
75
+ 08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E a8 e8 87 06 82 3f 69 93 ef 80 d0 5c 1c 7b 2c f0
76
+ 30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556 8c ed 86 67 7e 6e 00 a1 a1 b1 59 68 f2 d3 cc e6
77
+ 58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E 9f c7 c2 38 58 be 03 bd eb b8 4e 90 db 67 86 a9
78
+ 80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6 b4 fb d6 5b 33 f7 0d 8c f7 f1 11 1a c4 64 9c 36
79
+ A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE c5 c3 2d 5e d0 3c 4b 53 cc 8c 1b d0 ef 0d bb f6
80
+ D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 d1 a7 f0 3b 77 3e 5c 21 24 64 b6 37 09 c6 a8 91
81
+ F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314161718191B1C1D1E 6b 71 61 d8 74 59 47 ac 69 50 43 8e a1 38 d0 28
82
+ 20212223252627282A2B2C2D2F30313234353637393A3B3C3E3F404143444546 fd 47 a9 f7 e3 66 ee 7a 09 bc 50 8b 00 46 06 61
83
+ 48494A4B4D4E4F50525354555758595A5C5D5E5F61626364666768696B6C6D6E 00 d4 0b 00 3d c3 a0 d9 31 0b 65 9b 98 c7 e4 16
84
+ 70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596 ee a4 c7 9d cc 8e 2b da 69 1f 20 ac 48 be 07 17
85
+ 98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE e7 8f 43 b1 1c 20 44 03 e5 75 1f 89 d0 5a 25 09
86
+ C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 d0 f0 e3 d1 f1 24 4b b9 79 93 1e 38 dd 17 86 ef
87
+ E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E 04 2e 63 9d c4 e1 e4 dd e7 b7 5b 74 9e a6 f7 65
88
+ 10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536 bc 03 2f dd 0e fe 29 50 3a 98 0a 7d 07 ab 46 a8
89
+ 38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E 0c 93 ac 94 9c 0d a6 44 6e ff b8 61 83 b6 c9 10
90
+ 60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586 e0 d3 43 e1 4d a7 5c 91 7b 4a 5c ec 48 10 d7 c2
91
+ 88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE 0e af b8 21 74 84 08 27 9b 93 7b 62 67 92 e6 19
92
+ B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 fa 1a c6 e0 2d 23 b1 06 a1 fe f1 8b 27 4a 55 3f
93
+ D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE 0d ad fe 01 9c d1 23 68 07 55 07 df 33 c1 a1 e9
94
+ 00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 3a 08 79 b4 14 46 5d 9f fb af 86 b3 3a 63 a1 b9
95
+ 28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E 62 19 9f ad c7 6d 0b e1 80 5d 3b a0 b7 d9 14 bf
96
+ 50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576 1b 06 d6 c5 d3 33 e7 42 73 01 30 cf 78 e7 19 b4
97
+ 78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E f1 f8 48 82 4c 32 e9 dc dc bf 21 58 0f 06 93 29
98
+ A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 1a 09 05 0c bd 68 4f 78 4d 8e 96 5e 07 82 f2 8a
99
+ C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE 79 c2 96 9e 7d ed 2b a7 d0 88 f3 f3 20 69 23 60
100
+ F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516 09 1a 65 8a 2f 74 44 c1 6a cc b6 69 45 0c 7b 63
101
+ 18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E 97 c1 e3 a7 2c ca 65 fa 97 7d 5e d0 e8 a7 bb fc
102
+ 40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566 70 c4 30 c6 db 9a 17 82 89 37 30 5a 2d f9 1a 2a
103
+ 68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E 62 95 53 45 7f be 24 79 09 85 71 c7 c9 03 fd e8
104
+ 90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 a2 5b 25 a6 1f 61 26 69 e7 d9 12 65 c7 d4 76 ba
105
+ B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE eb 7e 4e 49 b8 ae 0f 02 45 70 dd a2 93 25 4f ed
106
+ E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506 38 fe 15 d6 1c ca 84 51 6e 92 4a dc e5 01 4f 67
107
+ 08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E 3a d2 08 49 22 49 10 8c 9f 3e be b1 67 ad 05 83
108
+ 30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556 29 9b a9 f9 bf 5a b0 5c 35 80 fc 26 ed d1 ed 12
109
+ 58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E 19 dc 70 5b 85 7a 60 fb 07 71 7b 2e a5 71 77 81
110
+ 80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6 ff c8 ae b8 85 b5 ef ca d0 6b 6d be bf 92 e7 6b
111
+ A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE f5 89 00 c5 e0 b3 85 25 3f f2 54 62 50 a0 14 2b
112
+ D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 2e e6 7b 56 28 0b c4 62 42 9c ee 6e 33 70 cb c1
113
+ F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314161718191B1C1D1E 20 db 65 0a 9c 8e 9a 84 ab 4d 25 f7 ed c8 f0 3f
114
+ 20212223252627282A2B2C2D2F30313234353637393A3B3C3E3F404143444546 3c 36 da 16 95 25 cf 81 88 43 80 5f 25 b7 8a e5
115
+ 48494A4B4D4E4F50525354555758595A5C5D5E5F61626364666768696B6C6D6E 9a 78 1d 96 0d b9 e4 5e 37 77 90 42 fe a5 19 22
116
+ 70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596 65 60 39 5e c2 69 c6 72 a3 c2 88 22 6e fd ba 77
117
+ 98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE 8c 77 2b 7a 18 9a c5 44 45 3d 59 16 eb b2 7b 9a
118
+ C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 77 ca 54 68 cc 48 e8 43 d0 5f 78 ee d9 d6 57 8f
119
+ E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E 72 cd cc 71 dc 82 c6 0d 44 29 c9 e2 d8 19 5b aa
120
+ 10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536 80 80 d6 8c e6 0e 94 b4 0b 5b 8b 69 ee b3 5a fa
121
+ 38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E 44 22 2d 3c de 29 9c 04 36 9d 58 ac 0e ba 1e 8e
122
+ 60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586 9b 87 21 b0 a8 df c6 91 c5 bc 58 85 db fc b2 7a
123
+ 88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE 0d c0 15 ce 9a 3a 34 14 b5 e6 2e c6 43 38 41 83
124
+ B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 70 57 15 44 8a 8d a4 12 02 5c e3 83 45 c2 a1 48
125
+ D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE c3 2b 5b 0b 6f ba e1 65 26 6c 56 9f 4b 6e cf 0b
126
+ 00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 4d ca 6c 75 19 2a 01 dd ca 94 76 af 2a 52 1e 87
127
+ 28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E 05 86 91 e6 27 ec bc 36 ac 07 b6 db 42 3b d6 98
128
+ 50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576 74 44 52 70 95 83 8f e0 80 fc 2b cd d3 08 47 eb
@@ -0,0 +1,14 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/ruby-aes'
3
+
4
+ require 'fileutils'
5
+
6
+ KEY_LENGTH = [128,192,256].freeze
7
+ MODES = ['ECB','CBC','OFB','CFB'].freeze
8
+
9
+ def random_fill(n, buffer)
10
+ n.times do
11
+ buffer << rand(256).chr
12
+ end
13
+ end
14
+
@@ -0,0 +1,113 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestRubyAES < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @keys = {}
7
+ KEY_LENGTH.each do |kl|
8
+ @keys[kl] = ""
9
+ random_fill(kl/8, @keys[kl])
10
+ end
11
+
12
+ @iv = ""
13
+ random_fill(16, @iv)
14
+ @pt = ""
15
+ random_fill(64, @pt)
16
+ @kl = KEY_LENGTH[(rand * KEY_LENGTH).to_i]
17
+ @mode = MODES[(rand * MODES.length).to_i]
18
+ end
19
+
20
+ def test_modes_and_key_lengths
21
+ MODES.each do |mode|
22
+ KEY_LENGTH.each do |kl|
23
+ ct = Aes.encrypt_block(kl, mode, @keys[kl], @iv, @pt)
24
+ npt = Aes.decrypt_block(kl, mode, @keys[kl], @iv, ct)
25
+ assert_equal(@pt, npt, "Error in encryption/decryption (#{kl}-#{mode})")
26
+ end
27
+ end
28
+ end
29
+
30
+ def test_encrypt_stream
31
+ file = "_ruby-aes_test_encrypt_stream_"
32
+ sin = File.open(file, "w+b")
33
+ random_fill(4242, sin)
34
+ sout = File.open("#{file}.aes", "w+b")
35
+ Aes.encrypt_stream(@kl, @mode, @keys[@kl], @iv, sin, sout)
36
+ sin.close
37
+ sout.close
38
+
39
+ sin = File.open("#{file}.aes", "rb")
40
+ sout = File.open("#{file}.plain", "w+b")
41
+ Aes.decrypt_stream(@kl, @mode, @keys[@kl], @iv, sin, sout)
42
+ sin.close
43
+ sout.close
44
+
45
+ assert_equal IO.read(file), IO.read("#{file}.plain"),
46
+ "Error in encrypt_stream"
47
+ FileUtils.rm_f [ file, "#{file}.aes", "#{file}.plain" ]
48
+ end
49
+
50
+ def test_encrypt_buffer
51
+ pt = ""
52
+ 42.times do
53
+ pt << random_fill(1, pt)
54
+ ct = Aes.encrypt_buffer(@kl, @mode, @keys[@kl], @iv, pt)
55
+ npt = Aes.decrypt_buffer(@kl, @mode, @keys[@kl], @iv, ct)
56
+ assert_equal(pt, npt, "Error in encrypt buffer (padding)")
57
+ end
58
+ end
59
+
60
+ def test_check_key_length
61
+ assert_raise(RuntimeError) do
62
+ Aes.check_kl(42)
63
+ end
64
+ KEY_LENGTH.each do |kl|
65
+ assert_nothing_raised do
66
+ Aes.check_kl(kl)
67
+ end
68
+ end
69
+ end
70
+
71
+ def test_check_iv
72
+ assert_raise(RuntimeError) do
73
+ Aes.check_iv(@iv.unpack('H*'))
74
+ end
75
+ assert_nothing_raised do
76
+ Aes.check_iv(@iv)
77
+ end
78
+ end
79
+
80
+ def test_check_key
81
+ assert_raise(RuntimeError) do
82
+ Aes.check_key(@key, 64)
83
+ end # bad key length
84
+ assert_raise(RuntimeError) do
85
+ Aes.check_key('123', 128)
86
+ end # bad key string
87
+ assert_raise(RuntimeError) do
88
+ Aes.check_key(@key, 256)
89
+ end # bad key string
90
+ assert_raise(RuntimeError) do
91
+ Aes.check_key(@key.unpack('H*'), 128)
92
+ end # bad key string
93
+ assert_nothing_raised do
94
+ Aes.check_key(@key, @kl)
95
+ end
96
+ end
97
+
98
+ def test_check_mode
99
+ assert_raise(RuntimeError) do
100
+ Aes.check_mode('ABC')
101
+ end
102
+ MODES.each do |mode|
103
+ assert_nothing_raised do
104
+ Aes.check_mode(mode)
105
+ end
106
+ end
107
+ end
108
+
109
+ def test_truth
110
+ assert true
111
+ end
112
+
113
+ end