aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2015-10-24 06:02:02 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2015-10-24 06:02:02 +0300
commit6c2c423ce929c361940e9aebe1b6ec1098e628e1 (patch)
treed7441c97c77d051144243eadf98f50587c032318
parenttest: bugfix & refactoring (diff)
downloadaes-tools-6c2c423ce929c361940e9aebe1b6ec1098e628e1.tar.gz
aes-tools-6c2c423ce929c361940e9aebe1b6ec1098e628e1.zip
test/file.py: more tests
-rw-r--r--TODO.md1
-rw-r--r--test/README.md22
-rw-r--r--test/file.py13
-rw-r--r--test/file/aes128/cbc/blocksize-1.cipher1
-rw-r--r--test/file/aes128/cbc/blocksize-1.iv1
-rw-r--r--test/file/aes128/cbc/blocksize-1.key1
-rw-r--r--test/file/aes128/cbc/blocksize-1.plain1
-rw-r--r--test/file/aes128/cbc/blocksize.cipher1
-rw-r--r--test/file/aes128/cbc/blocksize.iv1
-rw-r--r--test/file/aes128/cbc/blocksize.key1
-rw-r--r--test/file/aes128/cbc/blocksize.plain1
-rw-r--r--test/file/aes128/cbc/empty1.cipher (renamed from test/file/aes128/ecb/0.cipher)0
-rw-r--r--test/file/aes128/cbc/empty1.iv (renamed from test/file/aes128/ecb/0.key)0
-rw-r--r--test/file/aes128/cbc/empty1.key1
-rw-r--r--test/file/aes128/cbc/empty1.plain (renamed from test/file/aes128/ecb/0.plain)0
-rw-r--r--test/file/aes128/cbc/empty2.cipher1
-rw-r--r--test/file/aes128/cbc/empty2.iv1
-rw-r--r--test/file/aes128/cbc/empty2.key1
-rw-r--r--test/file/aes128/cbc/empty2.plain (renamed from test/file/aes192/ecb/0.plain)0
-rw-r--r--test/file/aes128/cbc/random64k.cipherbin0 -> 65552 bytes
-rw-r--r--test/file/aes128/cbc/random64k.iv1
-rw-r--r--test/file/aes128/cbc/random64k.key1
-rw-r--r--test/file/aes128/cbc/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes128/cbc/singlechar.cipher1
-rw-r--r--test/file/aes128/cbc/singlechar.iv1
-rw-r--r--test/file/aes128/cbc/singlechar.key1
-rw-r--r--test/file/aes128/cbc/singlechar.plain1
-rw-r--r--test/file/aes128/cfb/blocksize-1.cipher1
-rw-r--r--test/file/aes128/cfb/blocksize-1.iv1
-rw-r--r--test/file/aes128/cfb/blocksize-1.key1
-rw-r--r--test/file/aes128/cfb/blocksize-1.plain1
-rw-r--r--test/file/aes128/cfb/blocksize.cipher1
-rw-r--r--test/file/aes128/cfb/blocksize.iv1
-rw-r--r--test/file/aes128/cfb/blocksize.key1
-rw-r--r--test/file/aes128/cfb/blocksize.plain1
-rw-r--r--test/file/aes128/cfb/empty1.cipher (renamed from test/file/aes256/ecb/0.plain)0
-rw-r--r--test/file/aes128/cfb/empty1.iv1
-rw-r--r--test/file/aes128/cfb/empty1.key1
-rw-r--r--test/file/aes128/cfb/empty1.plain0
-rw-r--r--test/file/aes128/cfb/empty2.cipher0
-rw-r--r--test/file/aes128/cfb/empty2.iv1
-rw-r--r--test/file/aes128/cfb/empty2.key1
-rw-r--r--test/file/aes128/cfb/empty2.plain0
-rw-r--r--test/file/aes128/cfb/random64k.cipherbin0 -> 65536 bytes
-rw-r--r--test/file/aes128/cfb/random64k.iv1
-rw-r--r--test/file/aes128/cfb/random64k.key1
-rw-r--r--test/file/aes128/cfb/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes128/cfb/singlechar.cipher1
-rw-r--r--test/file/aes128/cfb/singlechar.iv1
-rw-r--r--test/file/aes128/cfb/singlechar.key1
-rw-r--r--test/file/aes128/cfb/singlechar.plain1
-rw-r--r--test/file/aes128/ctr/blocksize-1.cipher1
-rw-r--r--test/file/aes128/ctr/blocksize-1.iv1
-rw-r--r--test/file/aes128/ctr/blocksize-1.key1
-rw-r--r--test/file/aes128/ctr/blocksize-1.plain1
-rw-r--r--test/file/aes128/ctr/blocksize.cipher1
-rw-r--r--test/file/aes128/ctr/blocksize.iv1
-rw-r--r--test/file/aes128/ctr/blocksize.key1
-rw-r--r--test/file/aes128/ctr/blocksize.plain1
-rw-r--r--test/file/aes128/ctr/empty1.cipher0
-rw-r--r--test/file/aes128/ctr/empty1.iv1
-rw-r--r--test/file/aes128/ctr/empty1.key1
-rw-r--r--test/file/aes128/ctr/empty1.plain0
-rw-r--r--test/file/aes128/ctr/empty2.cipher0
-rw-r--r--test/file/aes128/ctr/empty2.iv1
-rw-r--r--test/file/aes128/ctr/empty2.key1
-rw-r--r--test/file/aes128/ctr/empty2.plain0
-rw-r--r--test/file/aes128/ctr/random64k.cipherbin0 -> 65536 bytes
-rw-r--r--test/file/aes128/ctr/random64k.iv1
-rw-r--r--test/file/aes128/ctr/random64k.key1
-rw-r--r--test/file/aes128/ctr/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes128/ctr/singlechar.cipher1
-rw-r--r--test/file/aes128/ctr/singlechar.iv1
-rw-r--r--test/file/aes128/ctr/singlechar.key1
-rw-r--r--test/file/aes128/ctr/singlechar.plain1
-rw-r--r--test/file/aes128/ecb/blocksize-1.cipher1
-rw-r--r--test/file/aes128/ecb/blocksize-1.key1
-rw-r--r--test/file/aes128/ecb/blocksize-1.plain1
-rw-r--r--test/file/aes128/ecb/blocksize.cipher1
-rw-r--r--test/file/aes128/ecb/blocksize.key1
-rw-r--r--test/file/aes128/ecb/blocksize.plain1
-rw-r--r--test/file/aes128/ecb/empty1.cipher1
-rw-r--r--test/file/aes128/ecb/empty1.key1
-rw-r--r--test/file/aes128/ecb/empty1.plain0
-rw-r--r--test/file/aes128/ecb/empty2.cipher1
-rw-r--r--test/file/aes128/ecb/empty2.key1
-rw-r--r--test/file/aes128/ecb/empty2.plain0
-rw-r--r--test/file/aes128/ecb/random64k.cipherbin0 -> 65552 bytes
-rw-r--r--test/file/aes128/ecb/random64k.key1
-rw-r--r--test/file/aes128/ecb/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes128/ecb/singlechar.cipher1
-rw-r--r--test/file/aes128/ecb/singlechar.key1
-rw-r--r--test/file/aes128/ecb/singlechar.plain1
-rw-r--r--test/file/aes128/ofb/blocksize-1.cipher1
-rw-r--r--test/file/aes128/ofb/blocksize-1.iv1
-rw-r--r--test/file/aes128/ofb/blocksize-1.key1
-rw-r--r--test/file/aes128/ofb/blocksize-1.plain1
-rw-r--r--test/file/aes128/ofb/blocksize.cipher1
-rw-r--r--test/file/aes128/ofb/blocksize.iv1
-rw-r--r--test/file/aes128/ofb/blocksize.key1
-rw-r--r--test/file/aes128/ofb/blocksize.plain1
-rw-r--r--test/file/aes128/ofb/empty1.cipher0
-rw-r--r--test/file/aes128/ofb/empty1.iv1
-rw-r--r--test/file/aes128/ofb/empty1.key1
-rw-r--r--test/file/aes128/ofb/empty1.plain0
-rw-r--r--test/file/aes128/ofb/empty2.cipher0
-rw-r--r--test/file/aes128/ofb/empty2.iv1
-rw-r--r--test/file/aes128/ofb/empty2.key1
-rw-r--r--test/file/aes128/ofb/empty2.plain0
-rw-r--r--test/file/aes128/ofb/random64k.cipherbin0 -> 65536 bytes
-rw-r--r--test/file/aes128/ofb/random64k.iv1
-rw-r--r--test/file/aes128/ofb/random64k.key1
-rw-r--r--test/file/aes128/ofb/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes128/ofb/singlechar.cipher1
-rw-r--r--test/file/aes128/ofb/singlechar.iv1
-rw-r--r--test/file/aes128/ofb/singlechar.key1
-rw-r--r--test/file/aes128/ofb/singlechar.plain1
-rw-r--r--test/file/aes192/cbc/blocksize-1.cipher1
-rw-r--r--test/file/aes192/cbc/blocksize-1.iv1
-rw-r--r--test/file/aes192/cbc/blocksize-1.key1
-rw-r--r--test/file/aes192/cbc/blocksize-1.plain1
-rw-r--r--test/file/aes192/cbc/blocksize.cipher1
-rw-r--r--test/file/aes192/cbc/blocksize.iv1
-rw-r--r--test/file/aes192/cbc/blocksize.key1
-rw-r--r--test/file/aes192/cbc/blocksize.plain1
-rw-r--r--test/file/aes192/cbc/empty1.cipher (renamed from test/file/aes192/ecb/0.cipher)0
-rw-r--r--test/file/aes192/cbc/empty1.iv1
-rw-r--r--test/file/aes192/cbc/empty1.key (renamed from test/file/aes192/ecb/0.key)0
-rw-r--r--test/file/aes192/cbc/empty1.plain0
-rw-r--r--test/file/aes192/cbc/empty2.cipherbin0 -> 16 bytes
-rw-r--r--test/file/aes192/cbc/empty2.iv1
-rw-r--r--test/file/aes192/cbc/empty2.key1
-rw-r--r--test/file/aes192/cbc/empty2.plain0
-rw-r--r--test/file/aes192/cbc/random64k.cipherbin0 -> 65552 bytes
-rw-r--r--test/file/aes192/cbc/random64k.iv1
-rw-r--r--test/file/aes192/cbc/random64k.key1
-rw-r--r--test/file/aes192/cbc/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes192/cbc/singlechar.cipher2
-rw-r--r--test/file/aes192/cbc/singlechar.iv1
-rw-r--r--test/file/aes192/cbc/singlechar.key1
-rw-r--r--test/file/aes192/cbc/singlechar.plain1
-rw-r--r--test/file/aes192/cfb/blocksize-1.cipher1
-rw-r--r--test/file/aes192/cfb/blocksize-1.iv1
-rw-r--r--test/file/aes192/cfb/blocksize-1.key1
-rw-r--r--test/file/aes192/cfb/blocksize-1.plain1
-rw-r--r--test/file/aes192/cfb/blocksize.cipher1
-rw-r--r--test/file/aes192/cfb/blocksize.iv1
-rw-r--r--test/file/aes192/cfb/blocksize.key1
-rw-r--r--test/file/aes192/cfb/blocksize.plain1
-rw-r--r--test/file/aes192/cfb/empty1.cipher0
-rw-r--r--test/file/aes192/cfb/empty1.iv1
-rw-r--r--test/file/aes192/cfb/empty1.key1
-rw-r--r--test/file/aes192/cfb/empty1.plain0
-rw-r--r--test/file/aes192/cfb/empty2.cipher0
-rw-r--r--test/file/aes192/cfb/empty2.iv1
-rw-r--r--test/file/aes192/cfb/empty2.key1
-rw-r--r--test/file/aes192/cfb/empty2.plain0
-rw-r--r--test/file/aes192/cfb/random64k.cipherbin0 -> 65536 bytes
-rw-r--r--test/file/aes192/cfb/random64k.iv1
-rw-r--r--test/file/aes192/cfb/random64k.key1
-rw-r--r--test/file/aes192/cfb/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes192/cfb/singlechar.cipher1
-rw-r--r--test/file/aes192/cfb/singlechar.iv1
-rw-r--r--test/file/aes192/cfb/singlechar.key1
-rw-r--r--test/file/aes192/cfb/singlechar.plain1
-rw-r--r--test/file/aes192/ctr/blocksize-1.cipher1
-rw-r--r--test/file/aes192/ctr/blocksize-1.iv1
-rw-r--r--test/file/aes192/ctr/blocksize-1.key1
-rw-r--r--test/file/aes192/ctr/blocksize-1.plain1
-rw-r--r--test/file/aes192/ctr/blocksize.cipher1
-rw-r--r--test/file/aes192/ctr/blocksize.iv1
-rw-r--r--test/file/aes192/ctr/blocksize.key1
-rw-r--r--test/file/aes192/ctr/blocksize.plain1
-rw-r--r--test/file/aes192/ctr/empty1.cipher0
-rw-r--r--test/file/aes192/ctr/empty1.iv1
-rw-r--r--test/file/aes192/ctr/empty1.key1
-rw-r--r--test/file/aes192/ctr/empty1.plain0
-rw-r--r--test/file/aes192/ctr/empty2.cipher0
-rw-r--r--test/file/aes192/ctr/empty2.iv1
-rw-r--r--test/file/aes192/ctr/empty2.key1
-rw-r--r--test/file/aes192/ctr/empty2.plain0
-rw-r--r--test/file/aes192/ctr/random64k.cipherbin0 -> 65536 bytes
-rw-r--r--test/file/aes192/ctr/random64k.iv1
-rw-r--r--test/file/aes192/ctr/random64k.key1
-rw-r--r--test/file/aes192/ctr/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes192/ctr/singlechar.cipher1
-rw-r--r--test/file/aes192/ctr/singlechar.iv1
-rw-r--r--test/file/aes192/ctr/singlechar.key1
-rw-r--r--test/file/aes192/ctr/singlechar.plain1
-rw-r--r--test/file/aes192/ecb/blocksize-1.cipher1
-rw-r--r--test/file/aes192/ecb/blocksize-1.key1
-rw-r--r--test/file/aes192/ecb/blocksize-1.plain1
-rw-r--r--test/file/aes192/ecb/blocksize.cipherbin0 -> 32 bytes
-rw-r--r--test/file/aes192/ecb/blocksize.key1
-rw-r--r--test/file/aes192/ecb/blocksize.plain1
-rw-r--r--test/file/aes192/ecb/empty1.cipher2
-rw-r--r--test/file/aes192/ecb/empty1.key1
-rw-r--r--test/file/aes192/ecb/empty1.plain0
-rw-r--r--test/file/aes192/ecb/empty2.cipher1
-rw-r--r--test/file/aes192/ecb/empty2.key1
-rw-r--r--test/file/aes192/ecb/empty2.plain0
-rw-r--r--test/file/aes192/ecb/random64k.cipherbin0 -> 65552 bytes
-rw-r--r--test/file/aes192/ecb/random64k.key1
-rw-r--r--test/file/aes192/ecb/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes192/ecb/singlechar.cipher1
-rw-r--r--test/file/aes192/ecb/singlechar.key1
-rw-r--r--test/file/aes192/ecb/singlechar.plain1
-rw-r--r--test/file/aes192/ofb/blocksize-1.cipher1
-rw-r--r--test/file/aes192/ofb/blocksize-1.iv1
-rw-r--r--test/file/aes192/ofb/blocksize-1.key1
-rw-r--r--test/file/aes192/ofb/blocksize-1.plain1
-rw-r--r--test/file/aes192/ofb/blocksize.cipher1
-rw-r--r--test/file/aes192/ofb/blocksize.iv1
-rw-r--r--test/file/aes192/ofb/blocksize.key1
-rw-r--r--test/file/aes192/ofb/blocksize.plain1
-rw-r--r--test/file/aes192/ofb/empty1.cipher0
-rw-r--r--test/file/aes192/ofb/empty1.iv1
-rw-r--r--test/file/aes192/ofb/empty1.key1
-rw-r--r--test/file/aes192/ofb/empty1.plain0
-rw-r--r--test/file/aes192/ofb/empty2.cipher0
-rw-r--r--test/file/aes192/ofb/empty2.iv1
-rw-r--r--test/file/aes192/ofb/empty2.key1
-rw-r--r--test/file/aes192/ofb/empty2.plain0
-rw-r--r--test/file/aes192/ofb/random64k.cipherbin0 -> 65536 bytes
-rw-r--r--test/file/aes192/ofb/random64k.iv1
-rw-r--r--test/file/aes192/ofb/random64k.key1
-rw-r--r--test/file/aes192/ofb/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes192/ofb/singlechar.cipher1
-rw-r--r--test/file/aes192/ofb/singlechar.iv1
-rw-r--r--test/file/aes192/ofb/singlechar.key1
-rw-r--r--test/file/aes192/ofb/singlechar.plain1
-rw-r--r--test/file/aes256/cbc/blocksize-1.cipher1
-rw-r--r--test/file/aes256/cbc/blocksize-1.iv1
-rw-r--r--test/file/aes256/cbc/blocksize-1.key1
-rw-r--r--test/file/aes256/cbc/blocksize-1.plain1
-rw-r--r--test/file/aes256/cbc/blocksize.cipher1
-rw-r--r--test/file/aes256/cbc/blocksize.iv1
-rw-r--r--test/file/aes256/cbc/blocksize.key1
-rw-r--r--test/file/aes256/cbc/blocksize.plain1
-rw-r--r--test/file/aes256/cbc/empty1.cipher (renamed from test/file/aes256/ecb/0.cipher)0
-rw-r--r--test/file/aes256/cbc/empty1.iv1
-rw-r--r--test/file/aes256/cbc/empty1.key (renamed from test/file/aes256/ecb/0.key)0
-rw-r--r--test/file/aes256/cbc/empty1.plain0
-rw-r--r--test/file/aes256/cbc/empty2.cipher1
-rw-r--r--test/file/aes256/cbc/empty2.iv1
-rw-r--r--test/file/aes256/cbc/empty2.key1
-rw-r--r--test/file/aes256/cbc/empty2.plain0
-rw-r--r--test/file/aes256/cbc/random64k.cipherbin0 -> 65552 bytes
-rw-r--r--test/file/aes256/cbc/random64k.iv1
-rw-r--r--test/file/aes256/cbc/random64k.key1
-rw-r--r--test/file/aes256/cbc/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes256/cbc/singlechar.cipher1
-rw-r--r--test/file/aes256/cbc/singlechar.iv1
-rw-r--r--test/file/aes256/cbc/singlechar.key1
-rw-r--r--test/file/aes256/cbc/singlechar.plain1
-rw-r--r--test/file/aes256/cfb/blocksize-1.cipher1
-rw-r--r--test/file/aes256/cfb/blocksize-1.iv1
-rw-r--r--test/file/aes256/cfb/blocksize-1.key1
-rw-r--r--test/file/aes256/cfb/blocksize-1.plain1
-rw-r--r--test/file/aes256/cfb/blocksize.cipher1
-rw-r--r--test/file/aes256/cfb/blocksize.iv1
-rw-r--r--test/file/aes256/cfb/blocksize.key1
-rw-r--r--test/file/aes256/cfb/blocksize.plain1
-rw-r--r--test/file/aes256/cfb/empty1.cipher0
-rw-r--r--test/file/aes256/cfb/empty1.iv1
-rw-r--r--test/file/aes256/cfb/empty1.key1
-rw-r--r--test/file/aes256/cfb/empty1.plain0
-rw-r--r--test/file/aes256/cfb/empty2.cipher0
-rw-r--r--test/file/aes256/cfb/empty2.iv1
-rw-r--r--test/file/aes256/cfb/empty2.key1
-rw-r--r--test/file/aes256/cfb/empty2.plain0
-rw-r--r--test/file/aes256/cfb/random64k.cipherbin0 -> 65536 bytes
-rw-r--r--test/file/aes256/cfb/random64k.iv1
-rw-r--r--test/file/aes256/cfb/random64k.key1
-rw-r--r--test/file/aes256/cfb/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes256/cfb/singlechar.cipher1
-rw-r--r--test/file/aes256/cfb/singlechar.iv1
-rw-r--r--test/file/aes256/cfb/singlechar.key1
-rw-r--r--test/file/aes256/cfb/singlechar.plain1
-rw-r--r--test/file/aes256/ctr/blocksize-1.cipher1
-rw-r--r--test/file/aes256/ctr/blocksize-1.iv1
-rw-r--r--test/file/aes256/ctr/blocksize-1.key1
-rw-r--r--test/file/aes256/ctr/blocksize-1.plain1
-rw-r--r--test/file/aes256/ctr/blocksize.cipher1
-rw-r--r--test/file/aes256/ctr/blocksize.iv1
-rw-r--r--test/file/aes256/ctr/blocksize.key1
-rw-r--r--test/file/aes256/ctr/blocksize.plain1
-rw-r--r--test/file/aes256/ctr/empty1.cipher0
-rw-r--r--test/file/aes256/ctr/empty1.iv1
-rw-r--r--test/file/aes256/ctr/empty1.key1
-rw-r--r--test/file/aes256/ctr/empty1.plain0
-rw-r--r--test/file/aes256/ctr/empty2.cipher0
-rw-r--r--test/file/aes256/ctr/empty2.iv1
-rw-r--r--test/file/aes256/ctr/empty2.key1
-rw-r--r--test/file/aes256/ctr/empty2.plain0
-rw-r--r--test/file/aes256/ctr/random64k.cipherbin0 -> 65536 bytes
-rw-r--r--test/file/aes256/ctr/random64k.iv1
-rw-r--r--test/file/aes256/ctr/random64k.key1
-rw-r--r--test/file/aes256/ctr/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes256/ctr/singlechar.cipher1
-rw-r--r--test/file/aes256/ctr/singlechar.iv1
-rw-r--r--test/file/aes256/ctr/singlechar.key1
-rw-r--r--test/file/aes256/ctr/singlechar.plain1
-rw-r--r--test/file/aes256/ecb/blocksize-1.cipher1
-rw-r--r--test/file/aes256/ecb/blocksize-1.key1
-rw-r--r--test/file/aes256/ecb/blocksize-1.plain1
-rw-r--r--test/file/aes256/ecb/blocksize.cipher1
-rw-r--r--test/file/aes256/ecb/blocksize.key1
-rw-r--r--test/file/aes256/ecb/blocksize.plain1
-rw-r--r--test/file/aes256/ecb/empty1.cipher1
-rw-r--r--test/file/aes256/ecb/empty1.key1
-rw-r--r--test/file/aes256/ecb/empty1.plain0
-rw-r--r--test/file/aes256/ecb/empty2.cipher1
-rw-r--r--test/file/aes256/ecb/empty2.key1
-rw-r--r--test/file/aes256/ecb/empty2.plain0
-rw-r--r--test/file/aes256/ecb/random64k.cipherbin0 -> 65552 bytes
-rw-r--r--test/file/aes256/ecb/random64k.key1
-rw-r--r--test/file/aes256/ecb/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes256/ecb/singlechar.cipher1
-rw-r--r--test/file/aes256/ecb/singlechar.key1
-rw-r--r--test/file/aes256/ecb/singlechar.plain1
-rw-r--r--test/file/aes256/ofb/blocksize-1.cipher1
-rw-r--r--test/file/aes256/ofb/blocksize-1.iv1
-rw-r--r--test/file/aes256/ofb/blocksize-1.key1
-rw-r--r--test/file/aes256/ofb/blocksize-1.plain1
-rw-r--r--test/file/aes256/ofb/blocksize.cipher1
-rw-r--r--test/file/aes256/ofb/blocksize.iv1
-rw-r--r--test/file/aes256/ofb/blocksize.key1
-rw-r--r--test/file/aes256/ofb/blocksize.plain1
-rw-r--r--test/file/aes256/ofb/empty1.cipher0
-rw-r--r--test/file/aes256/ofb/empty1.iv1
-rw-r--r--test/file/aes256/ofb/empty1.key1
-rw-r--r--test/file/aes256/ofb/empty1.plain0
-rw-r--r--test/file/aes256/ofb/empty2.cipher0
-rw-r--r--test/file/aes256/ofb/empty2.iv1
-rw-r--r--test/file/aes256/ofb/empty2.key1
-rw-r--r--test/file/aes256/ofb/empty2.plain0
-rw-r--r--test/file/aes256/ofb/random64k.cipherbin0 -> 65536 bytes
-rw-r--r--test/file/aes256/ofb/random64k.iv1
-rw-r--r--test/file/aes256/ofb/random64k.key1
-rw-r--r--test/file/aes256/ofb/random64k.plainbin0 -> 65536 bytes
-rw-r--r--test/file/aes256/ofb/singlechar.cipher1
-rw-r--r--test/file/aes256/ofb/singlechar.iv1
-rw-r--r--test/file/aes256/ofb/singlechar.key1
-rw-r--r--test/file/aes256/ofb/singlechar.plain1
345 files changed, 283 insertions, 11 deletions
diff --git a/TODO.md b/TODO.md
index 6084659..0b22e25 100644
--- a/TODO.md
+++ b/TODO.md
@@ -1,4 +1,3 @@
-* Add file encryption tests.
* Add unit tests to the library.
* Using Boost.Test, perhaps? I'm using Boost anyway.
* Add algorithm benchmarks.
diff --git a/test/README.md b/test/README.md
index cf12953..40e5580 100644
--- a/test/README.md
+++ b/test/README.md
@@ -1,15 +1,20 @@
# Testing
-After you've [built](../#building) the block encryption/decryption utilities,
-you can verify the implementation either [manually](#manually) or
+After you've [built](../README.md#building) the utilities, you can verify the
+implementation either [manually](#manually) or
[automatically](#using-test-vectors) using test vectors.
+Using the built utilities, you can also test
+[file encryption](#file-encryption).
+
## Manually
-You can test the AES implementation using the block encryption/decryption
-utilities `encrypt_block.exe` and `decrypt_block.exe`.
+You can test the implementation using the block encryption/decryption utilities
+`encrypt_block.exe` and `decrypt_block.exe`.
Use the `--help` option to examine the usage info of a utility.
+File encryption
+
For example, for AES-128 in ECB mode:
> encrypt_block.exe -a aes128 -m ecb -- 000102030405060708090a0b0c0d0e0f 00112233445566778899aabbccddeeff
@@ -60,3 +65,12 @@ To test the implementation against the vectors from
The AES Known Answer Test (KAT) Vectors are used and read from `KAT_AES.zip`.
python cavp.py -p C:\build\utils\Debug
+
+## File encryption
+
+You can also test file encryption using `file.py`.
+Its interface and output is similar to the
+[block encryption](#using-test-vectors) test scripts.
+The expected ciphertexts (for encryption) and plaintexts (for decryption),
+along with the keys and initialization vectors, are stored in the files under
+a separate directory (`file/` by default).
diff --git a/test/file.py b/test/file.py
index 7afd09a..fdb2d3a 100644
--- a/test/file.py
+++ b/test/file.py
@@ -29,9 +29,9 @@ def _run_encryption_test(tools, tmp_dir, algo, mode, key, plain_path, cipher_pat
logging.info('\tEncrypted file path: ' + tmp_path)
tools.run_encrypt_file(algo, mode, key, plain_path, tmp_path, iv)
if force:
- logging.info('Overwriting expected ciphertext file')
+ logging.warn('Overwriting expected ciphertext file')
shutil.copy(tmp_path, cipher_path)
- return _TestExitCode.SUCCESS
+ return _TestExitCode.SKIPPED
if filecmp.cmp(cipher_path, tmp_path):
return _TestExitCode.SUCCESS
else:
@@ -70,7 +70,7 @@ def _read_key(key_path):
return _read_line(key_path)
def _read_iv(iv_path):
- return _read_line(key_path)
+ return _read_line(iv_path)
def _extract_test_name(key_path):
return os.path.splitext(os.path.basename(key_path))[0]
@@ -121,7 +121,7 @@ def _run_tests(tools, suite_dir, force=False):
iv = _read_iv(iv_path)
plain_path = _build_plain_path(key_path)
cipher_path = _build_cipher_path(key_path)
- os.makedirs(os.path.join(tmp_dir, algo, mode))
+ os.makedirs(os.path.join(tmp_dir, algo, mode), 0o777, True)
try:
exit_codes.append(_run_encryption_test(
tools, os.path.join(tmp_dir, algo, mode),
@@ -164,8 +164,9 @@ if __name__ == '__main__':
help='set test suite directory path')
args = parser.parse_args()
- logging_options = {'format': '%(asctime)s | %(module)s | %(levelname)s | %(message)s',
- 'level': logging.DEBUG}
+ logging_options = {
+ 'format': '%(asctime)s | %(module)s | %(levelname)s | %(message)s',
+ 'level': logging.DEBUG }
if args.log is None:
logging_options['filename'] = datetime.now().strftime('file_%Y-%m-%d_%H-%M-%S.log')
else:
diff --git a/test/file/aes128/cbc/blocksize-1.cipher b/test/file/aes128/cbc/blocksize-1.cipher
new file mode 100644
index 0000000..87401ab
--- /dev/null
+++ b/test/file/aes128/cbc/blocksize-1.cipher
@@ -0,0 +1 @@
+=/I+E \ No newline at end of file
diff --git a/test/file/aes128/cbc/blocksize-1.iv b/test/file/aes128/cbc/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes128/cbc/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes128/cbc/blocksize-1.key b/test/file/aes128/cbc/blocksize-1.key
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/cbc/blocksize-1.key
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/cbc/blocksize-1.plain b/test/file/aes128/cbc/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes128/cbc/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes128/cbc/blocksize.cipher b/test/file/aes128/cbc/blocksize.cipher
new file mode 100644
index 0000000..db31f2b
--- /dev/null
+++ b/test/file/aes128/cbc/blocksize.cipher
@@ -0,0 +1 @@
+ TQ%@bH;Oɩ1%]z \ No newline at end of file
diff --git a/test/file/aes128/cbc/blocksize.iv b/test/file/aes128/cbc/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/cbc/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/cbc/blocksize.key b/test/file/aes128/cbc/blocksize.key
new file mode 100644
index 0000000..d107b25
--- /dev/null
+++ b/test/file/aes128/cbc/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbb \ No newline at end of file
diff --git a/test/file/aes128/cbc/blocksize.plain b/test/file/aes128/cbc/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes128/cbc/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes128/ecb/0.cipher b/test/file/aes128/cbc/empty1.cipher
index b2e558d..b2e558d 100644
--- a/test/file/aes128/ecb/0.cipher
+++ b/test/file/aes128/cbc/empty1.cipher
diff --git a/test/file/aes128/ecb/0.key b/test/file/aes128/cbc/empty1.iv
index 445c724..445c724 100644
--- a/test/file/aes128/ecb/0.key
+++ b/test/file/aes128/cbc/empty1.iv
diff --git a/test/file/aes128/cbc/empty1.key b/test/file/aes128/cbc/empty1.key
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes128/cbc/empty1.key
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes128/ecb/0.plain b/test/file/aes128/cbc/empty1.plain
index e69de29..e69de29 100644
--- a/test/file/aes128/ecb/0.plain
+++ b/test/file/aes128/cbc/empty1.plain
diff --git a/test/file/aes128/cbc/empty2.cipher b/test/file/aes128/cbc/empty2.cipher
new file mode 100644
index 0000000..bb95345
--- /dev/null
+++ b/test/file/aes128/cbc/empty2.cipher
@@ -0,0 +1 @@
+}+ ݈e 5C \ No newline at end of file
diff --git a/test/file/aes128/cbc/empty2.iv b/test/file/aes128/cbc/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/cbc/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/cbc/empty2.key b/test/file/aes128/cbc/empty2.key
new file mode 100644
index 0000000..8bf836e
--- /dev/null
+++ b/test/file/aes128/cbc/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f \ No newline at end of file
diff --git a/test/file/aes192/ecb/0.plain b/test/file/aes128/cbc/empty2.plain
index e69de29..e69de29 100644
--- a/test/file/aes192/ecb/0.plain
+++ b/test/file/aes128/cbc/empty2.plain
diff --git a/test/file/aes128/cbc/random64k.cipher b/test/file/aes128/cbc/random64k.cipher
new file mode 100644
index 0000000..2844cdc
--- /dev/null
+++ b/test/file/aes128/cbc/random64k.cipher
Binary files differ
diff --git a/test/file/aes128/cbc/random64k.iv b/test/file/aes128/cbc/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes128/cbc/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes128/cbc/random64k.key b/test/file/aes128/cbc/random64k.key
new file mode 100644
index 0000000..dfb32f9
--- /dev/null
+++ b/test/file/aes128/cbc/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffff \ No newline at end of file
diff --git a/test/file/aes128/cbc/random64k.plain b/test/file/aes128/cbc/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes128/cbc/random64k.plain
Binary files differ
diff --git a/test/file/aes128/cbc/singlechar.cipher b/test/file/aes128/cbc/singlechar.cipher
new file mode 100644
index 0000000..e6c41cc
--- /dev/null
+++ b/test/file/aes128/cbc/singlechar.cipher
@@ -0,0 +1 @@
+.?w85l{Śq \ No newline at end of file
diff --git a/test/file/aes128/cbc/singlechar.iv b/test/file/aes128/cbc/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes128/cbc/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes128/cbc/singlechar.key b/test/file/aes128/cbc/singlechar.key
new file mode 100644
index 0000000..b1244a6
--- /dev/null
+++ b/test/file/aes128/cbc/singlechar.key
@@ -0,0 +1 @@
+11111111111111112222222222222222 \ No newline at end of file
diff --git a/test/file/aes128/cbc/singlechar.plain b/test/file/aes128/cbc/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes128/cbc/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes128/cfb/blocksize-1.cipher b/test/file/aes128/cfb/blocksize-1.cipher
new file mode 100644
index 0000000..1e482a8
--- /dev/null
+++ b/test/file/aes128/cfb/blocksize-1.cipher
@@ -0,0 +1 @@
+8ęŔd`p' \ No newline at end of file
diff --git a/test/file/aes128/cfb/blocksize-1.iv b/test/file/aes128/cfb/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes128/cfb/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes128/cfb/blocksize-1.key b/test/file/aes128/cfb/blocksize-1.key
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/cfb/blocksize-1.key
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/cfb/blocksize-1.plain b/test/file/aes128/cfb/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes128/cfb/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes128/cfb/blocksize.cipher b/test/file/aes128/cfb/blocksize.cipher
new file mode 100644
index 0000000..4191a35
--- /dev/null
+++ b/test/file/aes128/cfb/blocksize.cipher
@@ -0,0 +1 @@
+s]NϘu \ No newline at end of file
diff --git a/test/file/aes128/cfb/blocksize.iv b/test/file/aes128/cfb/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/cfb/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/cfb/blocksize.key b/test/file/aes128/cfb/blocksize.key
new file mode 100644
index 0000000..d107b25
--- /dev/null
+++ b/test/file/aes128/cfb/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbb \ No newline at end of file
diff --git a/test/file/aes128/cfb/blocksize.plain b/test/file/aes128/cfb/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes128/cfb/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes256/ecb/0.plain b/test/file/aes128/cfb/empty1.cipher
index e69de29..e69de29 100644
--- a/test/file/aes256/ecb/0.plain
+++ b/test/file/aes128/cfb/empty1.cipher
diff --git a/test/file/aes128/cfb/empty1.iv b/test/file/aes128/cfb/empty1.iv
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes128/cfb/empty1.iv
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes128/cfb/empty1.key b/test/file/aes128/cfb/empty1.key
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes128/cfb/empty1.key
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes128/cfb/empty1.plain b/test/file/aes128/cfb/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/cfb/empty1.plain
diff --git a/test/file/aes128/cfb/empty2.cipher b/test/file/aes128/cfb/empty2.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/cfb/empty2.cipher
diff --git a/test/file/aes128/cfb/empty2.iv b/test/file/aes128/cfb/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/cfb/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/cfb/empty2.key b/test/file/aes128/cfb/empty2.key
new file mode 100644
index 0000000..8bf836e
--- /dev/null
+++ b/test/file/aes128/cfb/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f \ No newline at end of file
diff --git a/test/file/aes128/cfb/empty2.plain b/test/file/aes128/cfb/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/cfb/empty2.plain
diff --git a/test/file/aes128/cfb/random64k.cipher b/test/file/aes128/cfb/random64k.cipher
new file mode 100644
index 0000000..4cf71a3
--- /dev/null
+++ b/test/file/aes128/cfb/random64k.cipher
Binary files differ
diff --git a/test/file/aes128/cfb/random64k.iv b/test/file/aes128/cfb/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes128/cfb/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes128/cfb/random64k.key b/test/file/aes128/cfb/random64k.key
new file mode 100644
index 0000000..dfb32f9
--- /dev/null
+++ b/test/file/aes128/cfb/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffff \ No newline at end of file
diff --git a/test/file/aes128/cfb/random64k.plain b/test/file/aes128/cfb/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes128/cfb/random64k.plain
Binary files differ
diff --git a/test/file/aes128/cfb/singlechar.cipher b/test/file/aes128/cfb/singlechar.cipher
new file mode 100644
index 0000000..ea0c8a8
--- /dev/null
+++ b/test/file/aes128/cfb/singlechar.cipher
@@ -0,0 +1 @@
+q \ No newline at end of file
diff --git a/test/file/aes128/cfb/singlechar.iv b/test/file/aes128/cfb/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes128/cfb/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes128/cfb/singlechar.key b/test/file/aes128/cfb/singlechar.key
new file mode 100644
index 0000000..b1244a6
--- /dev/null
+++ b/test/file/aes128/cfb/singlechar.key
@@ -0,0 +1 @@
+11111111111111112222222222222222 \ No newline at end of file
diff --git a/test/file/aes128/cfb/singlechar.plain b/test/file/aes128/cfb/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes128/cfb/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes128/ctr/blocksize-1.cipher b/test/file/aes128/ctr/blocksize-1.cipher
new file mode 100644
index 0000000..1e482a8
--- /dev/null
+++ b/test/file/aes128/ctr/blocksize-1.cipher
@@ -0,0 +1 @@
+8ęŔd`p' \ No newline at end of file
diff --git a/test/file/aes128/ctr/blocksize-1.iv b/test/file/aes128/ctr/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes128/ctr/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes128/ctr/blocksize-1.key b/test/file/aes128/ctr/blocksize-1.key
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/ctr/blocksize-1.key
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/ctr/blocksize-1.plain b/test/file/aes128/ctr/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes128/ctr/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes128/ctr/blocksize.cipher b/test/file/aes128/ctr/blocksize.cipher
new file mode 100644
index 0000000..4191a35
--- /dev/null
+++ b/test/file/aes128/ctr/blocksize.cipher
@@ -0,0 +1 @@
+s]NϘu \ No newline at end of file
diff --git a/test/file/aes128/ctr/blocksize.iv b/test/file/aes128/ctr/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/ctr/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/ctr/blocksize.key b/test/file/aes128/ctr/blocksize.key
new file mode 100644
index 0000000..d107b25
--- /dev/null
+++ b/test/file/aes128/ctr/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbb \ No newline at end of file
diff --git a/test/file/aes128/ctr/blocksize.plain b/test/file/aes128/ctr/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes128/ctr/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes128/ctr/empty1.cipher b/test/file/aes128/ctr/empty1.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/ctr/empty1.cipher
diff --git a/test/file/aes128/ctr/empty1.iv b/test/file/aes128/ctr/empty1.iv
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes128/ctr/empty1.iv
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes128/ctr/empty1.key b/test/file/aes128/ctr/empty1.key
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes128/ctr/empty1.key
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes128/ctr/empty1.plain b/test/file/aes128/ctr/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/ctr/empty1.plain
diff --git a/test/file/aes128/ctr/empty2.cipher b/test/file/aes128/ctr/empty2.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/ctr/empty2.cipher
diff --git a/test/file/aes128/ctr/empty2.iv b/test/file/aes128/ctr/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/ctr/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/ctr/empty2.key b/test/file/aes128/ctr/empty2.key
new file mode 100644
index 0000000..8bf836e
--- /dev/null
+++ b/test/file/aes128/ctr/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f \ No newline at end of file
diff --git a/test/file/aes128/ctr/empty2.plain b/test/file/aes128/ctr/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/ctr/empty2.plain
diff --git a/test/file/aes128/ctr/random64k.cipher b/test/file/aes128/ctr/random64k.cipher
new file mode 100644
index 0000000..081917b
--- /dev/null
+++ b/test/file/aes128/ctr/random64k.cipher
Binary files differ
diff --git a/test/file/aes128/ctr/random64k.iv b/test/file/aes128/ctr/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes128/ctr/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes128/ctr/random64k.key b/test/file/aes128/ctr/random64k.key
new file mode 100644
index 0000000..dfb32f9
--- /dev/null
+++ b/test/file/aes128/ctr/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffff \ No newline at end of file
diff --git a/test/file/aes128/ctr/random64k.plain b/test/file/aes128/ctr/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes128/ctr/random64k.plain
Binary files differ
diff --git a/test/file/aes128/ctr/singlechar.cipher b/test/file/aes128/ctr/singlechar.cipher
new file mode 100644
index 0000000..ea0c8a8
--- /dev/null
+++ b/test/file/aes128/ctr/singlechar.cipher
@@ -0,0 +1 @@
+q \ No newline at end of file
diff --git a/test/file/aes128/ctr/singlechar.iv b/test/file/aes128/ctr/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes128/ctr/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes128/ctr/singlechar.key b/test/file/aes128/ctr/singlechar.key
new file mode 100644
index 0000000..b1244a6
--- /dev/null
+++ b/test/file/aes128/ctr/singlechar.key
@@ -0,0 +1 @@
+11111111111111112222222222222222 \ No newline at end of file
diff --git a/test/file/aes128/ctr/singlechar.plain b/test/file/aes128/ctr/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes128/ctr/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes128/ecb/blocksize-1.cipher b/test/file/aes128/ecb/blocksize-1.cipher
new file mode 100644
index 0000000..7733924
--- /dev/null
+++ b/test/file/aes128/ecb/blocksize-1.cipher
@@ -0,0 +1 @@
+o?1lؘ.l \ No newline at end of file
diff --git a/test/file/aes128/ecb/blocksize-1.key b/test/file/aes128/ecb/blocksize-1.key
new file mode 100644
index 0000000..8bf836e
--- /dev/null
+++ b/test/file/aes128/ecb/blocksize-1.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f \ No newline at end of file
diff --git a/test/file/aes128/ecb/blocksize-1.plain b/test/file/aes128/ecb/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes128/ecb/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes128/ecb/blocksize.cipher b/test/file/aes128/ecb/blocksize.cipher
new file mode 100644
index 0000000..d8e4d34
--- /dev/null
+++ b/test/file/aes128/ecb/blocksize.cipher
@@ -0,0 +1 @@
+{ST14cEM(m= \ No newline at end of file
diff --git a/test/file/aes128/ecb/blocksize.key b/test/file/aes128/ecb/blocksize.key
new file mode 100644
index 0000000..d107b25
--- /dev/null
+++ b/test/file/aes128/ecb/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbb \ No newline at end of file
diff --git a/test/file/aes128/ecb/blocksize.plain b/test/file/aes128/ecb/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes128/ecb/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes128/ecb/empty1.cipher b/test/file/aes128/ecb/empty1.cipher
new file mode 100644
index 0000000..b2e558d
--- /dev/null
+++ b/test/file/aes128/ecb/empty1.cipher
@@ -0,0 +1 @@
+Ccfiv \ No newline at end of file
diff --git a/test/file/aes128/ecb/empty1.key b/test/file/aes128/ecb/empty1.key
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes128/ecb/empty1.key
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes128/ecb/empty1.plain b/test/file/aes128/ecb/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/ecb/empty1.plain
diff --git a/test/file/aes128/ecb/empty2.cipher b/test/file/aes128/ecb/empty2.cipher
new file mode 100644
index 0000000..3bd4dc2
--- /dev/null
+++ b/test/file/aes128/ecb/empty2.cipher
@@ -0,0 +1 @@
+OdnhH \ No newline at end of file
diff --git a/test/file/aes128/ecb/empty2.key b/test/file/aes128/ecb/empty2.key
new file mode 100644
index 0000000..8bf836e
--- /dev/null
+++ b/test/file/aes128/ecb/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f \ No newline at end of file
diff --git a/test/file/aes128/ecb/empty2.plain b/test/file/aes128/ecb/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/ecb/empty2.plain
diff --git a/test/file/aes128/ecb/random64k.cipher b/test/file/aes128/ecb/random64k.cipher
new file mode 100644
index 0000000..5a97526
--- /dev/null
+++ b/test/file/aes128/ecb/random64k.cipher
Binary files differ
diff --git a/test/file/aes128/ecb/random64k.key b/test/file/aes128/ecb/random64k.key
new file mode 100644
index 0000000..dfb32f9
--- /dev/null
+++ b/test/file/aes128/ecb/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffff \ No newline at end of file
diff --git a/test/file/aes128/ecb/random64k.plain b/test/file/aes128/ecb/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes128/ecb/random64k.plain
Binary files differ
diff --git a/test/file/aes128/ecb/singlechar.cipher b/test/file/aes128/ecb/singlechar.cipher
new file mode 100644
index 0000000..1b2fcef
--- /dev/null
+++ b/test/file/aes128/ecb/singlechar.cipher
@@ -0,0 +1 @@
+߮dk.%` \ No newline at end of file
diff --git a/test/file/aes128/ecb/singlechar.key b/test/file/aes128/ecb/singlechar.key
new file mode 100644
index 0000000..b1244a6
--- /dev/null
+++ b/test/file/aes128/ecb/singlechar.key
@@ -0,0 +1 @@
+11111111111111112222222222222222 \ No newline at end of file
diff --git a/test/file/aes128/ecb/singlechar.plain b/test/file/aes128/ecb/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes128/ecb/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes128/ofb/blocksize-1.cipher b/test/file/aes128/ofb/blocksize-1.cipher
new file mode 100644
index 0000000..1e482a8
--- /dev/null
+++ b/test/file/aes128/ofb/blocksize-1.cipher
@@ -0,0 +1 @@
+8ęŔd`p' \ No newline at end of file
diff --git a/test/file/aes128/ofb/blocksize-1.iv b/test/file/aes128/ofb/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes128/ofb/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes128/ofb/blocksize-1.key b/test/file/aes128/ofb/blocksize-1.key
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/ofb/blocksize-1.key
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/ofb/blocksize-1.plain b/test/file/aes128/ofb/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes128/ofb/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes128/ofb/blocksize.cipher b/test/file/aes128/ofb/blocksize.cipher
new file mode 100644
index 0000000..4191a35
--- /dev/null
+++ b/test/file/aes128/ofb/blocksize.cipher
@@ -0,0 +1 @@
+s]NϘu \ No newline at end of file
diff --git a/test/file/aes128/ofb/blocksize.iv b/test/file/aes128/ofb/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/ofb/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/ofb/blocksize.key b/test/file/aes128/ofb/blocksize.key
new file mode 100644
index 0000000..d107b25
--- /dev/null
+++ b/test/file/aes128/ofb/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbb \ No newline at end of file
diff --git a/test/file/aes128/ofb/blocksize.plain b/test/file/aes128/ofb/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes128/ofb/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes128/ofb/empty1.cipher b/test/file/aes128/ofb/empty1.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/ofb/empty1.cipher
diff --git a/test/file/aes128/ofb/empty1.iv b/test/file/aes128/ofb/empty1.iv
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes128/ofb/empty1.iv
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes128/ofb/empty1.key b/test/file/aes128/ofb/empty1.key
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes128/ofb/empty1.key
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes128/ofb/empty1.plain b/test/file/aes128/ofb/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/ofb/empty1.plain
diff --git a/test/file/aes128/ofb/empty2.cipher b/test/file/aes128/ofb/empty2.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/ofb/empty2.cipher
diff --git a/test/file/aes128/ofb/empty2.iv b/test/file/aes128/ofb/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes128/ofb/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes128/ofb/empty2.key b/test/file/aes128/ofb/empty2.key
new file mode 100644
index 0000000..8bf836e
--- /dev/null
+++ b/test/file/aes128/ofb/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f \ No newline at end of file
diff --git a/test/file/aes128/ofb/empty2.plain b/test/file/aes128/ofb/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes128/ofb/empty2.plain
diff --git a/test/file/aes128/ofb/random64k.cipher b/test/file/aes128/ofb/random64k.cipher
new file mode 100644
index 0000000..783cb90
--- /dev/null
+++ b/test/file/aes128/ofb/random64k.cipher
Binary files differ
diff --git a/test/file/aes128/ofb/random64k.iv b/test/file/aes128/ofb/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes128/ofb/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes128/ofb/random64k.key b/test/file/aes128/ofb/random64k.key
new file mode 100644
index 0000000..dfb32f9
--- /dev/null
+++ b/test/file/aes128/ofb/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffff \ No newline at end of file
diff --git a/test/file/aes128/ofb/random64k.plain b/test/file/aes128/ofb/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes128/ofb/random64k.plain
Binary files differ
diff --git a/test/file/aes128/ofb/singlechar.cipher b/test/file/aes128/ofb/singlechar.cipher
new file mode 100644
index 0000000..ea0c8a8
--- /dev/null
+++ b/test/file/aes128/ofb/singlechar.cipher
@@ -0,0 +1 @@
+q \ No newline at end of file
diff --git a/test/file/aes128/ofb/singlechar.iv b/test/file/aes128/ofb/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes128/ofb/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes128/ofb/singlechar.key b/test/file/aes128/ofb/singlechar.key
new file mode 100644
index 0000000..b1244a6
--- /dev/null
+++ b/test/file/aes128/ofb/singlechar.key
@@ -0,0 +1 @@
+11111111111111112222222222222222 \ No newline at end of file
diff --git a/test/file/aes128/ofb/singlechar.plain b/test/file/aes128/ofb/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes128/ofb/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes192/cbc/blocksize-1.cipher b/test/file/aes192/cbc/blocksize-1.cipher
new file mode 100644
index 0000000..49452d7
--- /dev/null
+++ b/test/file/aes192/cbc/blocksize-1.cipher
@@ -0,0 +1 @@
+[~=z~~"3H \ No newline at end of file
diff --git a/test/file/aes192/cbc/blocksize-1.iv b/test/file/aes192/cbc/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes192/cbc/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes192/cbc/blocksize-1.key b/test/file/aes192/cbc/blocksize-1.key
new file mode 100644
index 0000000..de427c6
--- /dev/null
+++ b/test/file/aes192/cbc/blocksize-1.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f1011121314151617 \ No newline at end of file
diff --git a/test/file/aes192/cbc/blocksize-1.plain b/test/file/aes192/cbc/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes192/cbc/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes192/cbc/blocksize.cipher b/test/file/aes192/cbc/blocksize.cipher
new file mode 100644
index 0000000..6fa9102
--- /dev/null
+++ b/test/file/aes192/cbc/blocksize.cipher
@@ -0,0 +1 @@
+ZZ{e$a wK;{0ֺmv| \ No newline at end of file
diff --git a/test/file/aes192/cbc/blocksize.iv b/test/file/aes192/cbc/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes192/cbc/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes192/cbc/blocksize.key b/test/file/aes192/cbc/blocksize.key
new file mode 100644
index 0000000..e9bb563
--- /dev/null
+++ b/test/file/aes192/cbc/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbb \ No newline at end of file
diff --git a/test/file/aes192/cbc/blocksize.plain b/test/file/aes192/cbc/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes192/cbc/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes192/ecb/0.cipher b/test/file/aes192/cbc/empty1.cipher
index bb790e8..bb790e8 100644
--- a/test/file/aes192/ecb/0.cipher
+++ b/test/file/aes192/cbc/empty1.cipher
diff --git a/test/file/aes192/cbc/empty1.iv b/test/file/aes192/cbc/empty1.iv
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes192/cbc/empty1.iv
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes192/ecb/0.key b/test/file/aes192/cbc/empty1.key
index b644ad8..b644ad8 100644
--- a/test/file/aes192/ecb/0.key
+++ b/test/file/aes192/cbc/empty1.key
diff --git a/test/file/aes192/cbc/empty1.plain b/test/file/aes192/cbc/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/cbc/empty1.plain
diff --git a/test/file/aes192/cbc/empty2.cipher b/test/file/aes192/cbc/empty2.cipher
new file mode 100644
index 0000000..55ff19f
--- /dev/null
+++ b/test/file/aes192/cbc/empty2.cipher
Binary files differ
diff --git a/test/file/aes192/cbc/empty2.iv b/test/file/aes192/cbc/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes192/cbc/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes192/cbc/empty2.key b/test/file/aes192/cbc/empty2.key
new file mode 100644
index 0000000..de427c6
--- /dev/null
+++ b/test/file/aes192/cbc/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f1011121314151617 \ No newline at end of file
diff --git a/test/file/aes192/cbc/empty2.plain b/test/file/aes192/cbc/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/cbc/empty2.plain
diff --git a/test/file/aes192/cbc/random64k.cipher b/test/file/aes192/cbc/random64k.cipher
new file mode 100644
index 0000000..3fc6fb3
--- /dev/null
+++ b/test/file/aes192/cbc/random64k.cipher
Binary files differ
diff --git a/test/file/aes192/cbc/random64k.iv b/test/file/aes192/cbc/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes192/cbc/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes192/cbc/random64k.key b/test/file/aes192/cbc/random64k.key
new file mode 100644
index 0000000..f0a9e25
--- /dev/null
+++ b/test/file/aes192/cbc/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffffffffffffffffffff \ No newline at end of file
diff --git a/test/file/aes192/cbc/random64k.plain b/test/file/aes192/cbc/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes192/cbc/random64k.plain
Binary files differ
diff --git a/test/file/aes192/cbc/singlechar.cipher b/test/file/aes192/cbc/singlechar.cipher
new file mode 100644
index 0000000..4eae5ac
--- /dev/null
+++ b/test/file/aes192/cbc/singlechar.cipher
@@ -0,0 +1,2 @@
+s88G
+~5/Sp \ No newline at end of file
diff --git a/test/file/aes192/cbc/singlechar.iv b/test/file/aes192/cbc/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes192/cbc/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes192/cbc/singlechar.key b/test/file/aes192/cbc/singlechar.key
new file mode 100644
index 0000000..f2208cf
--- /dev/null
+++ b/test/file/aes192/cbc/singlechar.key
@@ -0,0 +1 @@
+111111111111111122222222222222222222222222222222 \ No newline at end of file
diff --git a/test/file/aes192/cbc/singlechar.plain b/test/file/aes192/cbc/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes192/cbc/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes192/cfb/blocksize-1.cipher b/test/file/aes192/cfb/blocksize-1.cipher
new file mode 100644
index 0000000..ed2b8eb
--- /dev/null
+++ b/test/file/aes192/cfb/blocksize-1.cipher
@@ -0,0 +1 @@
+ͥT^9Ttǰ \ No newline at end of file
diff --git a/test/file/aes192/cfb/blocksize-1.iv b/test/file/aes192/cfb/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes192/cfb/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes192/cfb/blocksize-1.key b/test/file/aes192/cfb/blocksize-1.key
new file mode 100644
index 0000000..de427c6
--- /dev/null
+++ b/test/file/aes192/cfb/blocksize-1.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f1011121314151617 \ No newline at end of file
diff --git a/test/file/aes192/cfb/blocksize-1.plain b/test/file/aes192/cfb/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes192/cfb/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes192/cfb/blocksize.cipher b/test/file/aes192/cfb/blocksize.cipher
new file mode 100644
index 0000000..210c21d
--- /dev/null
+++ b/test/file/aes192/cfb/blocksize.cipher
@@ -0,0 +1 @@
+ժ#'gi9 \ No newline at end of file
diff --git a/test/file/aes192/cfb/blocksize.iv b/test/file/aes192/cfb/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes192/cfb/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes192/cfb/blocksize.key b/test/file/aes192/cfb/blocksize.key
new file mode 100644
index 0000000..e9bb563
--- /dev/null
+++ b/test/file/aes192/cfb/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbb \ No newline at end of file
diff --git a/test/file/aes192/cfb/blocksize.plain b/test/file/aes192/cfb/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes192/cfb/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes192/cfb/empty1.cipher b/test/file/aes192/cfb/empty1.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/cfb/empty1.cipher
diff --git a/test/file/aes192/cfb/empty1.iv b/test/file/aes192/cfb/empty1.iv
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes192/cfb/empty1.iv
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes192/cfb/empty1.key b/test/file/aes192/cfb/empty1.key
new file mode 100644
index 0000000..b644ad8
--- /dev/null
+++ b/test/file/aes192/cfb/empty1.key
@@ -0,0 +1 @@
+000000000000000000000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes192/cfb/empty1.plain b/test/file/aes192/cfb/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/cfb/empty1.plain
diff --git a/test/file/aes192/cfb/empty2.cipher b/test/file/aes192/cfb/empty2.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/cfb/empty2.cipher
diff --git a/test/file/aes192/cfb/empty2.iv b/test/file/aes192/cfb/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes192/cfb/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes192/cfb/empty2.key b/test/file/aes192/cfb/empty2.key
new file mode 100644
index 0000000..de427c6
--- /dev/null
+++ b/test/file/aes192/cfb/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f1011121314151617 \ No newline at end of file
diff --git a/test/file/aes192/cfb/empty2.plain b/test/file/aes192/cfb/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/cfb/empty2.plain
diff --git a/test/file/aes192/cfb/random64k.cipher b/test/file/aes192/cfb/random64k.cipher
new file mode 100644
index 0000000..f127629
--- /dev/null
+++ b/test/file/aes192/cfb/random64k.cipher
Binary files differ
diff --git a/test/file/aes192/cfb/random64k.iv b/test/file/aes192/cfb/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes192/cfb/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes192/cfb/random64k.key b/test/file/aes192/cfb/random64k.key
new file mode 100644
index 0000000..f0a9e25
--- /dev/null
+++ b/test/file/aes192/cfb/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffffffffffffffffffff \ No newline at end of file
diff --git a/test/file/aes192/cfb/random64k.plain b/test/file/aes192/cfb/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes192/cfb/random64k.plain
Binary files differ
diff --git a/test/file/aes192/cfb/singlechar.cipher b/test/file/aes192/cfb/singlechar.cipher
new file mode 100644
index 0000000..e25f181
--- /dev/null
+++ b/test/file/aes192/cfb/singlechar.cipher
@@ -0,0 +1 @@
+y \ No newline at end of file
diff --git a/test/file/aes192/cfb/singlechar.iv b/test/file/aes192/cfb/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes192/cfb/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes192/cfb/singlechar.key b/test/file/aes192/cfb/singlechar.key
new file mode 100644
index 0000000..f2208cf
--- /dev/null
+++ b/test/file/aes192/cfb/singlechar.key
@@ -0,0 +1 @@
+111111111111111122222222222222222222222222222222 \ No newline at end of file
diff --git a/test/file/aes192/cfb/singlechar.plain b/test/file/aes192/cfb/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes192/cfb/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes192/ctr/blocksize-1.cipher b/test/file/aes192/ctr/blocksize-1.cipher
new file mode 100644
index 0000000..ed2b8eb
--- /dev/null
+++ b/test/file/aes192/ctr/blocksize-1.cipher
@@ -0,0 +1 @@
+ͥT^9Ttǰ \ No newline at end of file
diff --git a/test/file/aes192/ctr/blocksize-1.iv b/test/file/aes192/ctr/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes192/ctr/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes192/ctr/blocksize-1.key b/test/file/aes192/ctr/blocksize-1.key
new file mode 100644
index 0000000..de427c6
--- /dev/null
+++ b/test/file/aes192/ctr/blocksize-1.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f1011121314151617 \ No newline at end of file
diff --git a/test/file/aes192/ctr/blocksize-1.plain b/test/file/aes192/ctr/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes192/ctr/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes192/ctr/blocksize.cipher b/test/file/aes192/ctr/blocksize.cipher
new file mode 100644
index 0000000..210c21d
--- /dev/null
+++ b/test/file/aes192/ctr/blocksize.cipher
@@ -0,0 +1 @@
+ժ#'gi9 \ No newline at end of file
diff --git a/test/file/aes192/ctr/blocksize.iv b/test/file/aes192/ctr/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes192/ctr/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes192/ctr/blocksize.key b/test/file/aes192/ctr/blocksize.key
new file mode 100644
index 0000000..e9bb563
--- /dev/null
+++ b/test/file/aes192/ctr/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbb \ No newline at end of file
diff --git a/test/file/aes192/ctr/blocksize.plain b/test/file/aes192/ctr/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes192/ctr/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes192/ctr/empty1.cipher b/test/file/aes192/ctr/empty1.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/ctr/empty1.cipher
diff --git a/test/file/aes192/ctr/empty1.iv b/test/file/aes192/ctr/empty1.iv
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes192/ctr/empty1.iv
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes192/ctr/empty1.key b/test/file/aes192/ctr/empty1.key
new file mode 100644
index 0000000..b644ad8
--- /dev/null
+++ b/test/file/aes192/ctr/empty1.key
@@ -0,0 +1 @@
+000000000000000000000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes192/ctr/empty1.plain b/test/file/aes192/ctr/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/ctr/empty1.plain
diff --git a/test/file/aes192/ctr/empty2.cipher b/test/file/aes192/ctr/empty2.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/ctr/empty2.cipher
diff --git a/test/file/aes192/ctr/empty2.iv b/test/file/aes192/ctr/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes192/ctr/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes192/ctr/empty2.key b/test/file/aes192/ctr/empty2.key
new file mode 100644
index 0000000..de427c6
--- /dev/null
+++ b/test/file/aes192/ctr/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f1011121314151617 \ No newline at end of file
diff --git a/test/file/aes192/ctr/empty2.plain b/test/file/aes192/ctr/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/ctr/empty2.plain
diff --git a/test/file/aes192/ctr/random64k.cipher b/test/file/aes192/ctr/random64k.cipher
new file mode 100644
index 0000000..8535e1f
--- /dev/null
+++ b/test/file/aes192/ctr/random64k.cipher
Binary files differ
diff --git a/test/file/aes192/ctr/random64k.iv b/test/file/aes192/ctr/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes192/ctr/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes192/ctr/random64k.key b/test/file/aes192/ctr/random64k.key
new file mode 100644
index 0000000..f0a9e25
--- /dev/null
+++ b/test/file/aes192/ctr/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffffffffffffffffffff \ No newline at end of file
diff --git a/test/file/aes192/ctr/random64k.plain b/test/file/aes192/ctr/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes192/ctr/random64k.plain
Binary files differ
diff --git a/test/file/aes192/ctr/singlechar.cipher b/test/file/aes192/ctr/singlechar.cipher
new file mode 100644
index 0000000..e25f181
--- /dev/null
+++ b/test/file/aes192/ctr/singlechar.cipher
@@ -0,0 +1 @@
+y \ No newline at end of file
diff --git a/test/file/aes192/ctr/singlechar.iv b/test/file/aes192/ctr/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes192/ctr/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes192/ctr/singlechar.key b/test/file/aes192/ctr/singlechar.key
new file mode 100644
index 0000000..f2208cf
--- /dev/null
+++ b/test/file/aes192/ctr/singlechar.key
@@ -0,0 +1 @@
+111111111111111122222222222222222222222222222222 \ No newline at end of file
diff --git a/test/file/aes192/ctr/singlechar.plain b/test/file/aes192/ctr/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes192/ctr/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes192/ecb/blocksize-1.cipher b/test/file/aes192/ecb/blocksize-1.cipher
new file mode 100644
index 0000000..8d67ac4
--- /dev/null
+++ b/test/file/aes192/ecb/blocksize-1.cipher
@@ -0,0 +1 @@
+"o8%` \ No newline at end of file
diff --git a/test/file/aes192/ecb/blocksize-1.key b/test/file/aes192/ecb/blocksize-1.key
new file mode 100644
index 0000000..de427c6
--- /dev/null
+++ b/test/file/aes192/ecb/blocksize-1.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f1011121314151617 \ No newline at end of file
diff --git a/test/file/aes192/ecb/blocksize-1.plain b/test/file/aes192/ecb/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes192/ecb/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes192/ecb/blocksize.cipher b/test/file/aes192/ecb/blocksize.cipher
new file mode 100644
index 0000000..99c216f
--- /dev/null
+++ b/test/file/aes192/ecb/blocksize.cipher
Binary files differ
diff --git a/test/file/aes192/ecb/blocksize.key b/test/file/aes192/ecb/blocksize.key
new file mode 100644
index 0000000..e9bb563
--- /dev/null
+++ b/test/file/aes192/ecb/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbb \ No newline at end of file
diff --git a/test/file/aes192/ecb/blocksize.plain b/test/file/aes192/ecb/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes192/ecb/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes192/ecb/empty1.cipher b/test/file/aes192/ecb/empty1.cipher
new file mode 100644
index 0000000..bb790e8
--- /dev/null
+++ b/test/file/aes192/ecb/empty1.cipher
@@ -0,0 +1,2 @@
+)%'&Q)Mo
+ \ No newline at end of file
diff --git a/test/file/aes192/ecb/empty1.key b/test/file/aes192/ecb/empty1.key
new file mode 100644
index 0000000..b644ad8
--- /dev/null
+++ b/test/file/aes192/ecb/empty1.key
@@ -0,0 +1 @@
+000000000000000000000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes192/ecb/empty1.plain b/test/file/aes192/ecb/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/ecb/empty1.plain
diff --git a/test/file/aes192/ecb/empty2.cipher b/test/file/aes192/ecb/empty2.cipher
new file mode 100644
index 0000000..a64f410
--- /dev/null
+++ b/test/file/aes192/ecb/empty2.cipher
@@ -0,0 +1 @@
+?(j9Cwp %& \ No newline at end of file
diff --git a/test/file/aes192/ecb/empty2.key b/test/file/aes192/ecb/empty2.key
new file mode 100644
index 0000000..de427c6
--- /dev/null
+++ b/test/file/aes192/ecb/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f1011121314151617 \ No newline at end of file
diff --git a/test/file/aes192/ecb/empty2.plain b/test/file/aes192/ecb/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/ecb/empty2.plain
diff --git a/test/file/aes192/ecb/random64k.cipher b/test/file/aes192/ecb/random64k.cipher
new file mode 100644
index 0000000..a11283e
--- /dev/null
+++ b/test/file/aes192/ecb/random64k.cipher
Binary files differ
diff --git a/test/file/aes192/ecb/random64k.key b/test/file/aes192/ecb/random64k.key
new file mode 100644
index 0000000..f0a9e25
--- /dev/null
+++ b/test/file/aes192/ecb/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffffffffffffffffffff \ No newline at end of file
diff --git a/test/file/aes192/ecb/random64k.plain b/test/file/aes192/ecb/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes192/ecb/random64k.plain
Binary files differ
diff --git a/test/file/aes192/ecb/singlechar.cipher b/test/file/aes192/ecb/singlechar.cipher
new file mode 100644
index 0000000..5414846
--- /dev/null
+++ b/test/file/aes192/ecb/singlechar.cipher
@@ -0,0 +1 @@
+gGX͆dՈ \ No newline at end of file
diff --git a/test/file/aes192/ecb/singlechar.key b/test/file/aes192/ecb/singlechar.key
new file mode 100644
index 0000000..f2208cf
--- /dev/null
+++ b/test/file/aes192/ecb/singlechar.key
@@ -0,0 +1 @@
+111111111111111122222222222222222222222222222222 \ No newline at end of file
diff --git a/test/file/aes192/ecb/singlechar.plain b/test/file/aes192/ecb/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes192/ecb/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes192/ofb/blocksize-1.cipher b/test/file/aes192/ofb/blocksize-1.cipher
new file mode 100644
index 0000000..ed2b8eb
--- /dev/null
+++ b/test/file/aes192/ofb/blocksize-1.cipher
@@ -0,0 +1 @@
+ͥT^9Ttǰ \ No newline at end of file
diff --git a/test/file/aes192/ofb/blocksize-1.iv b/test/file/aes192/ofb/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes192/ofb/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes192/ofb/blocksize-1.key b/test/file/aes192/ofb/blocksize-1.key
new file mode 100644
index 0000000..de427c6
--- /dev/null
+++ b/test/file/aes192/ofb/blocksize-1.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f1011121314151617 \ No newline at end of file
diff --git a/test/file/aes192/ofb/blocksize-1.plain b/test/file/aes192/ofb/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes192/ofb/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes192/ofb/blocksize.cipher b/test/file/aes192/ofb/blocksize.cipher
new file mode 100644
index 0000000..210c21d
--- /dev/null
+++ b/test/file/aes192/ofb/blocksize.cipher
@@ -0,0 +1 @@
+ժ#'gi9 \ No newline at end of file
diff --git a/test/file/aes192/ofb/blocksize.iv b/test/file/aes192/ofb/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes192/ofb/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes192/ofb/blocksize.key b/test/file/aes192/ofb/blocksize.key
new file mode 100644
index 0000000..e9bb563
--- /dev/null
+++ b/test/file/aes192/ofb/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbb \ No newline at end of file
diff --git a/test/file/aes192/ofb/blocksize.plain b/test/file/aes192/ofb/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes192/ofb/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes192/ofb/empty1.cipher b/test/file/aes192/ofb/empty1.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/ofb/empty1.cipher
diff --git a/test/file/aes192/ofb/empty1.iv b/test/file/aes192/ofb/empty1.iv
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes192/ofb/empty1.iv
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes192/ofb/empty1.key b/test/file/aes192/ofb/empty1.key
new file mode 100644
index 0000000..b644ad8
--- /dev/null
+++ b/test/file/aes192/ofb/empty1.key
@@ -0,0 +1 @@
+000000000000000000000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes192/ofb/empty1.plain b/test/file/aes192/ofb/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/ofb/empty1.plain
diff --git a/test/file/aes192/ofb/empty2.cipher b/test/file/aes192/ofb/empty2.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/ofb/empty2.cipher
diff --git a/test/file/aes192/ofb/empty2.iv b/test/file/aes192/ofb/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes192/ofb/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes192/ofb/empty2.key b/test/file/aes192/ofb/empty2.key
new file mode 100644
index 0000000..de427c6
--- /dev/null
+++ b/test/file/aes192/ofb/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f1011121314151617 \ No newline at end of file
diff --git a/test/file/aes192/ofb/empty2.plain b/test/file/aes192/ofb/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes192/ofb/empty2.plain
diff --git a/test/file/aes192/ofb/random64k.cipher b/test/file/aes192/ofb/random64k.cipher
new file mode 100644
index 0000000..72c9628
--- /dev/null
+++ b/test/file/aes192/ofb/random64k.cipher
Binary files differ
diff --git a/test/file/aes192/ofb/random64k.iv b/test/file/aes192/ofb/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes192/ofb/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes192/ofb/random64k.key b/test/file/aes192/ofb/random64k.key
new file mode 100644
index 0000000..f0a9e25
--- /dev/null
+++ b/test/file/aes192/ofb/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffffffffffffffffffff \ No newline at end of file
diff --git a/test/file/aes192/ofb/random64k.plain b/test/file/aes192/ofb/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes192/ofb/random64k.plain
Binary files differ
diff --git a/test/file/aes192/ofb/singlechar.cipher b/test/file/aes192/ofb/singlechar.cipher
new file mode 100644
index 0000000..e25f181
--- /dev/null
+++ b/test/file/aes192/ofb/singlechar.cipher
@@ -0,0 +1 @@
+y \ No newline at end of file
diff --git a/test/file/aes192/ofb/singlechar.iv b/test/file/aes192/ofb/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes192/ofb/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes192/ofb/singlechar.key b/test/file/aes192/ofb/singlechar.key
new file mode 100644
index 0000000..f2208cf
--- /dev/null
+++ b/test/file/aes192/ofb/singlechar.key
@@ -0,0 +1 @@
+111111111111111122222222222222222222222222222222 \ No newline at end of file
diff --git a/test/file/aes192/ofb/singlechar.plain b/test/file/aes192/ofb/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes192/ofb/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes256/cbc/blocksize-1.cipher b/test/file/aes256/cbc/blocksize-1.cipher
new file mode 100644
index 0000000..7cb4030
--- /dev/null
+++ b/test/file/aes256/cbc/blocksize-1.cipher
@@ -0,0 +1 @@
+S鼊!hcy \ No newline at end of file
diff --git a/test/file/aes256/cbc/blocksize-1.iv b/test/file/aes256/cbc/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes256/cbc/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes256/cbc/blocksize-1.key b/test/file/aes256/cbc/blocksize-1.key
new file mode 100644
index 0000000..fd3177c
--- /dev/null
+++ b/test/file/aes256/cbc/blocksize-1.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f \ No newline at end of file
diff --git a/test/file/aes256/cbc/blocksize-1.plain b/test/file/aes256/cbc/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes256/cbc/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes256/cbc/blocksize.cipher b/test/file/aes256/cbc/blocksize.cipher
new file mode 100644
index 0000000..d5fe6e0
--- /dev/null
+++ b/test/file/aes256/cbc/blocksize.cipher
@@ -0,0 +1 @@
+w, 0EUE". :d8 \ No newline at end of file
diff --git a/test/file/aes256/cbc/blocksize.iv b/test/file/aes256/cbc/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes256/cbc/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes256/cbc/blocksize.key b/test/file/aes256/cbc/blocksize.key
new file mode 100644
index 0000000..0e7479b
--- /dev/null
+++ b/test/file/aes256/cbc/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb \ No newline at end of file
diff --git a/test/file/aes256/cbc/blocksize.plain b/test/file/aes256/cbc/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes256/cbc/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes256/ecb/0.cipher b/test/file/aes256/cbc/empty1.cipher
index fd6ec3b..fd6ec3b 100644
--- a/test/file/aes256/ecb/0.cipher
+++ b/test/file/aes256/cbc/empty1.cipher
diff --git a/test/file/aes256/cbc/empty1.iv b/test/file/aes256/cbc/empty1.iv
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes256/cbc/empty1.iv
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes256/ecb/0.key b/test/file/aes256/cbc/empty1.key
index 9c7bc66..9c7bc66 100644
--- a/test/file/aes256/ecb/0.key
+++ b/test/file/aes256/cbc/empty1.key
diff --git a/test/file/aes256/cbc/empty1.plain b/test/file/aes256/cbc/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/cbc/empty1.plain
diff --git a/test/file/aes256/cbc/empty2.cipher b/test/file/aes256/cbc/empty2.cipher
new file mode 100644
index 0000000..6e3f6f7
--- /dev/null
+++ b/test/file/aes256/cbc/empty2.cipher
@@ -0,0 +1 @@
+D FG*4. \ No newline at end of file
diff --git a/test/file/aes256/cbc/empty2.iv b/test/file/aes256/cbc/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes256/cbc/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes256/cbc/empty2.key b/test/file/aes256/cbc/empty2.key
new file mode 100644
index 0000000..fd3177c
--- /dev/null
+++ b/test/file/aes256/cbc/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f \ No newline at end of file
diff --git a/test/file/aes256/cbc/empty2.plain b/test/file/aes256/cbc/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/cbc/empty2.plain
diff --git a/test/file/aes256/cbc/random64k.cipher b/test/file/aes256/cbc/random64k.cipher
new file mode 100644
index 0000000..eb670be
--- /dev/null
+++ b/test/file/aes256/cbc/random64k.cipher
Binary files differ
diff --git a/test/file/aes256/cbc/random64k.iv b/test/file/aes256/cbc/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes256/cbc/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes256/cbc/random64k.key b/test/file/aes256/cbc/random64k.key
new file mode 100644
index 0000000..c70339d
--- /dev/null
+++ b/test/file/aes256/cbc/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffee \ No newline at end of file
diff --git a/test/file/aes256/cbc/random64k.plain b/test/file/aes256/cbc/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes256/cbc/random64k.plain
Binary files differ
diff --git a/test/file/aes256/cbc/singlechar.cipher b/test/file/aes256/cbc/singlechar.cipher
new file mode 100644
index 0000000..a11347b
--- /dev/null
+++ b/test/file/aes256/cbc/singlechar.cipher
@@ -0,0 +1 @@
+xitfq \ No newline at end of file
diff --git a/test/file/aes256/cbc/singlechar.iv b/test/file/aes256/cbc/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes256/cbc/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes256/cbc/singlechar.key b/test/file/aes256/cbc/singlechar.key
new file mode 100644
index 0000000..b9badf0
--- /dev/null
+++ b/test/file/aes256/cbc/singlechar.key
@@ -0,0 +1 @@
+1111111111111111222222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/test/file/aes256/cbc/singlechar.plain b/test/file/aes256/cbc/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes256/cbc/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes256/cfb/blocksize-1.cipher b/test/file/aes256/cfb/blocksize-1.cipher
new file mode 100644
index 0000000..946e96f
--- /dev/null
+++ b/test/file/aes256/cfb/blocksize-1.cipher
@@ -0,0 +1 @@
+wi%E  \ No newline at end of file
diff --git a/test/file/aes256/cfb/blocksize-1.iv b/test/file/aes256/cfb/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes256/cfb/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes256/cfb/blocksize-1.key b/test/file/aes256/cfb/blocksize-1.key
new file mode 100644
index 0000000..fd3177c
--- /dev/null
+++ b/test/file/aes256/cfb/blocksize-1.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f \ No newline at end of file
diff --git a/test/file/aes256/cfb/blocksize-1.plain b/test/file/aes256/cfb/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes256/cfb/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes256/cfb/blocksize.cipher b/test/file/aes256/cfb/blocksize.cipher
new file mode 100644
index 0000000..c8a5846
--- /dev/null
+++ b/test/file/aes256/cfb/blocksize.cipher
@@ -0,0 +1 @@
+"N?%Ξ \ No newline at end of file
diff --git a/test/file/aes256/cfb/blocksize.iv b/test/file/aes256/cfb/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes256/cfb/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes256/cfb/blocksize.key b/test/file/aes256/cfb/blocksize.key
new file mode 100644
index 0000000..0e7479b
--- /dev/null
+++ b/test/file/aes256/cfb/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb \ No newline at end of file
diff --git a/test/file/aes256/cfb/blocksize.plain b/test/file/aes256/cfb/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes256/cfb/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes256/cfb/empty1.cipher b/test/file/aes256/cfb/empty1.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/cfb/empty1.cipher
diff --git a/test/file/aes256/cfb/empty1.iv b/test/file/aes256/cfb/empty1.iv
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes256/cfb/empty1.iv
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes256/cfb/empty1.key b/test/file/aes256/cfb/empty1.key
new file mode 100644
index 0000000..9c7bc66
--- /dev/null
+++ b/test/file/aes256/cfb/empty1.key
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes256/cfb/empty1.plain b/test/file/aes256/cfb/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/cfb/empty1.plain
diff --git a/test/file/aes256/cfb/empty2.cipher b/test/file/aes256/cfb/empty2.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/cfb/empty2.cipher
diff --git a/test/file/aes256/cfb/empty2.iv b/test/file/aes256/cfb/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes256/cfb/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes256/cfb/empty2.key b/test/file/aes256/cfb/empty2.key
new file mode 100644
index 0000000..fd3177c
--- /dev/null
+++ b/test/file/aes256/cfb/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f \ No newline at end of file
diff --git a/test/file/aes256/cfb/empty2.plain b/test/file/aes256/cfb/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/cfb/empty2.plain
diff --git a/test/file/aes256/cfb/random64k.cipher b/test/file/aes256/cfb/random64k.cipher
new file mode 100644
index 0000000..091f35c
--- /dev/null
+++ b/test/file/aes256/cfb/random64k.cipher
Binary files differ
diff --git a/test/file/aes256/cfb/random64k.iv b/test/file/aes256/cfb/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes256/cfb/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes256/cfb/random64k.key b/test/file/aes256/cfb/random64k.key
new file mode 100644
index 0000000..c70339d
--- /dev/null
+++ b/test/file/aes256/cfb/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffee \ No newline at end of file
diff --git a/test/file/aes256/cfb/random64k.plain b/test/file/aes256/cfb/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes256/cfb/random64k.plain
Binary files differ
diff --git a/test/file/aes256/cfb/singlechar.cipher b/test/file/aes256/cfb/singlechar.cipher
new file mode 100644
index 0000000..883ad6e
--- /dev/null
+++ b/test/file/aes256/cfb/singlechar.cipher
@@ -0,0 +1 @@
+o \ No newline at end of file
diff --git a/test/file/aes256/cfb/singlechar.iv b/test/file/aes256/cfb/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes256/cfb/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes256/cfb/singlechar.key b/test/file/aes256/cfb/singlechar.key
new file mode 100644
index 0000000..b9badf0
--- /dev/null
+++ b/test/file/aes256/cfb/singlechar.key
@@ -0,0 +1 @@
+1111111111111111222222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/test/file/aes256/cfb/singlechar.plain b/test/file/aes256/cfb/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes256/cfb/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes256/ctr/blocksize-1.cipher b/test/file/aes256/ctr/blocksize-1.cipher
new file mode 100644
index 0000000..946e96f
--- /dev/null
+++ b/test/file/aes256/ctr/blocksize-1.cipher
@@ -0,0 +1 @@
+wi%E  \ No newline at end of file
diff --git a/test/file/aes256/ctr/blocksize-1.iv b/test/file/aes256/ctr/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes256/ctr/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes256/ctr/blocksize-1.key b/test/file/aes256/ctr/blocksize-1.key
new file mode 100644
index 0000000..fd3177c
--- /dev/null
+++ b/test/file/aes256/ctr/blocksize-1.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f \ No newline at end of file
diff --git a/test/file/aes256/ctr/blocksize-1.plain b/test/file/aes256/ctr/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes256/ctr/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes256/ctr/blocksize.cipher b/test/file/aes256/ctr/blocksize.cipher
new file mode 100644
index 0000000..c8a5846
--- /dev/null
+++ b/test/file/aes256/ctr/blocksize.cipher
@@ -0,0 +1 @@
+"N?%Ξ \ No newline at end of file
diff --git a/test/file/aes256/ctr/blocksize.iv b/test/file/aes256/ctr/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes256/ctr/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes256/ctr/blocksize.key b/test/file/aes256/ctr/blocksize.key
new file mode 100644
index 0000000..0e7479b
--- /dev/null
+++ b/test/file/aes256/ctr/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb \ No newline at end of file
diff --git a/test/file/aes256/ctr/blocksize.plain b/test/file/aes256/ctr/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes256/ctr/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes256/ctr/empty1.cipher b/test/file/aes256/ctr/empty1.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/ctr/empty1.cipher
diff --git a/test/file/aes256/ctr/empty1.iv b/test/file/aes256/ctr/empty1.iv
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes256/ctr/empty1.iv
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes256/ctr/empty1.key b/test/file/aes256/ctr/empty1.key
new file mode 100644
index 0000000..9c7bc66
--- /dev/null
+++ b/test/file/aes256/ctr/empty1.key
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes256/ctr/empty1.plain b/test/file/aes256/ctr/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/ctr/empty1.plain
diff --git a/test/file/aes256/ctr/empty2.cipher b/test/file/aes256/ctr/empty2.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/ctr/empty2.cipher
diff --git a/test/file/aes256/ctr/empty2.iv b/test/file/aes256/ctr/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes256/ctr/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes256/ctr/empty2.key b/test/file/aes256/ctr/empty2.key
new file mode 100644
index 0000000..fd3177c
--- /dev/null
+++ b/test/file/aes256/ctr/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f \ No newline at end of file
diff --git a/test/file/aes256/ctr/empty2.plain b/test/file/aes256/ctr/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/ctr/empty2.plain
diff --git a/test/file/aes256/ctr/random64k.cipher b/test/file/aes256/ctr/random64k.cipher
new file mode 100644
index 0000000..e71b2ad
--- /dev/null
+++ b/test/file/aes256/ctr/random64k.cipher
Binary files differ
diff --git a/test/file/aes256/ctr/random64k.iv b/test/file/aes256/ctr/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes256/ctr/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes256/ctr/random64k.key b/test/file/aes256/ctr/random64k.key
new file mode 100644
index 0000000..c70339d
--- /dev/null
+++ b/test/file/aes256/ctr/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffee \ No newline at end of file
diff --git a/test/file/aes256/ctr/random64k.plain b/test/file/aes256/ctr/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes256/ctr/random64k.plain
Binary files differ
diff --git a/test/file/aes256/ctr/singlechar.cipher b/test/file/aes256/ctr/singlechar.cipher
new file mode 100644
index 0000000..883ad6e
--- /dev/null
+++ b/test/file/aes256/ctr/singlechar.cipher
@@ -0,0 +1 @@
+o \ No newline at end of file
diff --git a/test/file/aes256/ctr/singlechar.iv b/test/file/aes256/ctr/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes256/ctr/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes256/ctr/singlechar.key b/test/file/aes256/ctr/singlechar.key
new file mode 100644
index 0000000..b9badf0
--- /dev/null
+++ b/test/file/aes256/ctr/singlechar.key
@@ -0,0 +1 @@
+1111111111111111222222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/test/file/aes256/ctr/singlechar.plain b/test/file/aes256/ctr/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes256/ctr/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes256/ecb/blocksize-1.cipher b/test/file/aes256/ecb/blocksize-1.cipher
new file mode 100644
index 0000000..9a42fb9
--- /dev/null
+++ b/test/file/aes256/ecb/blocksize-1.cipher
@@ -0,0 +1 @@
+MO9G: z \ No newline at end of file
diff --git a/test/file/aes256/ecb/blocksize-1.key b/test/file/aes256/ecb/blocksize-1.key
new file mode 100644
index 0000000..fd3177c
--- /dev/null
+++ b/test/file/aes256/ecb/blocksize-1.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f \ No newline at end of file
diff --git a/test/file/aes256/ecb/blocksize-1.plain b/test/file/aes256/ecb/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes256/ecb/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes256/ecb/blocksize.cipher b/test/file/aes256/ecb/blocksize.cipher
new file mode 100644
index 0000000..d11d2b2
--- /dev/null
+++ b/test/file/aes256/ecb/blocksize.cipher
@@ -0,0 +1 @@
+Y^(~p#j!h \ No newline at end of file
diff --git a/test/file/aes256/ecb/blocksize.key b/test/file/aes256/ecb/blocksize.key
new file mode 100644
index 0000000..0e7479b
--- /dev/null
+++ b/test/file/aes256/ecb/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb \ No newline at end of file
diff --git a/test/file/aes256/ecb/blocksize.plain b/test/file/aes256/ecb/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes256/ecb/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes256/ecb/empty1.cipher b/test/file/aes256/ecb/empty1.cipher
new file mode 100644
index 0000000..fd6ec3b
--- /dev/null
+++ b/test/file/aes256/ecb/empty1.cipher
@@ -0,0 +1 @@
+xl1uIi C \ No newline at end of file
diff --git a/test/file/aes256/ecb/empty1.key b/test/file/aes256/ecb/empty1.key
new file mode 100644
index 0000000..9c7bc66
--- /dev/null
+++ b/test/file/aes256/ecb/empty1.key
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes256/ecb/empty1.plain b/test/file/aes256/ecb/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/ecb/empty1.plain
diff --git a/test/file/aes256/ecb/empty2.cipher b/test/file/aes256/ecb/empty2.cipher
new file mode 100644
index 0000000..5193a38
--- /dev/null
+++ b/test/file/aes256/ecb/empty2.cipher
@@ -0,0 +1 @@
+;uon1J \ No newline at end of file
diff --git a/test/file/aes256/ecb/empty2.key b/test/file/aes256/ecb/empty2.key
new file mode 100644
index 0000000..fd3177c
--- /dev/null
+++ b/test/file/aes256/ecb/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f \ No newline at end of file
diff --git a/test/file/aes256/ecb/empty2.plain b/test/file/aes256/ecb/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/ecb/empty2.plain
diff --git a/test/file/aes256/ecb/random64k.cipher b/test/file/aes256/ecb/random64k.cipher
new file mode 100644
index 0000000..b6bfe9e
--- /dev/null
+++ b/test/file/aes256/ecb/random64k.cipher
Binary files differ
diff --git a/test/file/aes256/ecb/random64k.key b/test/file/aes256/ecb/random64k.key
new file mode 100644
index 0000000..c70339d
--- /dev/null
+++ b/test/file/aes256/ecb/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffee \ No newline at end of file
diff --git a/test/file/aes256/ecb/random64k.plain b/test/file/aes256/ecb/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes256/ecb/random64k.plain
Binary files differ
diff --git a/test/file/aes256/ecb/singlechar.cipher b/test/file/aes256/ecb/singlechar.cipher
new file mode 100644
index 0000000..31acf26
--- /dev/null
+++ b/test/file/aes256/ecb/singlechar.cipher
@@ -0,0 +1 @@
+tl=JY</ \ No newline at end of file
diff --git a/test/file/aes256/ecb/singlechar.key b/test/file/aes256/ecb/singlechar.key
new file mode 100644
index 0000000..b9badf0
--- /dev/null
+++ b/test/file/aes256/ecb/singlechar.key
@@ -0,0 +1 @@
+1111111111111111222222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/test/file/aes256/ecb/singlechar.plain b/test/file/aes256/ecb/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes256/ecb/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/test/file/aes256/ofb/blocksize-1.cipher b/test/file/aes256/ofb/blocksize-1.cipher
new file mode 100644
index 0000000..946e96f
--- /dev/null
+++ b/test/file/aes256/ofb/blocksize-1.cipher
@@ -0,0 +1 @@
+wi%E  \ No newline at end of file
diff --git a/test/file/aes256/ofb/blocksize-1.iv b/test/file/aes256/ofb/blocksize-1.iv
new file mode 100644
index 0000000..62499bf
--- /dev/null
+++ b/test/file/aes256/ofb/blocksize-1.iv
@@ -0,0 +1 @@
+cccccccccccccccccccccccccccccccc \ No newline at end of file
diff --git a/test/file/aes256/ofb/blocksize-1.key b/test/file/aes256/ofb/blocksize-1.key
new file mode 100644
index 0000000..fd3177c
--- /dev/null
+++ b/test/file/aes256/ofb/blocksize-1.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f \ No newline at end of file
diff --git a/test/file/aes256/ofb/blocksize-1.plain b/test/file/aes256/ofb/blocksize-1.plain
new file mode 100644
index 0000000..13592ee
--- /dev/null
+++ b/test/file/aes256/ofb/blocksize-1.plain
@@ -0,0 +1 @@
+abcdefghijklmno \ No newline at end of file
diff --git a/test/file/aes256/ofb/blocksize.cipher b/test/file/aes256/ofb/blocksize.cipher
new file mode 100644
index 0000000..c8a5846
--- /dev/null
+++ b/test/file/aes256/ofb/blocksize.cipher
@@ -0,0 +1 @@
+"N?%Ξ \ No newline at end of file
diff --git a/test/file/aes256/ofb/blocksize.iv b/test/file/aes256/ofb/blocksize.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes256/ofb/blocksize.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes256/ofb/blocksize.key b/test/file/aes256/ofb/blocksize.key
new file mode 100644
index 0000000..0e7479b
--- /dev/null
+++ b/test/file/aes256/ofb/blocksize.key
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb \ No newline at end of file
diff --git a/test/file/aes256/ofb/blocksize.plain b/test/file/aes256/ofb/blocksize.plain
new file mode 100644
index 0000000..454f6b3
--- /dev/null
+++ b/test/file/aes256/ofb/blocksize.plain
@@ -0,0 +1 @@
+0123456789abcdef \ No newline at end of file
diff --git a/test/file/aes256/ofb/empty1.cipher b/test/file/aes256/ofb/empty1.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/ofb/empty1.cipher
diff --git a/test/file/aes256/ofb/empty1.iv b/test/file/aes256/ofb/empty1.iv
new file mode 100644
index 0000000..445c724
--- /dev/null
+++ b/test/file/aes256/ofb/empty1.iv
@@ -0,0 +1 @@
+00000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes256/ofb/empty1.key b/test/file/aes256/ofb/empty1.key
new file mode 100644
index 0000000..9c7bc66
--- /dev/null
+++ b/test/file/aes256/ofb/empty1.key
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file
diff --git a/test/file/aes256/ofb/empty1.plain b/test/file/aes256/ofb/empty1.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/ofb/empty1.plain
diff --git a/test/file/aes256/ofb/empty2.cipher b/test/file/aes256/ofb/empty2.cipher
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/ofb/empty2.cipher
diff --git a/test/file/aes256/ofb/empty2.iv b/test/file/aes256/ofb/empty2.iv
new file mode 100644
index 0000000..65aef92
--- /dev/null
+++ b/test/file/aes256/ofb/empty2.iv
@@ -0,0 +1 @@
+00112233445566778899aabbccddeeff \ No newline at end of file
diff --git a/test/file/aes256/ofb/empty2.key b/test/file/aes256/ofb/empty2.key
new file mode 100644
index 0000000..fd3177c
--- /dev/null
+++ b/test/file/aes256/ofb/empty2.key
@@ -0,0 +1 @@
+000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f \ No newline at end of file
diff --git a/test/file/aes256/ofb/empty2.plain b/test/file/aes256/ofb/empty2.plain
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/file/aes256/ofb/empty2.plain
diff --git a/test/file/aes256/ofb/random64k.cipher b/test/file/aes256/ofb/random64k.cipher
new file mode 100644
index 0000000..59e34ac
--- /dev/null
+++ b/test/file/aes256/ofb/random64k.cipher
Binary files differ
diff --git a/test/file/aes256/ofb/random64k.iv b/test/file/aes256/ofb/random64k.iv
new file mode 100644
index 0000000..80328dc
--- /dev/null
+++ b/test/file/aes256/ofb/random64k.iv
@@ -0,0 +1 @@
+eeeeeeeeeeeeeeeeeeeeeeeeeecccccc \ No newline at end of file
diff --git a/test/file/aes256/ofb/random64k.key b/test/file/aes256/ofb/random64k.key
new file mode 100644
index 0000000..c70339d
--- /dev/null
+++ b/test/file/aes256/ofb/random64k.key
@@ -0,0 +1 @@
+ffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffee \ No newline at end of file
diff --git a/test/file/aes256/ofb/random64k.plain b/test/file/aes256/ofb/random64k.plain
new file mode 100644
index 0000000..1918417
--- /dev/null
+++ b/test/file/aes256/ofb/random64k.plain
Binary files differ
diff --git a/test/file/aes256/ofb/singlechar.cipher b/test/file/aes256/ofb/singlechar.cipher
new file mode 100644
index 0000000..883ad6e
--- /dev/null
+++ b/test/file/aes256/ofb/singlechar.cipher
@@ -0,0 +1 @@
+o \ No newline at end of file
diff --git a/test/file/aes256/ofb/singlechar.iv b/test/file/aes256/ofb/singlechar.iv
new file mode 100644
index 0000000..ca437db
--- /dev/null
+++ b/test/file/aes256/ofb/singlechar.iv
@@ -0,0 +1 @@
+addddddddddddddddddddddddddddeee \ No newline at end of file
diff --git a/test/file/aes256/ofb/singlechar.key b/test/file/aes256/ofb/singlechar.key
new file mode 100644
index 0000000..b9badf0
--- /dev/null
+++ b/test/file/aes256/ofb/singlechar.key
@@ -0,0 +1 @@
+1111111111111111222222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/test/file/aes256/ofb/singlechar.plain b/test/file/aes256/ofb/singlechar.plain
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/test/file/aes256/ofb/singlechar.plain
@@ -0,0 +1 @@
+a \ No newline at end of file