diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-21 16:20:43 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-21 16:20:43 -0400 |
| commit | b8716614a7cc2fc15ea2a518edd04755fb08d922 (patch) | |
| tree | 2a8a5d04066b2bd589ba2ebbeb228e2a6a178ec9 /crypto | |
| parent | 31f6765266417c0d99f0e922fe82848a7c9c2ae9 (diff) | |
| parent | 2dc9b5dbdef09840de852a4f0cc6a9c9eece7220 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto update from Herbert Xu:
"* sha512 bug fixes (already in your tree).
* SHA224/SHA384 AEAD support in caam.
* X86-64 optimised version of Camellia.
* Tegra AES support.
* Bulk algorithm registration interface to make driver registration easier.
* padata race fixes.
* Misc fixes."
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (31 commits)
padata: Fix race on sequence number wrap
padata: Fix race in the serialization path
crypto: camellia - add assembler implementation for x86_64
crypto: camellia - rename camellia.c to camellia_generic.c
crypto: camellia - fix checkpatch warnings
crypto: camellia - rename camellia module to camellia_generic
crypto: tcrypt - add more camellia tests
crypto: testmgr - add more camellia test vectors
crypto: camellia - simplify key setup and CAMELLIA_ROUNDSM macro
crypto: twofish-x86_64/i586 - set alignmask to zero
crypto: blowfish-x86_64 - set alignmask to zero
crypto: serpent-sse2 - combine ablk_*_init functions
crypto: blowfish-x86_64 - use crypto_[un]register_algs
crypto: twofish-x86_64-3way - use crypto_[un]register_algs
crypto: serpent-sse2 - use crypto_[un]register_algs
crypto: serpent-sse2 - remove dead code from serpent_sse2_glue.c::serpent_sse2_init()
crypto: twofish-x86 - Remove dead code from twofish_glue_3way.c::init()
crypto: In crypto_add_alg(), 'exact' wants to be initialized to 0
crypto: caam - fix gcc 4.6 warning
crypto: Add bulk algorithm registration interface
...
Diffstat (limited to 'crypto')
| -rw-r--r-- | crypto/Kconfig | 18 | ||||
| -rw-r--r-- | crypto/Makefile | 2 | ||||
| -rw-r--r-- | crypto/algapi.c | 35 | ||||
| -rw-r--r-- | crypto/camellia_generic.c (renamed from crypto/camellia.c) | 104 | ||||
| -rw-r--r-- | crypto/crypto_user.c | 2 | ||||
| -rw-r--r-- | crypto/tcrypt.c | 12 | ||||
| -rw-r--r-- | crypto/testmgr.c | 45 | ||||
| -rw-r--r-- | crypto/testmgr.h | 1383 |
8 files changed, 1536 insertions, 65 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index e6cfe1a25137..6318edd6a457 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig | |||
| @@ -654,6 +654,24 @@ config CRYPTO_CAMELLIA | |||
| 654 | See also: | 654 | See also: |
| 655 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> | 655 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> |
| 656 | 656 | ||
| 657 | config CRYPTO_CAMELLIA_X86_64 | ||
| 658 | tristate "Camellia cipher algorithm (x86_64)" | ||
| 659 | depends on (X86 || UML_X86) && 64BIT | ||
| 660 | depends on CRYPTO | ||
| 661 | select CRYPTO_ALGAPI | ||
| 662 | select CRYPTO_LRW | ||
| 663 | select CRYPTO_XTS | ||
| 664 | help | ||
| 665 | Camellia cipher algorithm module (x86_64). | ||
| 666 | |||
| 667 | Camellia is a symmetric key block cipher developed jointly | ||
| 668 | at NTT and Mitsubishi Electric Corporation. | ||
| 669 | |||
| 670 | The Camellia specifies three key sizes: 128, 192 and 256 bits. | ||
| 671 | |||
| 672 | See also: | ||
| 673 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> | ||
| 674 | |||
| 657 | config CRYPTO_CAST5 | 675 | config CRYPTO_CAST5 |
| 658 | tristate "CAST5 (CAST-128) cipher algorithm" | 676 | tristate "CAST5 (CAST-128) cipher algorithm" |
| 659 | select CRYPTO_ALGAPI | 677 | select CRYPTO_ALGAPI |
diff --git a/crypto/Makefile b/crypto/Makefile index f638063f4ea9..30f33d675330 100644 --- a/crypto/Makefile +++ b/crypto/Makefile | |||
| @@ -67,7 +67,7 @@ obj-$(CONFIG_CRYPTO_TWOFISH) += twofish_generic.o | |||
| 67 | obj-$(CONFIG_CRYPTO_TWOFISH_COMMON) += twofish_common.o | 67 | obj-$(CONFIG_CRYPTO_TWOFISH_COMMON) += twofish_common.o |
| 68 | obj-$(CONFIG_CRYPTO_SERPENT) += serpent_generic.o | 68 | obj-$(CONFIG_CRYPTO_SERPENT) += serpent_generic.o |
| 69 | obj-$(CONFIG_CRYPTO_AES) += aes_generic.o | 69 | obj-$(CONFIG_CRYPTO_AES) += aes_generic.o |
| 70 | obj-$(CONFIG_CRYPTO_CAMELLIA) += camellia.o | 70 | obj-$(CONFIG_CRYPTO_CAMELLIA) += camellia_generic.o |
| 71 | obj-$(CONFIG_CRYPTO_CAST5) += cast5.o | 71 | obj-$(CONFIG_CRYPTO_CAST5) += cast5.o |
| 72 | obj-$(CONFIG_CRYPTO_CAST6) += cast6.o | 72 | obj-$(CONFIG_CRYPTO_CAST6) += cast6.o |
| 73 | obj-$(CONFIG_CRYPTO_ARC4) += arc4.o | 73 | obj-$(CONFIG_CRYPTO_ARC4) += arc4.o |
diff --git a/crypto/algapi.c b/crypto/algapi.c index 9d4a9fe913f8..056571b85445 100644 --- a/crypto/algapi.c +++ b/crypto/algapi.c | |||
| @@ -405,6 +405,41 @@ int crypto_unregister_alg(struct crypto_alg *alg) | |||
| 405 | } | 405 | } |
| 406 | EXPORT_SYMBOL_GPL(crypto_unregister_alg); | 406 | EXPORT_SYMBOL_GPL(crypto_unregister_alg); |
| 407 | 407 | ||
| 408 | int crypto_register_algs(struct crypto_alg *algs, int count) | ||
| 409 | { | ||
| 410 | int i, ret; | ||
| 411 | |||
| 412 | for (i = 0; i < count; i++) { | ||
| 413 | ret = crypto_register_alg(&algs[i]); | ||
| 414 | if (ret) | ||
| 415 | goto err; | ||
| 416 | } | ||
| 417 | |||
| 418 | return 0; | ||
| 419 | |||
| 420 | err: | ||
| 421 | for (--i; i >= 0; --i) | ||
| 422 | crypto_unregister_alg(&algs[i]); | ||
| 423 | |||
| 424 | return ret; | ||
| 425 | } | ||
| 426 | EXPORT_SYMBOL_GPL(crypto_register_algs); | ||
| 427 | |||
| 428 | int crypto_unregister_algs(struct crypto_alg *algs, int count) | ||
| 429 | { | ||
| 430 | int i, ret; | ||
| 431 | |||
| 432 | for (i = 0; i < count; i++) { | ||
| 433 | ret = crypto_unregister_alg(&algs[i]); | ||
| 434 | if (ret) | ||
| 435 | pr_err("Failed to unregister %s %s: %d\n", | ||
| 436 | algs[i].cra_driver_name, algs[i].cra_name, ret); | ||
| 437 | } | ||
| 438 | |||
| 439 | return 0; | ||
| 440 | } | ||
| 441 | EXPORT_SYMBOL_GPL(crypto_unregister_algs); | ||
| 442 | |||
| 408 | int crypto_register_template(struct crypto_template *tmpl) | 443 | int crypto_register_template(struct crypto_template *tmpl) |
| 409 | { | 444 | { |
| 410 | struct crypto_template *q; | 445 | struct crypto_template *q; |
diff --git a/crypto/camellia.c b/crypto/camellia_generic.c index 64cff46ea5e4..f7aaaaf86982 100644 --- a/crypto/camellia.c +++ b/crypto/camellia_generic.c | |||
| @@ -337,43 +337,40 @@ static const u32 camellia_sp4404[256] = { | |||
| 337 | /* | 337 | /* |
| 338 | * macros | 338 | * macros |
| 339 | */ | 339 | */ |
| 340 | #define ROLDQ(ll, lr, rl, rr, w0, w1, bits) \ | 340 | #define ROLDQ(ll, lr, rl, rr, w0, w1, bits) ({ \ |
| 341 | do { \ | ||
| 342 | w0 = ll; \ | 341 | w0 = ll; \ |
| 343 | ll = (ll << bits) + (lr >> (32 - bits)); \ | 342 | ll = (ll << bits) + (lr >> (32 - bits)); \ |
| 344 | lr = (lr << bits) + (rl >> (32 - bits)); \ | 343 | lr = (lr << bits) + (rl >> (32 - bits)); \ |
| 345 | rl = (rl << bits) + (rr >> (32 - bits)); \ | 344 | rl = (rl << bits) + (rr >> (32 - bits)); \ |
| 346 | rr = (rr << bits) + (w0 >> (32 - bits)); \ | 345 | rr = (rr << bits) + (w0 >> (32 - bits)); \ |
| 347 | } while (0) | 346 | }) |
| 348 | 347 | ||
| 349 | #define ROLDQo32(ll, lr, rl, rr, w0, w1, bits) \ | 348 | #define ROLDQo32(ll, lr, rl, rr, w0, w1, bits) ({ \ |
| 350 | do { \ | ||
| 351 | w0 = ll; \ | 349 | w0 = ll; \ |
| 352 | w1 = lr; \ | 350 | w1 = lr; \ |
| 353 | ll = (lr << (bits - 32)) + (rl >> (64 - bits)); \ | 351 | ll = (lr << (bits - 32)) + (rl >> (64 - bits)); \ |
| 354 | lr = (rl << (bits - 32)) + (rr >> (64 - bits)); \ | 352 | lr = (rl << (bits - 32)) + (rr >> (64 - bits)); \ |
| 355 | rl = (rr << (bits - 32)) + (w0 >> (64 - bits)); \ | 353 | rl = (rr << (bits - 32)) + (w0 >> (64 - bits)); \ |
| 356 | rr = (w0 << (bits - 32)) + (w1 >> (64 - bits)); \ | 354 | rr = (w0 << (bits - 32)) + (w1 >> (64 - bits)); \ |
| 357 | } while (0) | 355 | }) |
| 358 | 356 | ||
| 359 | #define CAMELLIA_F(xl, xr, kl, kr, yl, yr, il, ir, t0, t1) \ | 357 | #define CAMELLIA_F(xl, xr, kl, kr, yl, yr, il, ir, t0, t1) ({ \ |
| 360 | do { \ | ||
| 361 | il = xl ^ kl; \ | 358 | il = xl ^ kl; \ |
| 362 | ir = xr ^ kr; \ | 359 | ir = xr ^ kr; \ |
| 363 | t0 = il >> 16; \ | 360 | t0 = il >> 16; \ |
| 364 | t1 = ir >> 16; \ | 361 | t1 = ir >> 16; \ |
| 365 | yl = camellia_sp1110[(u8)(ir )] \ | 362 | yl = camellia_sp1110[(u8)(ir)] \ |
| 366 | ^ camellia_sp0222[ (t1 >> 8)] \ | 363 | ^ camellia_sp0222[(u8)(t1 >> 8)] \ |
| 367 | ^ camellia_sp3033[(u8)(t1 )] \ | 364 | ^ camellia_sp3033[(u8)(t1)] \ |
| 368 | ^ camellia_sp4404[(u8)(ir >> 8)]; \ | 365 | ^ camellia_sp4404[(u8)(ir >> 8)]; \ |
| 369 | yr = camellia_sp1110[ (t0 >> 8)] \ | 366 | yr = camellia_sp1110[(u8)(t0 >> 8)] \ |
| 370 | ^ camellia_sp0222[(u8)(t0 )] \ | 367 | ^ camellia_sp0222[(u8)(t0)] \ |
| 371 | ^ camellia_sp3033[(u8)(il >> 8)] \ | 368 | ^ camellia_sp3033[(u8)(il >> 8)] \ |
| 372 | ^ camellia_sp4404[(u8)(il )]; \ | 369 | ^ camellia_sp4404[(u8)(il)]; \ |
| 373 | yl ^= yr; \ | 370 | yl ^= yr; \ |
| 374 | yr = ror32(yr, 8); \ | 371 | yr = ror32(yr, 8); \ |
| 375 | yr ^= yl; \ | 372 | yr ^= yl; \ |
| 376 | } while (0) | 373 | }) |
| 377 | 374 | ||
| 378 | #define SUBKEY_L(INDEX) (subkey[(INDEX)*2]) | 375 | #define SUBKEY_L(INDEX) (subkey[(INDEX)*2]) |
| 379 | #define SUBKEY_R(INDEX) (subkey[(INDEX)*2 + 1]) | 376 | #define SUBKEY_R(INDEX) (subkey[(INDEX)*2 + 1]) |
| @@ -382,7 +379,6 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max) | |||
| 382 | { | 379 | { |
| 383 | u32 dw, tl, tr; | 380 | u32 dw, tl, tr; |
| 384 | u32 kw4l, kw4r; | 381 | u32 kw4l, kw4r; |
| 385 | int i; | ||
| 386 | 382 | ||
| 387 | /* absorb kw2 to other subkeys */ | 383 | /* absorb kw2 to other subkeys */ |
| 388 | /* round 2 */ | 384 | /* round 2 */ |
| @@ -557,24 +553,6 @@ static void camellia_setup_tail(u32 *subkey, u32 *subL, u32 *subR, int max) | |||
| 557 | SUBKEY_L(32) = subL[32] ^ subL[31]; /* kw3 */ | 553 | SUBKEY_L(32) = subL[32] ^ subL[31]; /* kw3 */ |
| 558 | SUBKEY_R(32) = subR[32] ^ subR[31]; | 554 | SUBKEY_R(32) = subR[32] ^ subR[31]; |
| 559 | } | 555 | } |
| 560 | |||
| 561 | /* apply the inverse of the last half of P-function */ | ||
| 562 | i = 2; | ||
| 563 | do { | ||
| 564 | dw = SUBKEY_L(i + 0) ^ SUBKEY_R(i + 0); dw = rol32(dw, 8);/* round 1 */ | ||
| 565 | SUBKEY_R(i + 0) = SUBKEY_L(i + 0) ^ dw; SUBKEY_L(i + 0) = dw; | ||
| 566 | dw = SUBKEY_L(i + 1) ^ SUBKEY_R(i + 1); dw = rol32(dw, 8);/* round 2 */ | ||
| 567 | SUBKEY_R(i + 1) = SUBKEY_L(i + 1) ^ dw; SUBKEY_L(i + 1) = dw; | ||
| 568 | dw = SUBKEY_L(i + 2) ^ SUBKEY_R(i + 2); dw = rol32(dw, 8);/* round 3 */ | ||
| 569 | SUBKEY_R(i + 2) = SUBKEY_L(i + 2) ^ dw; SUBKEY_L(i + 2) = dw; | ||
| 570 | dw = SUBKEY_L(i + 3) ^ SUBKEY_R(i + 3); dw = rol32(dw, 8);/* round 4 */ | ||
| 571 | SUBKEY_R(i + 3) = SUBKEY_L(i + 3) ^ dw; SUBKEY_L(i + 3) = dw; | ||
| 572 | dw = SUBKEY_L(i + 4) ^ SUBKEY_R(i + 4); dw = rol32(dw, 8);/* round 5 */ | ||
| 573 | SUBKEY_R(i + 4) = SUBKEY_L(i + 4) ^ dw; SUBKEY_L(i + 4) = dw; | ||
| 574 | dw = SUBKEY_L(i + 5) ^ SUBKEY_R(i + 5); dw = rol32(dw, 8);/* round 6 */ | ||
| 575 | SUBKEY_R(i + 5) = SUBKEY_L(i + 5) ^ dw; SUBKEY_L(i + 5) = dw; | ||
| 576 | i += 8; | ||
| 577 | } while (i < max); | ||
| 578 | } | 556 | } |
| 579 | 557 | ||
| 580 | static void camellia_setup128(const unsigned char *key, u32 *subkey) | 558 | static void camellia_setup128(const unsigned char *key, u32 *subkey) |
| @@ -851,8 +829,7 @@ static void camellia_setup192(const unsigned char *key, u32 *subkey) | |||
| 851 | /* | 829 | /* |
| 852 | * Encrypt/decrypt | 830 | * Encrypt/decrypt |
| 853 | */ | 831 | */ |
| 854 | #define CAMELLIA_FLS(ll, lr, rl, rr, kll, klr, krl, krr, t0, t1, t2, t3) \ | 832 | #define CAMELLIA_FLS(ll, lr, rl, rr, kll, klr, krl, krr, t0, t1, t2, t3) ({ \ |
| 855 | do { \ | ||
| 856 | t0 = kll; \ | 833 | t0 = kll; \ |
| 857 | t2 = krr; \ | 834 | t2 = krr; \ |
| 858 | t0 &= ll; \ | 835 | t0 &= ll; \ |
| @@ -865,23 +842,23 @@ static void camellia_setup192(const unsigned char *key, u32 *subkey) | |||
| 865 | t1 |= lr; \ | 842 | t1 |= lr; \ |
| 866 | ll ^= t1; \ | 843 | ll ^= t1; \ |
| 867 | rr ^= rol32(t3, 1); \ | 844 | rr ^= rol32(t3, 1); \ |
| 868 | } while (0) | 845 | }) |
| 869 | 846 | ||
| 870 | #define CAMELLIA_ROUNDSM(xl, xr, kl, kr, yl, yr, il, ir) \ | 847 | #define CAMELLIA_ROUNDSM(xl, xr, kl, kr, yl, yr, il, ir) ({ \ |
| 871 | do { \ | 848 | yl ^= kl; \ |
| 849 | yr ^= kr; \ | ||
| 872 | ir = camellia_sp1110[(u8)xr]; \ | 850 | ir = camellia_sp1110[(u8)xr]; \ |
| 873 | il = camellia_sp1110[ (xl >> 24)]; \ | 851 | il = camellia_sp1110[(u8)(xl >> 24)]; \ |
| 874 | ir ^= camellia_sp0222[ (xr >> 24)]; \ | 852 | ir ^= camellia_sp0222[(u8)(xr >> 24)]; \ |
| 875 | il ^= camellia_sp0222[(u8)(xl >> 16)]; \ | 853 | il ^= camellia_sp0222[(u8)(xl >> 16)]; \ |
| 876 | ir ^= camellia_sp3033[(u8)(xr >> 16)]; \ | 854 | ir ^= camellia_sp3033[(u8)(xr >> 16)]; \ |
| 877 | il ^= camellia_sp3033[(u8)(xl >> 8)]; \ | 855 | il ^= camellia_sp3033[(u8)(xl >> 8)]; \ |
| 878 | ir ^= camellia_sp4404[(u8)(xr >> 8)]; \ | 856 | ir ^= camellia_sp4404[(u8)(xr >> 8)]; \ |
| 879 | il ^= camellia_sp4404[(u8)xl]; \ | 857 | il ^= camellia_sp4404[(u8)xl]; \ |
| 880 | il ^= kl; \ | 858 | ir ^= il; \ |
| 881 | ir ^= il ^ kr; \ | ||
| 882 | yl ^= ir; \ | 859 | yl ^= ir; \ |
| 883 | yr ^= ror32(il, 8) ^ ir; \ | 860 | yr ^= ror32(il, 8) ^ ir; \ |
| 884 | } while (0) | 861 | }) |
| 885 | 862 | ||
| 886 | /* max = 24: 128bit encrypt, max = 32: 256bit encrypt */ | 863 | /* max = 24: 128bit encrypt, max = 32: 256bit encrypt */ |
| 887 | static void camellia_do_encrypt(const u32 *subkey, u32 *io, unsigned max) | 864 | static void camellia_do_encrypt(const u32 *subkey, u32 *io, unsigned max) |
| @@ -893,7 +870,7 @@ static void camellia_do_encrypt(const u32 *subkey, u32 *io, unsigned max) | |||
| 893 | io[1] ^= SUBKEY_R(0); | 870 | io[1] ^= SUBKEY_R(0); |
| 894 | 871 | ||
| 895 | /* main iteration */ | 872 | /* main iteration */ |
| 896 | #define ROUNDS(i) do { \ | 873 | #define ROUNDS(i) ({ \ |
| 897 | CAMELLIA_ROUNDSM(io[0], io[1], \ | 874 | CAMELLIA_ROUNDSM(io[0], io[1], \ |
| 898 | SUBKEY_L(i + 2), SUBKEY_R(i + 2), \ | 875 | SUBKEY_L(i + 2), SUBKEY_R(i + 2), \ |
| 899 | io[2], io[3], il, ir); \ | 876 | io[2], io[3], il, ir); \ |
| @@ -912,13 +889,13 @@ static void camellia_do_encrypt(const u32 *subkey, u32 *io, unsigned max) | |||
| 912 | CAMELLIA_ROUNDSM(io[2], io[3], \ | 889 | CAMELLIA_ROUNDSM(io[2], io[3], \ |
| 913 | SUBKEY_L(i + 7), SUBKEY_R(i + 7), \ | 890 | SUBKEY_L(i + 7), SUBKEY_R(i + 7), \ |
| 914 | io[0], io[1], il, ir); \ | 891 | io[0], io[1], il, ir); \ |
| 915 | } while (0) | 892 | }) |
| 916 | #define FLS(i) do { \ | 893 | #define FLS(i) ({ \ |
| 917 | CAMELLIA_FLS(io[0], io[1], io[2], io[3], \ | 894 | CAMELLIA_FLS(io[0], io[1], io[2], io[3], \ |
| 918 | SUBKEY_L(i + 0), SUBKEY_R(i + 0), \ | 895 | SUBKEY_L(i + 0), SUBKEY_R(i + 0), \ |
| 919 | SUBKEY_L(i + 1), SUBKEY_R(i + 1), \ | 896 | SUBKEY_L(i + 1), SUBKEY_R(i + 1), \ |
| 920 | t0, t1, il, ir); \ | 897 | t0, t1, il, ir); \ |
| 921 | } while (0) | 898 | }) |
| 922 | 899 | ||
| 923 | ROUNDS(0); | 900 | ROUNDS(0); |
| 924 | FLS(8); | 901 | FLS(8); |
| @@ -948,7 +925,7 @@ static void camellia_do_decrypt(const u32 *subkey, u32 *io, unsigned i) | |||
| 948 | io[1] ^= SUBKEY_R(i); | 925 | io[1] ^= SUBKEY_R(i); |
| 949 | 926 | ||
| 950 | /* main iteration */ | 927 | /* main iteration */ |
| 951 | #define ROUNDS(i) do { \ | 928 | #define ROUNDS(i) ({ \ |
| 952 | CAMELLIA_ROUNDSM(io[0], io[1], \ | 929 | CAMELLIA_ROUNDSM(io[0], io[1], \ |
| 953 | SUBKEY_L(i + 7), SUBKEY_R(i + 7), \ | 930 | SUBKEY_L(i + 7), SUBKEY_R(i + 7), \ |
| 954 | io[2], io[3], il, ir); \ | 931 | io[2], io[3], il, ir); \ |
| @@ -967,13 +944,13 @@ static void camellia_do_decrypt(const u32 *subkey, u32 *io, unsigned i) | |||
| 967 | CAMELLIA_ROUNDSM(io[2], io[3], \ | 944 | CAMELLIA_ROUNDSM(io[2], io[3], \ |
| 968 | SUBKEY_L(i + 2), SUBKEY_R(i + 2), \ | 945 | SUBKEY_L(i + 2), SUBKEY_R(i + 2), \ |
| 969 | io[0], io[1], il, ir); \ | 946 | io[0], io[1], il, ir); \ |
| 970 | } while (0) | 947 | }) |
| 971 | #define FLS(i) do { \ | 948 | #define FLS(i) ({ \ |
| 972 | CAMELLIA_FLS(io[0], io[1], io[2], io[3], \ | 949 | CAMELLIA_FLS(io[0], io[1], io[2], io[3], \ |
| 973 | SUBKEY_L(i + 1), SUBKEY_R(i + 1), \ | 950 | SUBKEY_L(i + 1), SUBKEY_R(i + 1), \ |
| 974 | SUBKEY_L(i + 0), SUBKEY_R(i + 0), \ | 951 | SUBKEY_L(i + 0), SUBKEY_R(i + 0), \ |
| 975 | t0, t1, il, ir); \ | 952 | t0, t1, il, ir); \ |
| 976 | } while (0) | 953 | }) |
| 977 | 954 | ||
| 978 | if (i == 32) { | 955 | if (i == 32) { |
| 979 | ROUNDS(24); | 956 | ROUNDS(24); |
| @@ -1035,6 +1012,7 @@ static void camellia_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) | |||
| 1035 | const struct camellia_ctx *cctx = crypto_tfm_ctx(tfm); | 1012 | const struct camellia_ctx *cctx = crypto_tfm_ctx(tfm); |
| 1036 | const __be32 *src = (const __be32 *)in; | 1013 | const __be32 *src = (const __be32 *)in; |
| 1037 | __be32 *dst = (__be32 *)out; | 1014 | __be32 *dst = (__be32 *)out; |
| 1015 | unsigned int max; | ||
| 1038 | 1016 | ||
| 1039 | u32 tmp[4]; | 1017 | u32 tmp[4]; |
| 1040 | 1018 | ||
| @@ -1043,9 +1021,12 @@ static void camellia_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) | |||
| 1043 | tmp[2] = be32_to_cpu(src[2]); | 1021 | tmp[2] = be32_to_cpu(src[2]); |
| 1044 | tmp[3] = be32_to_cpu(src[3]); | 1022 | tmp[3] = be32_to_cpu(src[3]); |
| 1045 | 1023 | ||
| 1046 | camellia_do_encrypt(cctx->key_table, tmp, | 1024 | if (cctx->key_length == 16) |
| 1047 | cctx->key_length == 16 ? 24 : 32 /* for key lengths of 24 and 32 */ | 1025 | max = 24; |
| 1048 | ); | 1026 | else |
| 1027 | max = 32; /* for key lengths of 24 and 32 */ | ||
| 1028 | |||
| 1029 | camellia_do_encrypt(cctx->key_table, tmp, max); | ||
| 1049 | 1030 | ||
| 1050 | /* do_encrypt returns 0,1 swapped with 2,3 */ | 1031 | /* do_encrypt returns 0,1 swapped with 2,3 */ |
| 1051 | dst[0] = cpu_to_be32(tmp[2]); | 1032 | dst[0] = cpu_to_be32(tmp[2]); |
| @@ -1059,6 +1040,7 @@ static void camellia_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) | |||
| 1059 | const struct camellia_ctx *cctx = crypto_tfm_ctx(tfm); | 1040 | const struct camellia_ctx *cctx = crypto_tfm_ctx(tfm); |
| 1060 | const __be32 *src = (const __be32 *)in; | 1041 | const __be32 *src = (const __be32 *)in; |
| 1061 | __be32 *dst = (__be32 *)out; | 1042 | __be32 *dst = (__be32 *)out; |
| 1043 | unsigned int max; | ||
| 1062 | 1044 | ||
| 1063 | u32 tmp[4]; | 1045 | u32 tmp[4]; |
| 1064 | 1046 | ||
| @@ -1067,9 +1049,12 @@ static void camellia_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) | |||
| 1067 | tmp[2] = be32_to_cpu(src[2]); | 1049 | tmp[2] = be32_to_cpu(src[2]); |
| 1068 | tmp[3] = be32_to_cpu(src[3]); | 1050 | tmp[3] = be32_to_cpu(src[3]); |
| 1069 | 1051 | ||
| 1070 | camellia_do_decrypt(cctx->key_table, tmp, | 1052 | if (cctx->key_length == 16) |
| 1071 | cctx->key_length == 16 ? 24 : 32 /* for key lengths of 24 and 32 */ | 1053 | max = 24; |
| 1072 | ); | 1054 | else |
| 1055 | max = 32; /* for key lengths of 24 and 32 */ | ||
| 1056 | |||
| 1057 | camellia_do_decrypt(cctx->key_table, tmp, max); | ||
| 1073 | 1058 | ||
| 1074 | /* do_decrypt returns 0,1 swapped with 2,3 */ | 1059 | /* do_decrypt returns 0,1 swapped with 2,3 */ |
| 1075 | dst[0] = cpu_to_be32(tmp[2]); | 1060 | dst[0] = cpu_to_be32(tmp[2]); |
| @@ -1114,3 +1099,4 @@ module_exit(camellia_fini); | |||
| 1114 | 1099 | ||
| 1115 | MODULE_DESCRIPTION("Camellia Cipher Algorithm"); | 1100 | MODULE_DESCRIPTION("Camellia Cipher Algorithm"); |
| 1116 | MODULE_LICENSE("GPL"); | 1101 | MODULE_LICENSE("GPL"); |
| 1102 | MODULE_ALIAS("camellia"); | ||
diff --git a/crypto/crypto_user.c b/crypto/crypto_user.c index b6ac1387770c..f76e42bcc6e7 100644 --- a/crypto/crypto_user.c +++ b/crypto/crypto_user.c | |||
| @@ -304,7 +304,7 @@ static int crypto_del_alg(struct sk_buff *skb, struct nlmsghdr *nlh, | |||
| 304 | static int crypto_add_alg(struct sk_buff *skb, struct nlmsghdr *nlh, | 304 | static int crypto_add_alg(struct sk_buff *skb, struct nlmsghdr *nlh, |
| 305 | struct nlattr **attrs) | 305 | struct nlattr **attrs) |
| 306 | { | 306 | { |
| 307 | int exact; | 307 | int exact = 0; |
| 308 | const char *name; | 308 | const char *name; |
| 309 | struct crypto_alg *alg; | 309 | struct crypto_alg *alg; |
| 310 | struct crypto_user_alg *p = nlmsg_data(nlh); | 310 | struct crypto_user_alg *p = nlmsg_data(nlh); |
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c index 7736a9f05aba..8f147bff0980 100644 --- a/crypto/tcrypt.c +++ b/crypto/tcrypt.c | |||
| @@ -1297,6 +1297,18 @@ static int do_test(int m) | |||
| 1297 | speed_template_16_24_32); | 1297 | speed_template_16_24_32); |
| 1298 | test_cipher_speed("cbc(camellia)", DECRYPT, sec, NULL, 0, | 1298 | test_cipher_speed("cbc(camellia)", DECRYPT, sec, NULL, 0, |
| 1299 | speed_template_16_24_32); | 1299 | speed_template_16_24_32); |
| 1300 | test_cipher_speed("ctr(camellia)", ENCRYPT, sec, NULL, 0, | ||
| 1301 | speed_template_16_24_32); | ||
| 1302 | test_cipher_speed("ctr(camellia)", DECRYPT, sec, NULL, 0, | ||
| 1303 | speed_template_16_24_32); | ||
| 1304 | test_cipher_speed("lrw(camellia)", ENCRYPT, sec, NULL, 0, | ||
| 1305 | speed_template_32_40_48); | ||
| 1306 | test_cipher_speed("lrw(camellia)", DECRYPT, sec, NULL, 0, | ||
| 1307 | speed_template_32_40_48); | ||
| 1308 | test_cipher_speed("xts(camellia)", ENCRYPT, sec, NULL, 0, | ||
| 1309 | speed_template_32_48_64); | ||
| 1310 | test_cipher_speed("xts(camellia)", DECRYPT, sec, NULL, 0, | ||
| 1311 | speed_template_32_48_64); | ||
| 1300 | break; | 1312 | break; |
| 1301 | 1313 | ||
| 1302 | case 206: | 1314 | case 206: |
diff --git a/crypto/testmgr.c b/crypto/testmgr.c index bb54b882d738..5674878ff6c1 100644 --- a/crypto/testmgr.c +++ b/crypto/testmgr.c | |||
| @@ -1846,6 +1846,21 @@ static const struct alg_test_desc alg_test_descs[] = { | |||
| 1846 | } | 1846 | } |
| 1847 | } | 1847 | } |
| 1848 | }, { | 1848 | }, { |
| 1849 | .alg = "ctr(camellia)", | ||
| 1850 | .test = alg_test_skcipher, | ||
| 1851 | .suite = { | ||
| 1852 | .cipher = { | ||
| 1853 | .enc = { | ||
| 1854 | .vecs = camellia_ctr_enc_tv_template, | ||
| 1855 | .count = CAMELLIA_CTR_ENC_TEST_VECTORS | ||
| 1856 | }, | ||
| 1857 | .dec = { | ||
| 1858 | .vecs = camellia_ctr_dec_tv_template, | ||
| 1859 | .count = CAMELLIA_CTR_DEC_TEST_VECTORS | ||
| 1860 | } | ||
| 1861 | } | ||
| 1862 | } | ||
| 1863 | }, { | ||
| 1849 | .alg = "ctr(serpent)", | 1864 | .alg = "ctr(serpent)", |
| 1850 | .test = alg_test_skcipher, | 1865 | .test = alg_test_skcipher, |
| 1851 | .suite = { | 1866 | .suite = { |
| @@ -2297,6 +2312,21 @@ static const struct alg_test_desc alg_test_descs[] = { | |||
| 2297 | } | 2312 | } |
| 2298 | } | 2313 | } |
| 2299 | }, { | 2314 | }, { |
| 2315 | .alg = "lrw(camellia)", | ||
| 2316 | .test = alg_test_skcipher, | ||
| 2317 | .suite = { | ||
| 2318 | .cipher = { | ||
| 2319 | .enc = { | ||
| 2320 | .vecs = camellia_lrw_enc_tv_template, | ||
| 2321 | .count = CAMELLIA_LRW_ENC_TEST_VECTORS | ||
| 2322 | }, | ||
| 2323 | .dec = { | ||
| 2324 | .vecs = camellia_lrw_dec_tv_template, | ||
| 2325 | .count = CAMELLIA_LRW_DEC_TEST_VECTORS | ||
| 2326 | } | ||
| 2327 | } | ||
| 2328 | } | ||
| 2329 | }, { | ||
| 2300 | .alg = "lrw(serpent)", | 2330 | .alg = "lrw(serpent)", |
| 2301 | .test = alg_test_skcipher, | 2331 | .test = alg_test_skcipher, |
| 2302 | .suite = { | 2332 | .suite = { |
| @@ -2634,6 +2664,21 @@ static const struct alg_test_desc alg_test_descs[] = { | |||
| 2634 | } | 2664 | } |
| 2635 | } | 2665 | } |
| 2636 | }, { | 2666 | }, { |
| 2667 | .alg = "xts(camellia)", | ||
| 2668 | .test = alg_test_skcipher, | ||
| 2669 | .suite = { | ||
| 2670 | .cipher = { | ||
| 2671 | .enc = { | ||
| 2672 | .vecs = camellia_xts_enc_tv_template, | ||
| 2673 | .count = CAMELLIA_XTS_ENC_TEST_VECTORS | ||
| 2674 | }, | ||
| 2675 | .dec = { | ||
| 2676 | .vecs = camellia_xts_dec_tv_template, | ||
| 2677 | .count = CAMELLIA_XTS_DEC_TEST_VECTORS | ||
| 2678 | } | ||
| 2679 | } | ||
| 2680 | } | ||
| 2681 | }, { | ||
| 2637 | .alg = "xts(serpent)", | 2682 | .alg = "xts(serpent)", |
| 2638 | .test = alg_test_skcipher, | 2683 | .test = alg_test_skcipher, |
| 2639 | .suite = { | 2684 | .suite = { |
diff --git a/crypto/testmgr.h b/crypto/testmgr.h index 43e84d32b341..36e5a8ee0e1e 100644 --- a/crypto/testmgr.h +++ b/crypto/testmgr.h | |||
| @@ -11332,10 +11332,16 @@ static struct cipher_testvec fcrypt_pcbc_dec_tv_template[] = { | |||
| 11332 | /* | 11332 | /* |
| 11333 | * CAMELLIA test vectors. | 11333 | * CAMELLIA test vectors. |
| 11334 | */ | 11334 | */ |
| 11335 | #define CAMELLIA_ENC_TEST_VECTORS 3 | 11335 | #define CAMELLIA_ENC_TEST_VECTORS 4 |
| 11336 | #define CAMELLIA_DEC_TEST_VECTORS 3 | 11336 | #define CAMELLIA_DEC_TEST_VECTORS 4 |
| 11337 | #define CAMELLIA_CBC_ENC_TEST_VECTORS 2 | 11337 | #define CAMELLIA_CBC_ENC_TEST_VECTORS 3 |
| 11338 | #define CAMELLIA_CBC_DEC_TEST_VECTORS 2 | 11338 | #define CAMELLIA_CBC_DEC_TEST_VECTORS 3 |
| 11339 | #define CAMELLIA_CTR_ENC_TEST_VECTORS 2 | ||
| 11340 | #define CAMELLIA_CTR_DEC_TEST_VECTORS 2 | ||
| 11341 | #define CAMELLIA_LRW_ENC_TEST_VECTORS 8 | ||
| 11342 | #define CAMELLIA_LRW_DEC_TEST_VECTORS 8 | ||
| 11343 | #define CAMELLIA_XTS_ENC_TEST_VECTORS 5 | ||
| 11344 | #define CAMELLIA_XTS_DEC_TEST_VECTORS 5 | ||
| 11339 | 11345 | ||
| 11340 | static struct cipher_testvec camellia_enc_tv_template[] = { | 11346 | static struct cipher_testvec camellia_enc_tv_template[] = { |
| 11341 | { | 11347 | { |
| @@ -11372,6 +11378,27 @@ static struct cipher_testvec camellia_enc_tv_template[] = { | |||
| 11372 | "\x20\xef\x7c\x91\x9e\x3a\x75\x09", | 11378 | "\x20\xef\x7c\x91\x9e\x3a\x75\x09", |
| 11373 | .rlen = 16, | 11379 | .rlen = 16, |
| 11374 | }, | 11380 | }, |
| 11381 | { /* Generated with Crypto++ */ | ||
| 11382 | .key = "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C" | ||
| 11383 | "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D" | ||
| 11384 | "\x4A\x27\x04\xE1\x27\x04\xE1\xBE" | ||
| 11385 | "\x9B\x78\xBE\x9B\x78\x55\x32\x0F", | ||
| 11386 | .klen = 32, | ||
| 11387 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | ||
| 11388 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | ||
| 11389 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | ||
| 11390 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | ||
| 11391 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | ||
| 11392 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | ||
| 11393 | .ilen = 48, | ||
| 11394 | .result = "\xED\xCD\xDB\xB8\x68\xCE\xBD\xEA" | ||
| 11395 | "\x9D\x9D\xCD\x9F\x4F\xFC\x4D\xB7" | ||
| 11396 | "\xA5\xFF\x6F\x43\x0F\xBA\x32\x04" | ||
| 11397 | "\xB3\xC2\xB9\x03\xAA\x91\x56\x29" | ||
| 11398 | "\x0D\xD0\xFD\xC4\x65\xA5\x69\xB9" | ||
| 11399 | "\xF1\xF6\xB1\xA5\xB2\x75\x4F\x8A", | ||
| 11400 | .rlen = 48, | ||
| 11401 | }, | ||
| 11375 | }; | 11402 | }; |
| 11376 | 11403 | ||
| 11377 | static struct cipher_testvec camellia_dec_tv_template[] = { | 11404 | static struct cipher_testvec camellia_dec_tv_template[] = { |
| @@ -11409,6 +11436,27 @@ static struct cipher_testvec camellia_dec_tv_template[] = { | |||
| 11409 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", | 11436 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", |
| 11410 | .rlen = 16, | 11437 | .rlen = 16, |
| 11411 | }, | 11438 | }, |
| 11439 | { /* Generated with Crypto++ */ | ||
| 11440 | .key = "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C" | ||
| 11441 | "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D" | ||
| 11442 | "\x4A\x27\x04\xE1\x27\x04\xE1\xBE" | ||
| 11443 | "\x9B\x78\xBE\x9B\x78\x55\x32\x0F", | ||
| 11444 | .klen = 32, | ||
| 11445 | .input = "\xED\xCD\xDB\xB8\x68\xCE\xBD\xEA" | ||
| 11446 | "\x9D\x9D\xCD\x9F\x4F\xFC\x4D\xB7" | ||
| 11447 | "\xA5\xFF\x6F\x43\x0F\xBA\x32\x04" | ||
| 11448 | "\xB3\xC2\xB9\x03\xAA\x91\x56\x29" | ||
| 11449 | "\x0D\xD0\xFD\xC4\x65\xA5\x69\xB9" | ||
| 11450 | "\xF1\xF6\xB1\xA5\xB2\x75\x4F\x8A", | ||
| 11451 | .ilen = 48, | ||
| 11452 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | ||
| 11453 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | ||
| 11454 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | ||
| 11455 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | ||
| 11456 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | ||
| 11457 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | ||
| 11458 | .rlen = 48, | ||
| 11459 | }, | ||
| 11412 | }; | 11460 | }; |
| 11413 | 11461 | ||
| 11414 | static struct cipher_testvec camellia_cbc_enc_tv_template[] = { | 11462 | static struct cipher_testvec camellia_cbc_enc_tv_template[] = { |
| @@ -11440,6 +11488,29 @@ static struct cipher_testvec camellia_cbc_enc_tv_template[] = { | |||
| 11440 | "\x15\x78\xe0\x5e\xf2\xcb\x87\x16", | 11488 | "\x15\x78\xe0\x5e\xf2\xcb\x87\x16", |
| 11441 | .rlen = 32, | 11489 | .rlen = 32, |
| 11442 | }, | 11490 | }, |
| 11491 | { /* Generated with Crypto++ */ | ||
| 11492 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | ||
| 11493 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | ||
| 11494 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | ||
| 11495 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | ||
| 11496 | .klen = 32, | ||
| 11497 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | ||
| 11498 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | ||
| 11499 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | ||
| 11500 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | ||
| 11501 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | ||
| 11502 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | ||
| 11503 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | ||
| 11504 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | ||
| 11505 | .ilen = 48, | ||
| 11506 | .result = "\xCD\x3E\x2A\x3B\x3E\x94\xC5\x77" | ||
| 11507 | "\xBA\xBB\x5B\xB1\xDE\x7B\xA4\x40" | ||
| 11508 | "\x88\x39\xE3\xFD\x94\x4B\x25\x58" | ||
| 11509 | "\xE1\x4B\xC4\x18\x7A\xFD\x17\x2B" | ||
| 11510 | "\xB9\xF9\xC2\x27\x6A\xB6\x31\x27" | ||
| 11511 | "\xA6\xAD\xEF\xE5\x5D\xE4\x02\x01", | ||
| 11512 | .rlen = 48, | ||
| 11513 | }, | ||
| 11443 | }; | 11514 | }; |
| 11444 | 11515 | ||
| 11445 | static struct cipher_testvec camellia_cbc_dec_tv_template[] = { | 11516 | static struct cipher_testvec camellia_cbc_dec_tv_template[] = { |
| @@ -11471,6 +11542,1310 @@ static struct cipher_testvec camellia_cbc_dec_tv_template[] = { | |||
| 11471 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | 11542 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", |
| 11472 | .rlen = 32, | 11543 | .rlen = 32, |
| 11473 | }, | 11544 | }, |
| 11545 | { /* Generated with Crypto++ */ | ||
| 11546 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | ||
| 11547 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | ||
| 11548 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | ||
| 11549 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | ||
| 11550 | .klen = 32, | ||
| 11551 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | ||
| 11552 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | ||
| 11553 | .input = "\xCD\x3E\x2A\x3B\x3E\x94\xC5\x77" | ||
| 11554 | "\xBA\xBB\x5B\xB1\xDE\x7B\xA4\x40" | ||
| 11555 | "\x88\x39\xE3\xFD\x94\x4B\x25\x58" | ||
| 11556 | "\xE1\x4B\xC4\x18\x7A\xFD\x17\x2B" | ||
| 11557 | "\xB9\xF9\xC2\x27\x6A\xB6\x31\x27" | ||
| 11558 | "\xA6\xAD\xEF\xE5\x5D\xE4\x02\x01", | ||
| 11559 | .ilen = 48, | ||
| 11560 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | ||
| 11561 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | ||
| 11562 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | ||
| 11563 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | ||
| 11564 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | ||
| 11565 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | ||
| 11566 | .rlen = 48, | ||
| 11567 | }, | ||
| 11568 | }; | ||
| 11569 | |||
| 11570 | static struct cipher_testvec camellia_ctr_enc_tv_template[] = { | ||
| 11571 | { /* Generated with Crypto++ */ | ||
| 11572 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | ||
| 11573 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | ||
| 11574 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | ||
| 11575 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | ||
| 11576 | .klen = 32, | ||
| 11577 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | ||
| 11578 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | ||
| 11579 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | ||
| 11580 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | ||
| 11581 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | ||
| 11582 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | ||
| 11583 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | ||
| 11584 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | ||
| 11585 | .ilen = 48, | ||
| 11586 | .result = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11" | ||
| 11587 | "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE" | ||
| 11588 | "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4" | ||
| 11589 | "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" | ||
| 11590 | "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" | ||
| 11591 | "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C", | ||
| 11592 | .rlen = 48, | ||
| 11593 | }, | ||
| 11594 | { /* Generated with Crypto++ */ | ||
| 11595 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | ||
| 11596 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | ||
| 11597 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | ||
| 11598 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | ||
| 11599 | .klen = 32, | ||
| 11600 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | ||
| 11601 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | ||
| 11602 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | ||
| 11603 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | ||
| 11604 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | ||
| 11605 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | ||
| 11606 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | ||
| 11607 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | ||
| 11608 | "\xDF\x76\x0D", | ||
| 11609 | .ilen = 51, | ||
| 11610 | .result = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11" | ||
| 11611 | "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE" | ||
| 11612 | "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4" | ||
| 11613 | "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" | ||
| 11614 | "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" | ||
| 11615 | "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C" | ||
| 11616 | "\x1E\x43\xEF", | ||
| 11617 | .rlen = 51, | ||
| 11618 | }, | ||
| 11619 | }; | ||
| 11620 | |||
| 11621 | static struct cipher_testvec camellia_ctr_dec_tv_template[] = { | ||
| 11622 | { /* Generated with Crypto++ */ | ||
| 11623 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | ||
| 11624 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | ||
| 11625 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | ||
| 11626 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | ||
| 11627 | .klen = 32, | ||
| 11628 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | ||
| 11629 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | ||
| 11630 | .input = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11" | ||
| 11631 | "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE" | ||
| 11632 | "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4" | ||
| 11633 | "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" | ||
| 11634 | "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" | ||
| 11635 | "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C", | ||
| 11636 | .ilen = 48, | ||
| 11637 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | ||
| 11638 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | ||
| 11639 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | ||
| 11640 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | ||
| 11641 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | ||
| 11642 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | ||
| 11643 | .rlen = 48, | ||
| 11644 | }, | ||
| 11645 | { /* Generated with Crypto++ */ | ||
| 11646 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | ||
| 11647 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | ||
| 11648 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | ||
| 11649 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | ||
| 11650 | .klen = 32, | ||
| 11651 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | ||
| 11652 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | ||
| 11653 | .input = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11" | ||
| 11654 | "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE" | ||
| 11655 | "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4" | ||
| 11656 | "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" | ||
| 11657 | "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" | ||
| 11658 | "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C" | ||
| 11659 | "\x1E\x43\xEF", | ||
| 11660 | .ilen = 51, | ||
| 11661 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | ||
| 11662 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | ||
| 11663 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | ||
| 11664 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | ||
| 11665 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | ||
| 11666 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | ||
| 11667 | "\xDF\x76\x0D", | ||
| 11668 | .rlen = 51, | ||
| 11669 | }, | ||
| 11670 | |||
| 11671 | }; | ||
| 11672 | |||
| 11673 | static struct cipher_testvec camellia_lrw_enc_tv_template[] = { | ||
| 11674 | /* Generated from AES-LRW test vectors */ | ||
| 11675 | { | ||
| 11676 | .key = "\x45\x62\xac\x25\xf8\x28\x17\x6d" | ||
| 11677 | "\x4c\x26\x84\x14\xb5\x68\x01\x85" | ||
| 11678 | "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03" | ||
| 11679 | "\xee\x5a\x83\x0c\xcc\x09\x4c\x87", | ||
| 11680 | .klen = 32, | ||
| 11681 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11682 | "\x00\x00\x00\x00\x00\x00\x00\x01", | ||
| 11683 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11684 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11685 | .ilen = 16, | ||
| 11686 | .result = "\x92\x68\x19\xd7\xb7\x5b\x0a\x31" | ||
| 11687 | "\x97\xcc\x72\xbe\x99\x17\xeb\x3e", | ||
| 11688 | .rlen = 16, | ||
| 11689 | }, { | ||
| 11690 | .key = "\x59\x70\x47\x14\xf5\x57\x47\x8c" | ||
| 11691 | "\xd7\x79\xe8\x0f\x54\x88\x79\x44" | ||
| 11692 | "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea" | ||
| 11693 | "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf", | ||
| 11694 | .klen = 32, | ||
| 11695 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11696 | "\x00\x00\x00\x00\x00\x00\x00\x02", | ||
| 11697 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11698 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11699 | .ilen = 16, | ||
| 11700 | .result = "\x73\x09\xb7\x50\xb6\x77\x30\x50" | ||
| 11701 | "\x5c\x8a\x9c\x26\x77\x9d\xfc\x4a", | ||
| 11702 | .rlen = 16, | ||
| 11703 | }, { | ||
| 11704 | .key = "\xd8\x2a\x91\x34\xb2\x6a\x56\x50" | ||
| 11705 | "\x30\xfe\x69\xe2\x37\x7f\x98\x47" | ||
| 11706 | "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6" | ||
| 11707 | "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f", | ||
| 11708 | .klen = 32, | ||
| 11709 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11710 | "\x00\x00\x00\x02\x00\x00\x00\x00", | ||
| 11711 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11712 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11713 | .ilen = 16, | ||
| 11714 | .result = "\x90\xae\x83\xe0\x22\xb9\x60\x91" | ||
| 11715 | "\xfa\xa9\xb7\x98\xe3\xed\x87\x01", | ||
| 11716 | .rlen = 16, | ||
| 11717 | }, { | ||
| 11718 | .key = "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15" | ||
| 11719 | "\x25\x83\xf7\x3c\x1f\x01\x28\x74" | ||
| 11720 | "\xca\xc6\xbc\x35\x4d\x4a\x65\x54" | ||
| 11721 | "\x90\xae\x61\xcf\x7b\xae\xbd\xcc" | ||
| 11722 | "\xad\xe4\x94\xc5\x4a\x29\xae\x70", | ||
| 11723 | .klen = 40, | ||
| 11724 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11725 | "\x00\x00\x00\x00\x00\x00\x00\x01", | ||
| 11726 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11727 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11728 | .ilen = 16, | ||
| 11729 | .result = "\x99\xe9\x6e\xd4\xc9\x21\xa5\xf0" | ||
| 11730 | "\xd8\x83\xef\xd9\x07\x16\x5f\x35", | ||
| 11731 | .rlen = 16, | ||
| 11732 | }, { | ||
| 11733 | .key = "\x8a\xd4\xee\x10\x2f\xbd\x81\xff" | ||
| 11734 | "\xf8\x86\xce\xac\x93\xc5\xad\xc6" | ||
| 11735 | "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd" | ||
| 11736 | "\x52\x13\xb2\xb7\xf0\xff\x11\xd8" | ||
| 11737 | "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f", | ||
| 11738 | .klen = 40, | ||
| 11739 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11740 | "\x00\x00\x00\x02\x00\x00\x00\x00", | ||
| 11741 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11742 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11743 | .ilen = 16, | ||
| 11744 | .result = "\x42\x88\xf4\xcb\x21\x11\x6d\x8e" | ||
| 11745 | "\xde\x1a\xf2\x29\xf1\x4a\xe0\x15", | ||
| 11746 | .rlen = 16, | ||
| 11747 | }, { | ||
| 11748 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | ||
| 11749 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | ||
| 11750 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | ||
| 11751 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | ||
| 11752 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | ||
| 11753 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | ||
| 11754 | .klen = 48, | ||
| 11755 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11756 | "\x00\x00\x00\x00\x00\x00\x00\x01", | ||
| 11757 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11758 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11759 | .ilen = 16, | ||
| 11760 | .result = "\x40\xaa\x34\x86\x4a\x8f\x78\xb9" | ||
| 11761 | "\xdb\xdb\x0f\x3d\x48\x70\xbe\x8d", | ||
| 11762 | .rlen = 16, | ||
| 11763 | }, { | ||
| 11764 | .key = "\xfb\x76\x15\xb2\x3d\x80\x89\x1d" | ||
| 11765 | "\xd4\x70\x98\x0b\xc7\x95\x84\xc8" | ||
| 11766 | "\xb2\xfb\x64\xce\x60\x97\x87\x8d" | ||
| 11767 | "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7" | ||
| 11768 | "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4" | ||
| 11769 | "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c", | ||
| 11770 | .klen = 48, | ||
| 11771 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11772 | "\x00\x00\x00\x02\x00\x00\x00\x00", | ||
| 11773 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11774 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11775 | .ilen = 16, | ||
| 11776 | .result = "\x04\xab\x28\x37\x31\x7a\x26\xab" | ||
| 11777 | "\xa1\x70\x1b\x9c\xe7\xdd\x83\xff", | ||
| 11778 | .rlen = 16, | ||
| 11779 | }, { | ||
| 11780 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | ||
| 11781 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | ||
| 11782 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | ||
| 11783 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | ||
| 11784 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | ||
| 11785 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | ||
| 11786 | .klen = 48, | ||
| 11787 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11788 | "\x00\x00\x00\x00\x00\x00\x00\x01", | ||
| 11789 | .input = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | ||
| 11790 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | ||
| 11791 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | ||
| 11792 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | ||
| 11793 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | ||
| 11794 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | ||
| 11795 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | ||
| 11796 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | ||
| 11797 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | ||
| 11798 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | ||
| 11799 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | ||
| 11800 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | ||
| 11801 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | ||
| 11802 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | ||
| 11803 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | ||
| 11804 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | ||
| 11805 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | ||
| 11806 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | ||
| 11807 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | ||
| 11808 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | ||
| 11809 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | ||
| 11810 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | ||
| 11811 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | ||
| 11812 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | ||
| 11813 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | ||
| 11814 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | ||
| 11815 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | ||
| 11816 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | ||
| 11817 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | ||
| 11818 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | ||
| 11819 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | ||
| 11820 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | ||
| 11821 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | ||
| 11822 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | ||
| 11823 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | ||
| 11824 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | ||
| 11825 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | ||
| 11826 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | ||
| 11827 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | ||
| 11828 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | ||
| 11829 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | ||
| 11830 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | ||
| 11831 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | ||
| 11832 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | ||
| 11833 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | ||
| 11834 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | ||
| 11835 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | ||
| 11836 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | ||
| 11837 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | ||
| 11838 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | ||
| 11839 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | ||
| 11840 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | ||
| 11841 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | ||
| 11842 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | ||
| 11843 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | ||
| 11844 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | ||
| 11845 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | ||
| 11846 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | ||
| 11847 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | ||
| 11848 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | ||
| 11849 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | ||
| 11850 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | ||
| 11851 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | ||
| 11852 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | ||
| 11853 | .ilen = 512, | ||
| 11854 | .result = "\x90\x69\x8e\xf2\x14\x86\x59\xf9" | ||
| 11855 | "\xec\xe7\xfa\x3f\x48\x9d\x7f\x96" | ||
| 11856 | "\x67\x76\xac\x2c\xd2\x63\x18\x93" | ||
| 11857 | "\x13\xf8\xf1\xf6\x71\x77\xb3\xee" | ||
| 11858 | "\x93\xb2\xcc\xf3\x26\xc1\x16\x4f" | ||
| 11859 | "\xd4\xe8\x43\xc1\x68\xa3\x3e\x06" | ||
| 11860 | "\x38\x51\xff\xa8\xb9\xa4\xeb\xb1" | ||
| 11861 | "\x62\xdd\x78\x81\xea\x1d\xef\x04" | ||
| 11862 | "\x1d\x07\xc1\x67\xc8\xd6\x77\xa1" | ||
| 11863 | "\x84\x95\xf4\x9a\xd9\xbc\x2d\xe2" | ||
| 11864 | "\xf6\x80\xfc\x91\x2a\xbc\x42\xa0" | ||
| 11865 | "\x40\x41\x69\xaa\x71\xc0\x37\xec" | ||
| 11866 | "\x39\xf3\xf2\xec\x82\xc3\x88\x79" | ||
| 11867 | "\xbc\xc3\xaa\xb7\xcf\x6a\x72\x80" | ||
| 11868 | "\x4c\xf4\x84\x8f\x13\x9e\x94\x5c" | ||
| 11869 | "\xe5\xb2\x91\xbb\x92\x51\x4d\xf1" | ||
| 11870 | "\xd6\x0d\x71\x6b\x7a\xc2\x2f\x12" | ||
| 11871 | "\x6f\x75\xc7\x80\x99\x50\x84\xcf" | ||
| 11872 | "\xa8\xeb\xd6\xe1\x1c\x59\x81\x7e" | ||
| 11873 | "\xb9\xb3\xde\x7a\x93\x14\x12\xa2" | ||
| 11874 | "\xf7\x43\xb3\x9d\x1a\x87\x65\x91" | ||
| 11875 | "\x42\x08\x40\x82\x06\x1c\x2d\x55" | ||
| 11876 | "\x6e\x48\xd5\x74\x07\x6e\x9d\x80" | ||
| 11877 | "\xeb\xb4\x97\xa1\x36\xdf\xfa\x74" | ||
| 11878 | "\x79\x7f\x5a\x75\xe7\x71\xc8\x8c" | ||
| 11879 | "\x7e\xf8\x3a\x77\xcd\x32\x05\xf9" | ||
| 11880 | "\x3d\xd4\xe9\xa2\xbb\xc4\x8b\x83" | ||
| 11881 | "\x42\x5c\x82\xfa\xe9\x4b\x96\x3b" | ||
| 11882 | "\x7f\x89\x8b\xf9\xf1\x87\xda\xf0" | ||
| 11883 | "\x87\xef\x13\x5d\xf0\xe2\xc5\xc1" | ||
| 11884 | "\xed\x14\xa9\x57\x19\x63\x40\x04" | ||
| 11885 | "\x24\xeb\x6e\x19\xd1\x3d\x70\x78" | ||
| 11886 | "\xeb\xda\x55\x70\x2c\x4f\x41\x5b" | ||
| 11887 | "\x56\x9f\x1a\xd3\xac\xf1\xc0\xc3" | ||
| 11888 | "\x21\xec\xd7\xd2\x55\x32\x7c\x2e" | ||
| 11889 | "\x3c\x48\x8e\xb4\x85\x35\x47\xfe" | ||
| 11890 | "\xe2\x88\x79\x98\x6a\xc9\x8d\xff" | ||
| 11891 | "\xe9\x89\x6e\xb8\xe2\x97\x00\xbd" | ||
| 11892 | "\xa4\x8f\xba\xd0\x8c\xcb\x79\x99" | ||
| 11893 | "\xb3\xb2\xb2\x7a\xc3\xb7\xef\x75" | ||
| 11894 | "\x23\x52\x76\xc3\x50\x6e\x66\xf8" | ||
| 11895 | "\xa2\xe2\xce\xba\x40\x21\x3f\xc9" | ||
| 11896 | "\x0a\x32\x7f\xf7\x08\x8c\x66\xcf" | ||
| 11897 | "\xd3\xdf\x57\x59\x83\xb8\xe1\x85" | ||
| 11898 | "\xd6\x8f\xfb\x48\x1f\x3a\xc4\x2f" | ||
| 11899 | "\xb4\x2d\x58\xab\xd8\x7f\x5e\x3a" | ||
| 11900 | "\xbc\x62\x3e\xe2\x6a\x52\x0d\x76" | ||
| 11901 | "\x2f\x1c\x1a\x30\xed\x95\x2a\x44" | ||
| 11902 | "\x35\xa5\x83\x04\x84\x01\x99\x56" | ||
| 11903 | "\xb7\xe3\x10\x96\xfa\xdc\x19\xdd" | ||
| 11904 | "\xe2\x7f\xcb\xa0\x49\x1b\xff\x4c" | ||
| 11905 | "\x73\xf6\xbb\x94\x00\xe8\xa9\x3d" | ||
| 11906 | "\xe2\x20\xe9\x3f\xfa\x07\x5d\x77" | ||
| 11907 | "\x06\xd5\x4f\x4d\x02\xb8\x40\x1b" | ||
| 11908 | "\x30\xed\x1a\x50\x19\xef\xc4\x2c" | ||
| 11909 | "\x02\xd9\xc5\xd3\x11\x33\x37\xe5" | ||
| 11910 | "\x2b\xa3\x95\xa6\xee\xd8\x74\x1d" | ||
| 11911 | "\x68\xa0\xeb\xbf\xdd\x5e\x99\x96" | ||
| 11912 | "\x91\xc3\x94\x24\xa5\x12\xa2\x37" | ||
| 11913 | "\xb3\xac\xcf\x2a\xfd\x55\x34\xfe" | ||
| 11914 | "\x79\x92\x3e\xe6\x1b\x49\x57\x5d" | ||
| 11915 | "\x93\x6c\x01\xf7\xcc\x4e\x20\xd1" | ||
| 11916 | "\xb2\x1a\xd8\x4c\xbd\x1d\x10\xe9" | ||
| 11917 | "\x5a\xa8\x92\x7f\xba\xe6\x0c\x95", | ||
| 11918 | .rlen = 512, | ||
| 11919 | }, | ||
| 11920 | }; | ||
| 11921 | |||
| 11922 | static struct cipher_testvec camellia_lrw_dec_tv_template[] = { | ||
| 11923 | /* Generated from AES-LRW test vectors */ | ||
| 11924 | /* same as enc vectors with input and result reversed */ | ||
| 11925 | { | ||
| 11926 | .key = "\x45\x62\xac\x25\xf8\x28\x17\x6d" | ||
| 11927 | "\x4c\x26\x84\x14\xb5\x68\x01\x85" | ||
| 11928 | "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03" | ||
| 11929 | "\xee\x5a\x83\x0c\xcc\x09\x4c\x87", | ||
| 11930 | .klen = 32, | ||
| 11931 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11932 | "\x00\x00\x00\x00\x00\x00\x00\x01", | ||
| 11933 | .input = "\x92\x68\x19\xd7\xb7\x5b\x0a\x31" | ||
| 11934 | "\x97\xcc\x72\xbe\x99\x17\xeb\x3e", | ||
| 11935 | .ilen = 16, | ||
| 11936 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11937 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11938 | .rlen = 16, | ||
| 11939 | }, { | ||
| 11940 | .key = "\x59\x70\x47\x14\xf5\x57\x47\x8c" | ||
| 11941 | "\xd7\x79\xe8\x0f\x54\x88\x79\x44" | ||
| 11942 | "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea" | ||
| 11943 | "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf", | ||
| 11944 | .klen = 32, | ||
| 11945 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11946 | "\x00\x00\x00\x00\x00\x00\x00\x02", | ||
| 11947 | .input = "\x73\x09\xb7\x50\xb6\x77\x30\x50" | ||
| 11948 | "\x5c\x8a\x9c\x26\x77\x9d\xfc\x4a", | ||
| 11949 | .ilen = 16, | ||
| 11950 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11951 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11952 | .rlen = 16, | ||
| 11953 | }, { | ||
| 11954 | .key = "\xd8\x2a\x91\x34\xb2\x6a\x56\x50" | ||
| 11955 | "\x30\xfe\x69\xe2\x37\x7f\x98\x47" | ||
| 11956 | "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6" | ||
| 11957 | "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f", | ||
| 11958 | .klen = 32, | ||
| 11959 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11960 | "\x00\x00\x00\x02\x00\x00\x00\x00", | ||
| 11961 | .input = "\x90\xae\x83\xe0\x22\xb9\x60\x91" | ||
| 11962 | "\xfa\xa9\xb7\x98\xe3\xed\x87\x01", | ||
| 11963 | .ilen = 16, | ||
| 11964 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11965 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11966 | .rlen = 16, | ||
| 11967 | }, { | ||
| 11968 | .key = "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15" | ||
| 11969 | "\x25\x83\xf7\x3c\x1f\x01\x28\x74" | ||
| 11970 | "\xca\xc6\xbc\x35\x4d\x4a\x65\x54" | ||
| 11971 | "\x90\xae\x61\xcf\x7b\xae\xbd\xcc" | ||
| 11972 | "\xad\xe4\x94\xc5\x4a\x29\xae\x70", | ||
| 11973 | .klen = 40, | ||
| 11974 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11975 | "\x00\x00\x00\x00\x00\x00\x00\x01", | ||
| 11976 | .input = "\x99\xe9\x6e\xd4\xc9\x21\xa5\xf0" | ||
| 11977 | "\xd8\x83\xef\xd9\x07\x16\x5f\x35", | ||
| 11978 | .ilen = 16, | ||
| 11979 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11980 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11981 | .rlen = 16, | ||
| 11982 | }, { | ||
| 11983 | .key = "\x8a\xd4\xee\x10\x2f\xbd\x81\xff" | ||
| 11984 | "\xf8\x86\xce\xac\x93\xc5\xad\xc6" | ||
| 11985 | "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd" | ||
| 11986 | "\x52\x13\xb2\xb7\xf0\xff\x11\xd8" | ||
| 11987 | "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f", | ||
| 11988 | .klen = 40, | ||
| 11989 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 11990 | "\x00\x00\x00\x02\x00\x00\x00\x00", | ||
| 11991 | .input = "\x42\x88\xf4\xcb\x21\x11\x6d\x8e" | ||
| 11992 | "\xde\x1a\xf2\x29\xf1\x4a\xe0\x15", | ||
| 11993 | .ilen = 16, | ||
| 11994 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 11995 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 11996 | .rlen = 16, | ||
| 11997 | }, { | ||
| 11998 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | ||
| 11999 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | ||
| 12000 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | ||
| 12001 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | ||
| 12002 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | ||
| 12003 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | ||
| 12004 | .klen = 48, | ||
| 12005 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12006 | "\x00\x00\x00\x00\x00\x00\x00\x01", | ||
| 12007 | .input = "\x40\xaa\x34\x86\x4a\x8f\x78\xb9" | ||
| 12008 | "\xdb\xdb\x0f\x3d\x48\x70\xbe\x8d", | ||
| 12009 | .ilen = 16, | ||
| 12010 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 12011 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 12012 | .rlen = 16, | ||
| 12013 | }, { | ||
| 12014 | .key = "\xfb\x76\x15\xb2\x3d\x80\x89\x1d" | ||
| 12015 | "\xd4\x70\x98\x0b\xc7\x95\x84\xc8" | ||
| 12016 | "\xb2\xfb\x64\xce\x60\x97\x87\x8d" | ||
| 12017 | "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7" | ||
| 12018 | "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4" | ||
| 12019 | "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c", | ||
| 12020 | .klen = 48, | ||
| 12021 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12022 | "\x00\x00\x00\x02\x00\x00\x00\x00", | ||
| 12023 | .input = "\x04\xab\x28\x37\x31\x7a\x26\xab" | ||
| 12024 | "\xa1\x70\x1b\x9c\xe7\xdd\x83\xff", | ||
| 12025 | .ilen = 16, | ||
| 12026 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 12027 | "\x38\x39\x41\x42\x43\x44\x45\x46", | ||
| 12028 | .rlen = 16, | ||
| 12029 | }, { | ||
| 12030 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | ||
| 12031 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | ||
| 12032 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | ||
| 12033 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | ||
| 12034 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | ||
| 12035 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | ||
| 12036 | .klen = 48, | ||
| 12037 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12038 | "\x00\x00\x00\x00\x00\x00\x00\x01", | ||
| 12039 | .input = "\x90\x69\x8e\xf2\x14\x86\x59\xf9" | ||
| 12040 | "\xec\xe7\xfa\x3f\x48\x9d\x7f\x96" | ||
| 12041 | "\x67\x76\xac\x2c\xd2\x63\x18\x93" | ||
| 12042 | "\x13\xf8\xf1\xf6\x71\x77\xb3\xee" | ||
| 12043 | "\x93\xb2\xcc\xf3\x26\xc1\x16\x4f" | ||
| 12044 | "\xd4\xe8\x43\xc1\x68\xa3\x3e\x06" | ||
| 12045 | "\x38\x51\xff\xa8\xb9\xa4\xeb\xb1" | ||
| 12046 | "\x62\xdd\x78\x81\xea\x1d\xef\x04" | ||
| 12047 | "\x1d\x07\xc1\x67\xc8\xd6\x77\xa1" | ||
| 12048 | "\x84\x95\xf4\x9a\xd9\xbc\x2d\xe2" | ||
| 12049 | "\xf6\x80\xfc\x91\x2a\xbc\x42\xa0" | ||
| 12050 | "\x40\x41\x69\xaa\x71\xc0\x37\xec" | ||
| 12051 | "\x39\xf3\xf2\xec\x82\xc3\x88\x79" | ||
| 12052 | "\xbc\xc3\xaa\xb7\xcf\x6a\x72\x80" | ||
| 12053 | "\x4c\xf4\x84\x8f\x13\x9e\x94\x5c" | ||
| 12054 | "\xe5\xb2\x91\xbb\x92\x51\x4d\xf1" | ||
| 12055 | "\xd6\x0d\x71\x6b\x7a\xc2\x2f\x12" | ||
| 12056 | "\x6f\x75\xc7\x80\x99\x50\x84\xcf" | ||
| 12057 | "\xa8\xeb\xd6\xe1\x1c\x59\x81\x7e" | ||
| 12058 | "\xb9\xb3\xde\x7a\x93\x14\x12\xa2" | ||
| 12059 | "\xf7\x43\xb3\x9d\x1a\x87\x65\x91" | ||
| 12060 | "\x42\x08\x40\x82\x06\x1c\x2d\x55" | ||
| 12061 | "\x6e\x48\xd5\x74\x07\x6e\x9d\x80" | ||
| 12062 | "\xeb\xb4\x97\xa1\x36\xdf\xfa\x74" | ||
| 12063 | "\x79\x7f\x5a\x75\xe7\x71\xc8\x8c" | ||
| 12064 | "\x7e\xf8\x3a\x77\xcd\x32\x05\xf9" | ||
| 12065 | "\x3d\xd4\xe9\xa2\xbb\xc4\x8b\x83" | ||
| 12066 | "\x42\x5c\x82\xfa\xe9\x4b\x96\x3b" | ||
| 12067 | "\x7f\x89\x8b\xf9\xf1\x87\xda\xf0" | ||
| 12068 | "\x87\xef\x13\x5d\xf0\xe2\xc5\xc1" | ||
| 12069 | "\xed\x14\xa9\x57\x19\x63\x40\x04" | ||
| 12070 | "\x24\xeb\x6e\x19\xd1\x3d\x70\x78" | ||
| 12071 | "\xeb\xda\x55\x70\x2c\x4f\x41\x5b" | ||
| 12072 | "\x56\x9f\x1a\xd3\xac\xf1\xc0\xc3" | ||
| 12073 | "\x21\xec\xd7\xd2\x55\x32\x7c\x2e" | ||
| 12074 | "\x3c\x48\x8e\xb4\x85\x35\x47\xfe" | ||
| 12075 | "\xe2\x88\x79\x98\x6a\xc9\x8d\xff" | ||
| 12076 | "\xe9\x89\x6e\xb8\xe2\x97\x00\xbd" | ||
| 12077 | "\xa4\x8f\xba\xd0\x8c\xcb\x79\x99" | ||
| 12078 | "\xb3\xb2\xb2\x7a\xc3\xb7\xef\x75" | ||
| 12079 | "\x23\x52\x76\xc3\x50\x6e\x66\xf8" | ||
| 12080 | "\xa2\xe2\xce\xba\x40\x21\x3f\xc9" | ||
| 12081 | "\x0a\x32\x7f\xf7\x08\x8c\x66\xcf" | ||
| 12082 | "\xd3\xdf\x57\x59\x83\xb8\xe1\x85" | ||
| 12083 | "\xd6\x8f\xfb\x48\x1f\x3a\xc4\x2f" | ||
| 12084 | "\xb4\x2d\x58\xab\xd8\x7f\x5e\x3a" | ||
| 12085 | "\xbc\x62\x3e\xe2\x6a\x52\x0d\x76" | ||
| 12086 | "\x2f\x1c\x1a\x30\xed\x95\x2a\x44" | ||
| 12087 | "\x35\xa5\x83\x04\x84\x01\x99\x56" | ||
| 12088 | "\xb7\xe3\x10\x96\xfa\xdc\x19\xdd" | ||
| 12089 | "\xe2\x7f\xcb\xa0\x49\x1b\xff\x4c" | ||
| 12090 | "\x73\xf6\xbb\x94\x00\xe8\xa9\x3d" | ||
| 12091 | "\xe2\x20\xe9\x3f\xfa\x07\x5d\x77" | ||
| 12092 | "\x06\xd5\x4f\x4d\x02\xb8\x40\x1b" | ||
| 12093 | "\x30\xed\x1a\x50\x19\xef\xc4\x2c" | ||
| 12094 | "\x02\xd9\xc5\xd3\x11\x33\x37\xe5" | ||
| 12095 | "\x2b\xa3\x95\xa6\xee\xd8\x74\x1d" | ||
| 12096 | "\x68\xa0\xeb\xbf\xdd\x5e\x99\x96" | ||
| 12097 | "\x91\xc3\x94\x24\xa5\x12\xa2\x37" | ||
| 12098 | "\xb3\xac\xcf\x2a\xfd\x55\x34\xfe" | ||
| 12099 | "\x79\x92\x3e\xe6\x1b\x49\x57\x5d" | ||
| 12100 | "\x93\x6c\x01\xf7\xcc\x4e\x20\xd1" | ||
| 12101 | "\xb2\x1a\xd8\x4c\xbd\x1d\x10\xe9" | ||
| 12102 | "\x5a\xa8\x92\x7f\xba\xe6\x0c\x95", | ||
| 12103 | .ilen = 512, | ||
| 12104 | .result = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | ||
| 12105 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | ||
| 12106 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | ||
| 12107 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | ||
| 12108 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | ||
| 12109 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | ||
| 12110 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | ||
| 12111 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | ||
| 12112 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | ||
| 12113 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | ||
| 12114 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | ||
| 12115 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | ||
| 12116 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | ||
| 12117 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | ||
| 12118 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | ||
| 12119 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | ||
| 12120 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | ||
| 12121 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | ||
| 12122 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | ||
| 12123 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | ||
| 12124 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | ||
| 12125 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | ||
| 12126 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | ||
| 12127 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | ||
| 12128 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | ||
| 12129 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | ||
| 12130 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | ||
| 12131 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | ||
| 12132 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | ||
| 12133 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | ||
| 12134 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | ||
| 12135 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | ||
| 12136 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | ||
| 12137 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | ||
| 12138 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | ||
| 12139 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | ||
| 12140 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | ||
| 12141 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | ||
| 12142 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | ||
| 12143 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | ||
| 12144 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | ||
| 12145 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | ||
| 12146 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | ||
| 12147 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | ||
| 12148 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | ||
| 12149 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | ||
| 12150 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | ||
| 12151 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | ||
| 12152 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | ||
| 12153 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | ||
| 12154 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | ||
| 12155 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | ||
| 12156 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | ||
| 12157 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | ||
| 12158 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | ||
| 12159 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | ||
| 12160 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | ||
| 12161 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | ||
| 12162 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | ||
| 12163 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | ||
| 12164 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | ||
| 12165 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | ||
| 12166 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | ||
| 12167 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | ||
| 12168 | .rlen = 512, | ||
| 12169 | }, | ||
| 12170 | }; | ||
| 12171 | |||
| 12172 | static struct cipher_testvec camellia_xts_enc_tv_template[] = { | ||
| 12173 | /* Generated from AES-XTS test vectors */ | ||
| 12174 | { | ||
| 12175 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12176 | "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12177 | "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12178 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12179 | .klen = 32, | ||
| 12180 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12181 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12182 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12183 | "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12184 | "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12185 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12186 | .ilen = 32, | ||
| 12187 | .result = "\x06\xcb\xa5\xf1\x04\x63\xb2\x41" | ||
| 12188 | "\xdc\xca\xfa\x09\xba\x74\xb9\x05" | ||
| 12189 | "\x78\xba\xa4\xf8\x67\x4d\x7e\xad" | ||
| 12190 | "\x20\x18\xf5\x0c\x41\x16\x2a\x61", | ||
| 12191 | .rlen = 32, | ||
| 12192 | }, { | ||
| 12193 | .key = "\x11\x11\x11\x11\x11\x11\x11\x11" | ||
| 12194 | "\x11\x11\x11\x11\x11\x11\x11\x11" | ||
| 12195 | "\x22\x22\x22\x22\x22\x22\x22\x22" | ||
| 12196 | "\x22\x22\x22\x22\x22\x22\x22\x22", | ||
| 12197 | .klen = 32, | ||
| 12198 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | ||
| 12199 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12200 | .input = "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12201 | "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12202 | "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12203 | "\x44\x44\x44\x44\x44\x44\x44\x44", | ||
| 12204 | .ilen = 32, | ||
| 12205 | .result = "\xc2\xb9\xdc\x44\x1d\xdf\xf2\x86" | ||
| 12206 | "\x8d\x35\x42\x0a\xa5\x5e\x3d\x4f" | ||
| 12207 | "\xb5\x37\x06\xff\xbd\xd4\x91\x70" | ||
| 12208 | "\x80\x1f\xb2\x39\x10\x89\x44\xf5", | ||
| 12209 | .rlen = 32, | ||
| 12210 | }, { | ||
| 12211 | .key = "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8" | ||
| 12212 | "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0" | ||
| 12213 | "\x22\x22\x22\x22\x22\x22\x22\x22" | ||
| 12214 | "\x22\x22\x22\x22\x22\x22\x22\x22", | ||
| 12215 | .klen = 32, | ||
| 12216 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | ||
| 12217 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12218 | .input = "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12219 | "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12220 | "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12221 | "\x44\x44\x44\x44\x44\x44\x44\x44", | ||
| 12222 | .ilen = 32, | ||
| 12223 | .result = "\x52\x1f\x9d\xf5\x5a\x58\x5a\x7e" | ||
| 12224 | "\x9f\xd0\x8e\x02\x9c\x9a\x6a\xa7" | ||
| 12225 | "\xb4\x3b\xce\xe7\x17\xaa\x89\x6a" | ||
| 12226 | "\x35\x3c\x6b\xb5\x61\x1c\x79\x38", | ||
| 12227 | .rlen = 32, | ||
| 12228 | }, { | ||
| 12229 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | ||
| 12230 | "\x23\x53\x60\x28\x74\x71\x35\x26" | ||
| 12231 | "\x31\x41\x59\x26\x53\x58\x97\x93" | ||
| 12232 | "\x23\x84\x62\x64\x33\x83\x27\x95", | ||
| 12233 | .klen = 32, | ||
| 12234 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12235 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12236 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | ||
| 12237 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | ||
| 12238 | "\x10\x11\x12\x13\x14\x15\x16\x17" | ||
| 12239 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | ||
| 12240 | "\x20\x21\x22\x23\x24\x25\x26\x27" | ||
| 12241 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | ||
| 12242 | "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 12243 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | ||
| 12244 | "\x40\x41\x42\x43\x44\x45\x46\x47" | ||
| 12245 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | ||
| 12246 | "\x50\x51\x52\x53\x54\x55\x56\x57" | ||
| 12247 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | ||
| 12248 | "\x60\x61\x62\x63\x64\x65\x66\x67" | ||
| 12249 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | ||
| 12250 | "\x70\x71\x72\x73\x74\x75\x76\x77" | ||
| 12251 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | ||
| 12252 | "\x80\x81\x82\x83\x84\x85\x86\x87" | ||
| 12253 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | ||
| 12254 | "\x90\x91\x92\x93\x94\x95\x96\x97" | ||
| 12255 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | ||
| 12256 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | ||
| 12257 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | ||
| 12258 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | ||
| 12259 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | ||
| 12260 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | ||
| 12261 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | ||
| 12262 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | ||
| 12263 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | ||
| 12264 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | ||
| 12265 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | ||
| 12266 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | ||
| 12267 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | ||
| 12268 | "\x00\x01\x02\x03\x04\x05\x06\x07" | ||
| 12269 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | ||
| 12270 | "\x10\x11\x12\x13\x14\x15\x16\x17" | ||
| 12271 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | ||
| 12272 | "\x20\x21\x22\x23\x24\x25\x26\x27" | ||
| 12273 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | ||
| 12274 | "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 12275 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | ||
| 12276 | "\x40\x41\x42\x43\x44\x45\x46\x47" | ||
| 12277 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | ||
| 12278 | "\x50\x51\x52\x53\x54\x55\x56\x57" | ||
| 12279 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | ||
| 12280 | "\x60\x61\x62\x63\x64\x65\x66\x67" | ||
| 12281 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | ||
| 12282 | "\x70\x71\x72\x73\x74\x75\x76\x77" | ||
| 12283 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | ||
| 12284 | "\x80\x81\x82\x83\x84\x85\x86\x87" | ||
| 12285 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | ||
| 12286 | "\x90\x91\x92\x93\x94\x95\x96\x97" | ||
| 12287 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | ||
| 12288 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | ||
| 12289 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | ||
| 12290 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | ||
| 12291 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | ||
| 12292 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | ||
| 12293 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | ||
| 12294 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | ||
| 12295 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | ||
| 12296 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | ||
| 12297 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | ||
| 12298 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | ||
| 12299 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | ||
| 12300 | .ilen = 512, | ||
| 12301 | .result = "\xc7\xf9\x0a\xaa\xcb\xb5\x8f\x33" | ||
| 12302 | "\x60\xc3\xe9\x47\x90\xb7\x50\x57" | ||
| 12303 | "\xa3\xad\x81\x2f\xf5\x22\x96\x02" | ||
| 12304 | "\xaa\x7f\xea\xac\x29\x78\xca\x2a" | ||
| 12305 | "\x7c\xcd\x31\x1a\x3c\x40\x0a\x73" | ||
| 12306 | "\x09\x66\xad\x72\x0e\x4d\x5d\x77" | ||
| 12307 | "\xbc\xb8\x76\x80\x37\x59\xa9\x01" | ||
| 12308 | "\x9e\xfb\xdb\x6c\x93\xef\xb6\x8d" | ||
| 12309 | "\x1e\xc1\x94\xa8\xd4\xb5\xb0\x01" | ||
| 12310 | "\xd5\x01\x97\x28\xcd\x7a\x1f\xe8" | ||
| 12311 | "\x08\xda\x76\x00\x65\xcf\x7b\x31" | ||
| 12312 | "\xc6\xfa\xf2\x3b\x00\xa7\x6a\x9e" | ||
| 12313 | "\x6c\x43\x80\x87\xe0\xbb\x4e\xe5" | ||
| 12314 | "\xdc\x8a\xdf\xc3\x1d\x1b\x41\x04" | ||
| 12315 | "\xfb\x54\xdd\x29\x27\xc2\x65\x17" | ||
| 12316 | "\x36\x88\xb0\x85\x8d\x73\x7e\x4b" | ||
| 12317 | "\x1d\x16\x8a\x52\xbc\xa6\xbc\xa4" | ||
| 12318 | "\x8c\xd1\x04\x16\xbf\x8c\x01\x0f" | ||
| 12319 | "\x7e\x6b\x59\x15\x29\xd1\x9b\xd3" | ||
| 12320 | "\x6c\xee\xac\xdc\x45\x58\xca\x5b" | ||
| 12321 | "\x70\x0e\x6a\x12\x86\x82\x79\x9f" | ||
| 12322 | "\x16\xd4\x9d\x67\xcd\x70\x65\x26" | ||
| 12323 | "\x21\x72\x1e\xa1\x94\x8a\x83\x0c" | ||
| 12324 | "\x92\x42\x58\x5e\xa2\xc5\x31\xf3" | ||
| 12325 | "\x7b\xd1\x31\xd4\x15\x80\x31\x61" | ||
| 12326 | "\x5c\x53\x10\xdd\xea\xc8\x83\x5c" | ||
| 12327 | "\x7d\xa7\x05\x66\xcc\x1e\xbb\x05" | ||
| 12328 | "\x47\xae\xb4\x0f\x84\xd8\xf6\xb5" | ||
| 12329 | "\xa1\xc6\x52\x00\x52\xe8\xdc\xd9" | ||
| 12330 | "\x16\x31\xb2\x47\x91\x67\xaa\x28" | ||
| 12331 | "\x2c\x29\x85\xa3\xf7\xf2\x24\x93" | ||
| 12332 | "\x23\x80\x1f\xa8\x1b\x82\x8d\xdc" | ||
| 12333 | "\x9f\x0b\xcd\xb4\x3c\x20\xbc\xec" | ||
| 12334 | "\x4f\xc7\xee\xf8\xfd\xd9\xfb\x7e" | ||
| 12335 | "\x3f\x0d\x23\xfa\x3f\xa7\xcc\x66" | ||
| 12336 | "\x1c\xfe\xa6\x86\xf6\xf7\x85\xc7" | ||
| 12337 | "\x43\xc1\xd4\xfc\xe4\x79\xc9\x1d" | ||
| 12338 | "\xf8\x89\xcd\x20\x27\x84\x5d\x5c" | ||
| 12339 | "\x8e\x4f\x1f\xeb\x08\x21\x4f\xa3" | ||
| 12340 | "\xe0\x7e\x0b\x9c\xe7\x42\xcf\xb7" | ||
| 12341 | "\x3f\x43\xcc\x86\x71\x34\x6a\xd9" | ||
| 12342 | "\x5e\xec\x8f\x36\xc9\x0a\x03\xfe" | ||
| 12343 | "\x18\x41\xdc\x9e\x2e\x75\x20\x3e" | ||
| 12344 | "\xcc\x77\xe0\x8f\xe8\x43\x37\x4c" | ||
| 12345 | "\xed\x1a\x5a\xb3\xfa\x43\xc9\x71" | ||
| 12346 | "\x9f\xc5\xce\xcf\xff\xe7\x77\x1e" | ||
| 12347 | "\x35\x93\xde\x6b\xc0\x6a\x7e\xa9" | ||
| 12348 | "\x34\xb8\x27\x74\x08\xda\xf2\x4a" | ||
| 12349 | "\x23\x5b\x9f\x55\x3a\x57\x82\x52" | ||
| 12350 | "\xea\x6d\xc3\xc7\xf2\xc8\xb5\xdc" | ||
| 12351 | "\xc5\xb9\xbb\xaa\xf2\x29\x9f\x49" | ||
| 12352 | "\x7a\xef\xfe\xdc\x9f\xc9\x28\xe2" | ||
| 12353 | "\x96\x0b\x35\x84\x05\x0d\xd6\x2a" | ||
| 12354 | "\xea\x5a\xbf\x69\xde\xee\x4f\x8f" | ||
| 12355 | "\x84\xb9\xcf\xa7\x57\xea\xe0\xe8" | ||
| 12356 | "\x96\xef\x0f\x0e\xec\xc7\xa6\x74" | ||
| 12357 | "\xb1\xfe\x7a\x6d\x11\xdd\x0e\x15" | ||
| 12358 | "\x4a\x1e\x73\x7f\x55\xea\xf6\xe1" | ||
| 12359 | "\x5b\xb6\x71\xda\xb0\x0c\xba\x26" | ||
| 12360 | "\x5c\x48\x38\x6d\x1c\x32\xb2\x7d" | ||
| 12361 | "\x05\x87\xc2\x1e\x7e\x2d\xd4\x33" | ||
| 12362 | "\xcc\x06\xdb\xe7\x82\x29\x63\xd1" | ||
| 12363 | "\x52\x84\x4f\xee\x27\xe8\x02\xd4" | ||
| 12364 | "\x34\x3c\x69\xc2\xbd\x20\xe6\x7a", | ||
| 12365 | .rlen = 512, | ||
| 12366 | }, { | ||
| 12367 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | ||
| 12368 | "\x23\x53\x60\x28\x74\x71\x35\x26" | ||
| 12369 | "\x62\x49\x77\x57\x24\x70\x93\x69" | ||
| 12370 | "\x99\x59\x57\x49\x66\x96\x76\x27" | ||
| 12371 | "\x31\x41\x59\x26\x53\x58\x97\x93" | ||
| 12372 | "\x23\x84\x62\x64\x33\x83\x27\x95" | ||
| 12373 | "\x02\x88\x41\x97\x16\x93\x99\x37" | ||
| 12374 | "\x51\x05\x82\x09\x74\x94\x45\x92", | ||
| 12375 | .klen = 64, | ||
| 12376 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | ||
| 12377 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12378 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | ||
| 12379 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | ||
| 12380 | "\x10\x11\x12\x13\x14\x15\x16\x17" | ||
| 12381 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | ||
| 12382 | "\x20\x21\x22\x23\x24\x25\x26\x27" | ||
| 12383 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | ||
| 12384 | "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 12385 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | ||
| 12386 | "\x40\x41\x42\x43\x44\x45\x46\x47" | ||
| 12387 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | ||
| 12388 | "\x50\x51\x52\x53\x54\x55\x56\x57" | ||
| 12389 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | ||
| 12390 | "\x60\x61\x62\x63\x64\x65\x66\x67" | ||
| 12391 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | ||
| 12392 | "\x70\x71\x72\x73\x74\x75\x76\x77" | ||
| 12393 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | ||
| 12394 | "\x80\x81\x82\x83\x84\x85\x86\x87" | ||
| 12395 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | ||
| 12396 | "\x90\x91\x92\x93\x94\x95\x96\x97" | ||
| 12397 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | ||
| 12398 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | ||
| 12399 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | ||
| 12400 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | ||
| 12401 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | ||
| 12402 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | ||
| 12403 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | ||
| 12404 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | ||
| 12405 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | ||
| 12406 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | ||
| 12407 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | ||
| 12408 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | ||
| 12409 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | ||
| 12410 | "\x00\x01\x02\x03\x04\x05\x06\x07" | ||
| 12411 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | ||
| 12412 | "\x10\x11\x12\x13\x14\x15\x16\x17" | ||
| 12413 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | ||
| 12414 | "\x20\x21\x22\x23\x24\x25\x26\x27" | ||
| 12415 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | ||
| 12416 | "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 12417 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | ||
| 12418 | "\x40\x41\x42\x43\x44\x45\x46\x47" | ||
| 12419 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | ||
| 12420 | "\x50\x51\x52\x53\x54\x55\x56\x57" | ||
| 12421 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | ||
| 12422 | "\x60\x61\x62\x63\x64\x65\x66\x67" | ||
| 12423 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | ||
| 12424 | "\x70\x71\x72\x73\x74\x75\x76\x77" | ||
| 12425 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | ||
| 12426 | "\x80\x81\x82\x83\x84\x85\x86\x87" | ||
| 12427 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | ||
| 12428 | "\x90\x91\x92\x93\x94\x95\x96\x97" | ||
| 12429 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | ||
| 12430 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | ||
| 12431 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | ||
| 12432 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | ||
| 12433 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | ||
| 12434 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | ||
| 12435 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | ||
| 12436 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | ||
| 12437 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | ||
| 12438 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | ||
| 12439 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | ||
| 12440 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | ||
| 12441 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | ||
| 12442 | .ilen = 512, | ||
| 12443 | .result = "\x49\xcd\xb8\xbf\x2f\x73\x37\x28" | ||
| 12444 | "\x9a\x7f\x6e\x57\x55\xb8\x07\x88" | ||
| 12445 | "\x4a\x0d\x8b\x55\x60\xed\xb6\x7b" | ||
| 12446 | "\xf1\x74\xac\x96\x05\x7b\x32\xca" | ||
| 12447 | "\xd1\x4e\xf1\x58\x29\x16\x24\x6c" | ||
| 12448 | "\xf2\xb3\xe4\x88\x84\xac\x4d\xee" | ||
| 12449 | "\x97\x07\x82\xf0\x07\x12\x38\x0a" | ||
| 12450 | "\x67\x62\xaf\xfd\x85\x9f\x0a\x55" | ||
| 12451 | "\xa5\x20\xc5\x60\xe4\x68\x53\xa4" | ||
| 12452 | "\x0e\x2e\x65\xe3\xe4\x0c\x30\x7c" | ||
| 12453 | "\x1c\x01\x4f\x55\xa9\x13\xeb\x25" | ||
| 12454 | "\x21\x87\xbc\xd3\xe7\x67\x4f\x38" | ||
| 12455 | "\xa8\x14\x25\x71\xe9\x2e\x4c\x21" | ||
| 12456 | "\x41\x82\x0c\x45\x39\x35\xa8\x75" | ||
| 12457 | "\x03\x29\x01\x84\x8c\xab\x48\xbe" | ||
| 12458 | "\x11\x56\x22\x67\xb7\x67\x1a\x09" | ||
| 12459 | "\xa1\x72\x25\x41\x3c\x39\x65\x80" | ||
| 12460 | "\x7d\x2f\xf8\x2c\x73\x04\x58\x9d" | ||
| 12461 | "\xdd\x16\x8b\x63\x70\x4e\xc5\x17" | ||
| 12462 | "\x21\xe0\x84\x51\x4b\x6f\x05\x52" | ||
| 12463 | "\xe3\x63\x34\xfa\xa4\xaf\x33\x20" | ||
| 12464 | "\xc1\xae\x32\xc4\xb8\x2b\xdb\x76" | ||
| 12465 | "\xd9\x02\x31\x2f\xa3\xc6\xd0\x7b" | ||
| 12466 | "\xaf\x1b\x84\xe3\x9b\xbf\xa6\xe0" | ||
| 12467 | "\xb8\x8a\x13\x88\x71\xf4\x11\xa5" | ||
| 12468 | "\xe9\xa9\x10\x33\xe0\xbe\x49\x89" | ||
| 12469 | "\x41\x22\xf5\x9d\x80\x3e\x3b\x76" | ||
| 12470 | "\x01\x16\x50\x6e\x7c\x6a\x81\xe9" | ||
| 12471 | "\x13\x2c\xde\xb2\x5f\x79\xba\xb2" | ||
| 12472 | "\xb1\x75\xae\xd2\x07\x98\x4b\x69" | ||
| 12473 | "\xae\x7d\x5b\x90\xc2\x6c\xe6\x98" | ||
| 12474 | "\xd3\x4c\xa1\xa3\x9c\xc9\x33\x6a" | ||
| 12475 | "\x0d\x23\xb1\x79\x25\x13\x4b\xe5" | ||
| 12476 | "\xaf\x93\x20\x5c\x7f\x06\x7a\x34" | ||
| 12477 | "\x0b\x78\xe3\x67\x26\xe0\xad\x95" | ||
| 12478 | "\xc5\x4e\x26\x22\xcf\x73\x77\x62" | ||
| 12479 | "\x3e\x10\xd7\x90\x4b\x52\x1c\xc9" | ||
| 12480 | "\xef\x38\x52\x18\x0e\x29\x7e\xef" | ||
| 12481 | "\x34\xfe\x31\x95\xc5\xbc\xa8\xe2" | ||
| 12482 | "\xa8\x4e\x9f\xea\xa6\xf0\xfe\x5d" | ||
| 12483 | "\xc5\x39\x86\xed\x2f\x6d\xa0\xfe" | ||
| 12484 | "\x96\xcd\x41\x10\x78\x4e\x0c\xc9" | ||
| 12485 | "\xc3\x6d\x0f\xb7\xe8\xe0\x62\xab" | ||
| 12486 | "\x8b\xf1\x21\x89\xa1\x12\xaa\xfa" | ||
| 12487 | "\x9d\x70\xbe\x4c\xa8\x98\x89\x01" | ||
| 12488 | "\xb9\xe2\x61\xde\x0c\x4a\x0b\xaa" | ||
| 12489 | "\x89\xf5\x14\x79\x18\x8f\x3b\x0d" | ||
| 12490 | "\x21\x17\xf8\x59\x15\x24\x64\x22" | ||
| 12491 | "\x57\x48\x80\xd5\x3d\x92\x30\x07" | ||
| 12492 | "\xd9\xa1\x4a\x23\x16\x43\x48\x0e" | ||
| 12493 | "\x2b\x2d\x1b\x87\xef\x7e\xbd\xfa" | ||
| 12494 | "\x49\xbc\x7e\x68\x6e\xa8\x46\x95" | ||
| 12495 | "\xad\x5e\xfe\x0a\xa8\xd3\x1a\x5d" | ||
| 12496 | "\x6b\x84\xf3\x00\xba\x52\x05\x02" | ||
| 12497 | "\xe3\x96\x4e\xb6\x79\x3f\x43\xd3" | ||
| 12498 | "\x4d\x3f\xd6\xab\x0a\xc4\x75\x2d" | ||
| 12499 | "\xd1\x08\xc3\x6a\xc8\x37\x29\xa0" | ||
| 12500 | "\xcc\x9a\x05\xdd\x5c\xe1\xff\x66" | ||
| 12501 | "\xf2\x7a\x1d\xf2\xaf\xa9\x48\x89" | ||
| 12502 | "\xf5\x21\x0f\x02\x48\x83\x74\xbf" | ||
| 12503 | "\x2e\xe6\x93\x7b\xa0\xf4\xb1\x2b" | ||
| 12504 | "\xb1\x02\x0a\x5c\x79\x19\x3b\x75" | ||
| 12505 | "\xb7\x16\xd8\x12\x5c\xcd\x7d\x4e" | ||
| 12506 | "\xd5\xc6\x99\xcc\x4e\x6c\x94\x95", | ||
| 12507 | .rlen = 512, | ||
| 12508 | }, | ||
| 12509 | }; | ||
| 12510 | |||
| 12511 | static struct cipher_testvec camellia_xts_dec_tv_template[] = { | ||
| 12512 | /* Generated from AES-XTS test vectors */ | ||
| 12513 | /* same as enc vectors with input and result reversed */ | ||
| 12514 | { | ||
| 12515 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12516 | "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12517 | "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12518 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12519 | .klen = 32, | ||
| 12520 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12521 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12522 | .input = "\x06\xcb\xa5\xf1\x04\x63\xb2\x41" | ||
| 12523 | "\xdc\xca\xfa\x09\xba\x74\xb9\x05" | ||
| 12524 | "\x78\xba\xa4\xf8\x67\x4d\x7e\xad" | ||
| 12525 | "\x20\x18\xf5\x0c\x41\x16\x2a\x61", | ||
| 12526 | .ilen = 32, | ||
| 12527 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12528 | "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12529 | "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12530 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12531 | .rlen = 32, | ||
| 12532 | }, { | ||
| 12533 | .key = "\x11\x11\x11\x11\x11\x11\x11\x11" | ||
| 12534 | "\x11\x11\x11\x11\x11\x11\x11\x11" | ||
| 12535 | "\x22\x22\x22\x22\x22\x22\x22\x22" | ||
| 12536 | "\x22\x22\x22\x22\x22\x22\x22\x22", | ||
| 12537 | .klen = 32, | ||
| 12538 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | ||
| 12539 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12540 | .input = "\xc2\xb9\xdc\x44\x1d\xdf\xf2\x86" | ||
| 12541 | "\x8d\x35\x42\x0a\xa5\x5e\x3d\x4f" | ||
| 12542 | "\xb5\x37\x06\xff\xbd\xd4\x91\x70" | ||
| 12543 | "\x80\x1f\xb2\x39\x10\x89\x44\xf5", | ||
| 12544 | .ilen = 32, | ||
| 12545 | .result = "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12546 | "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12547 | "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12548 | "\x44\x44\x44\x44\x44\x44\x44\x44", | ||
| 12549 | .rlen = 32, | ||
| 12550 | }, { | ||
| 12551 | .key = "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8" | ||
| 12552 | "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0" | ||
| 12553 | "\x22\x22\x22\x22\x22\x22\x22\x22" | ||
| 12554 | "\x22\x22\x22\x22\x22\x22\x22\x22", | ||
| 12555 | .klen = 32, | ||
| 12556 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | ||
| 12557 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12558 | .input = "\x52\x1f\x9d\xf5\x5a\x58\x5a\x7e" | ||
| 12559 | "\x9f\xd0\x8e\x02\x9c\x9a\x6a\xa7" | ||
| 12560 | "\xb4\x3b\xce\xe7\x17\xaa\x89\x6a" | ||
| 12561 | "\x35\x3c\x6b\xb5\x61\x1c\x79\x38", | ||
| 12562 | .ilen = 32, | ||
| 12563 | .result = "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12564 | "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12565 | "\x44\x44\x44\x44\x44\x44\x44\x44" | ||
| 12566 | "\x44\x44\x44\x44\x44\x44\x44\x44", | ||
| 12567 | .rlen = 32, | ||
| 12568 | }, { | ||
| 12569 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | ||
| 12570 | "\x23\x53\x60\x28\x74\x71\x35\x26" | ||
| 12571 | "\x31\x41\x59\x26\x53\x58\x97\x93" | ||
| 12572 | "\x23\x84\x62\x64\x33\x83\x27\x95", | ||
| 12573 | .klen = 32, | ||
| 12574 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | ||
| 12575 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12576 | .input = "\xc7\xf9\x0a\xaa\xcb\xb5\x8f\x33" | ||
| 12577 | "\x60\xc3\xe9\x47\x90\xb7\x50\x57" | ||
| 12578 | "\xa3\xad\x81\x2f\xf5\x22\x96\x02" | ||
| 12579 | "\xaa\x7f\xea\xac\x29\x78\xca\x2a" | ||
| 12580 | "\x7c\xcd\x31\x1a\x3c\x40\x0a\x73" | ||
| 12581 | "\x09\x66\xad\x72\x0e\x4d\x5d\x77" | ||
| 12582 | "\xbc\xb8\x76\x80\x37\x59\xa9\x01" | ||
| 12583 | "\x9e\xfb\xdb\x6c\x93\xef\xb6\x8d" | ||
| 12584 | "\x1e\xc1\x94\xa8\xd4\xb5\xb0\x01" | ||
| 12585 | "\xd5\x01\x97\x28\xcd\x7a\x1f\xe8" | ||
| 12586 | "\x08\xda\x76\x00\x65\xcf\x7b\x31" | ||
| 12587 | "\xc6\xfa\xf2\x3b\x00\xa7\x6a\x9e" | ||
| 12588 | "\x6c\x43\x80\x87\xe0\xbb\x4e\xe5" | ||
| 12589 | "\xdc\x8a\xdf\xc3\x1d\x1b\x41\x04" | ||
| 12590 | "\xfb\x54\xdd\x29\x27\xc2\x65\x17" | ||
| 12591 | "\x36\x88\xb0\x85\x8d\x73\x7e\x4b" | ||
| 12592 | "\x1d\x16\x8a\x52\xbc\xa6\xbc\xa4" | ||
| 12593 | "\x8c\xd1\x04\x16\xbf\x8c\x01\x0f" | ||
| 12594 | "\x7e\x6b\x59\x15\x29\xd1\x9b\xd3" | ||
| 12595 | "\x6c\xee\xac\xdc\x45\x58\xca\x5b" | ||
| 12596 | "\x70\x0e\x6a\x12\x86\x82\x79\x9f" | ||
| 12597 | "\x16\xd4\x9d\x67\xcd\x70\x65\x26" | ||
| 12598 | "\x21\x72\x1e\xa1\x94\x8a\x83\x0c" | ||
| 12599 | "\x92\x42\x58\x5e\xa2\xc5\x31\xf3" | ||
| 12600 | "\x7b\xd1\x31\xd4\x15\x80\x31\x61" | ||
| 12601 | "\x5c\x53\x10\xdd\xea\xc8\x83\x5c" | ||
| 12602 | "\x7d\xa7\x05\x66\xcc\x1e\xbb\x05" | ||
| 12603 | "\x47\xae\xb4\x0f\x84\xd8\xf6\xb5" | ||
| 12604 | "\xa1\xc6\x52\x00\x52\xe8\xdc\xd9" | ||
| 12605 | "\x16\x31\xb2\x47\x91\x67\xaa\x28" | ||
| 12606 | "\x2c\x29\x85\xa3\xf7\xf2\x24\x93" | ||
| 12607 | "\x23\x80\x1f\xa8\x1b\x82\x8d\xdc" | ||
| 12608 | "\x9f\x0b\xcd\xb4\x3c\x20\xbc\xec" | ||
| 12609 | "\x4f\xc7\xee\xf8\xfd\xd9\xfb\x7e" | ||
| 12610 | "\x3f\x0d\x23\xfa\x3f\xa7\xcc\x66" | ||
| 12611 | "\x1c\xfe\xa6\x86\xf6\xf7\x85\xc7" | ||
| 12612 | "\x43\xc1\xd4\xfc\xe4\x79\xc9\x1d" | ||
| 12613 | "\xf8\x89\xcd\x20\x27\x84\x5d\x5c" | ||
| 12614 | "\x8e\x4f\x1f\xeb\x08\x21\x4f\xa3" | ||
| 12615 | "\xe0\x7e\x0b\x9c\xe7\x42\xcf\xb7" | ||
| 12616 | "\x3f\x43\xcc\x86\x71\x34\x6a\xd9" | ||
| 12617 | "\x5e\xec\x8f\x36\xc9\x0a\x03\xfe" | ||
| 12618 | "\x18\x41\xdc\x9e\x2e\x75\x20\x3e" | ||
| 12619 | "\xcc\x77\xe0\x8f\xe8\x43\x37\x4c" | ||
| 12620 | "\xed\x1a\x5a\xb3\xfa\x43\xc9\x71" | ||
| 12621 | "\x9f\xc5\xce\xcf\xff\xe7\x77\x1e" | ||
| 12622 | "\x35\x93\xde\x6b\xc0\x6a\x7e\xa9" | ||
| 12623 | "\x34\xb8\x27\x74\x08\xda\xf2\x4a" | ||
| 12624 | "\x23\x5b\x9f\x55\x3a\x57\x82\x52" | ||
| 12625 | "\xea\x6d\xc3\xc7\xf2\xc8\xb5\xdc" | ||
| 12626 | "\xc5\xb9\xbb\xaa\xf2\x29\x9f\x49" | ||
| 12627 | "\x7a\xef\xfe\xdc\x9f\xc9\x28\xe2" | ||
| 12628 | "\x96\x0b\x35\x84\x05\x0d\xd6\x2a" | ||
| 12629 | "\xea\x5a\xbf\x69\xde\xee\x4f\x8f" | ||
| 12630 | "\x84\xb9\xcf\xa7\x57\xea\xe0\xe8" | ||
| 12631 | "\x96\xef\x0f\x0e\xec\xc7\xa6\x74" | ||
| 12632 | "\xb1\xfe\x7a\x6d\x11\xdd\x0e\x15" | ||
| 12633 | "\x4a\x1e\x73\x7f\x55\xea\xf6\xe1" | ||
| 12634 | "\x5b\xb6\x71\xda\xb0\x0c\xba\x26" | ||
| 12635 | "\x5c\x48\x38\x6d\x1c\x32\xb2\x7d" | ||
| 12636 | "\x05\x87\xc2\x1e\x7e\x2d\xd4\x33" | ||
| 12637 | "\xcc\x06\xdb\xe7\x82\x29\x63\xd1" | ||
| 12638 | "\x52\x84\x4f\xee\x27\xe8\x02\xd4" | ||
| 12639 | "\x34\x3c\x69\xc2\xbd\x20\xe6\x7a", | ||
| 12640 | .ilen = 512, | ||
| 12641 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | ||
| 12642 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | ||
| 12643 | "\x10\x11\x12\x13\x14\x15\x16\x17" | ||
| 12644 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | ||
| 12645 | "\x20\x21\x22\x23\x24\x25\x26\x27" | ||
| 12646 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | ||
| 12647 | "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 12648 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | ||
| 12649 | "\x40\x41\x42\x43\x44\x45\x46\x47" | ||
| 12650 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | ||
| 12651 | "\x50\x51\x52\x53\x54\x55\x56\x57" | ||
| 12652 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | ||
| 12653 | "\x60\x61\x62\x63\x64\x65\x66\x67" | ||
| 12654 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | ||
| 12655 | "\x70\x71\x72\x73\x74\x75\x76\x77" | ||
| 12656 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | ||
| 12657 | "\x80\x81\x82\x83\x84\x85\x86\x87" | ||
| 12658 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | ||
| 12659 | "\x90\x91\x92\x93\x94\x95\x96\x97" | ||
| 12660 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | ||
| 12661 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | ||
| 12662 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | ||
| 12663 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | ||
| 12664 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | ||
| 12665 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | ||
| 12666 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | ||
| 12667 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | ||
| 12668 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | ||
| 12669 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | ||
| 12670 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | ||
| 12671 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | ||
| 12672 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | ||
| 12673 | "\x00\x01\x02\x03\x04\x05\x06\x07" | ||
| 12674 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | ||
| 12675 | "\x10\x11\x12\x13\x14\x15\x16\x17" | ||
| 12676 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | ||
| 12677 | "\x20\x21\x22\x23\x24\x25\x26\x27" | ||
| 12678 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | ||
| 12679 | "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 12680 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | ||
| 12681 | "\x40\x41\x42\x43\x44\x45\x46\x47" | ||
| 12682 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | ||
| 12683 | "\x50\x51\x52\x53\x54\x55\x56\x57" | ||
| 12684 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | ||
| 12685 | "\x60\x61\x62\x63\x64\x65\x66\x67" | ||
| 12686 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | ||
| 12687 | "\x70\x71\x72\x73\x74\x75\x76\x77" | ||
| 12688 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | ||
| 12689 | "\x80\x81\x82\x83\x84\x85\x86\x87" | ||
| 12690 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | ||
| 12691 | "\x90\x91\x92\x93\x94\x95\x96\x97" | ||
| 12692 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | ||
| 12693 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | ||
| 12694 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | ||
| 12695 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | ||
| 12696 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | ||
| 12697 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | ||
| 12698 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | ||
| 12699 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | ||
| 12700 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | ||
| 12701 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | ||
| 12702 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | ||
| 12703 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | ||
| 12704 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | ||
| 12705 | .rlen = 512, | ||
| 12706 | }, { | ||
| 12707 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | ||
| 12708 | "\x23\x53\x60\x28\x74\x71\x35\x26" | ||
| 12709 | "\x62\x49\x77\x57\x24\x70\x93\x69" | ||
| 12710 | "\x99\x59\x57\x49\x66\x96\x76\x27" | ||
| 12711 | "\x31\x41\x59\x26\x53\x58\x97\x93" | ||
| 12712 | "\x23\x84\x62\x64\x33\x83\x27\x95" | ||
| 12713 | "\x02\x88\x41\x97\x16\x93\x99\x37" | ||
| 12714 | "\x51\x05\x82\x09\x74\x94\x45\x92", | ||
| 12715 | .klen = 64, | ||
| 12716 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | ||
| 12717 | "\x00\x00\x00\x00\x00\x00\x00\x00", | ||
| 12718 | .input = "\x49\xcd\xb8\xbf\x2f\x73\x37\x28" | ||
| 12719 | "\x9a\x7f\x6e\x57\x55\xb8\x07\x88" | ||
| 12720 | "\x4a\x0d\x8b\x55\x60\xed\xb6\x7b" | ||
| 12721 | "\xf1\x74\xac\x96\x05\x7b\x32\xca" | ||
| 12722 | "\xd1\x4e\xf1\x58\x29\x16\x24\x6c" | ||
| 12723 | "\xf2\xb3\xe4\x88\x84\xac\x4d\xee" | ||
| 12724 | "\x97\x07\x82\xf0\x07\x12\x38\x0a" | ||
| 12725 | "\x67\x62\xaf\xfd\x85\x9f\x0a\x55" | ||
| 12726 | "\xa5\x20\xc5\x60\xe4\x68\x53\xa4" | ||
| 12727 | "\x0e\x2e\x65\xe3\xe4\x0c\x30\x7c" | ||
| 12728 | "\x1c\x01\x4f\x55\xa9\x13\xeb\x25" | ||
| 12729 | "\x21\x87\xbc\xd3\xe7\x67\x4f\x38" | ||
| 12730 | "\xa8\x14\x25\x71\xe9\x2e\x4c\x21" | ||
| 12731 | "\x41\x82\x0c\x45\x39\x35\xa8\x75" | ||
| 12732 | "\x03\x29\x01\x84\x8c\xab\x48\xbe" | ||
| 12733 | "\x11\x56\x22\x67\xb7\x67\x1a\x09" | ||
| 12734 | "\xa1\x72\x25\x41\x3c\x39\x65\x80" | ||
| 12735 | "\x7d\x2f\xf8\x2c\x73\x04\x58\x9d" | ||
| 12736 | "\xdd\x16\x8b\x63\x70\x4e\xc5\x17" | ||
| 12737 | "\x21\xe0\x84\x51\x4b\x6f\x05\x52" | ||
| 12738 | "\xe3\x63\x34\xfa\xa4\xaf\x33\x20" | ||
| 12739 | "\xc1\xae\x32\xc4\xb8\x2b\xdb\x76" | ||
| 12740 | "\xd9\x02\x31\x2f\xa3\xc6\xd0\x7b" | ||
| 12741 | "\xaf\x1b\x84\xe3\x9b\xbf\xa6\xe0" | ||
| 12742 | "\xb8\x8a\x13\x88\x71\xf4\x11\xa5" | ||
| 12743 | "\xe9\xa9\x10\x33\xe0\xbe\x49\x89" | ||
| 12744 | "\x41\x22\xf5\x9d\x80\x3e\x3b\x76" | ||
| 12745 | "\x01\x16\x50\x6e\x7c\x6a\x81\xe9" | ||
| 12746 | "\x13\x2c\xde\xb2\x5f\x79\xba\xb2" | ||
| 12747 | "\xb1\x75\xae\xd2\x07\x98\x4b\x69" | ||
| 12748 | "\xae\x7d\x5b\x90\xc2\x6c\xe6\x98" | ||
| 12749 | "\xd3\x4c\xa1\xa3\x9c\xc9\x33\x6a" | ||
| 12750 | "\x0d\x23\xb1\x79\x25\x13\x4b\xe5" | ||
| 12751 | "\xaf\x93\x20\x5c\x7f\x06\x7a\x34" | ||
| 12752 | "\x0b\x78\xe3\x67\x26\xe0\xad\x95" | ||
| 12753 | "\xc5\x4e\x26\x22\xcf\x73\x77\x62" | ||
| 12754 | "\x3e\x10\xd7\x90\x4b\x52\x1c\xc9" | ||
| 12755 | "\xef\x38\x52\x18\x0e\x29\x7e\xef" | ||
| 12756 | "\x34\xfe\x31\x95\xc5\xbc\xa8\xe2" | ||
| 12757 | "\xa8\x4e\x9f\xea\xa6\xf0\xfe\x5d" | ||
| 12758 | "\xc5\x39\x86\xed\x2f\x6d\xa0\xfe" | ||
| 12759 | "\x96\xcd\x41\x10\x78\x4e\x0c\xc9" | ||
| 12760 | "\xc3\x6d\x0f\xb7\xe8\xe0\x62\xab" | ||
| 12761 | "\x8b\xf1\x21\x89\xa1\x12\xaa\xfa" | ||
| 12762 | "\x9d\x70\xbe\x4c\xa8\x98\x89\x01" | ||
| 12763 | "\xb9\xe2\x61\xde\x0c\x4a\x0b\xaa" | ||
| 12764 | "\x89\xf5\x14\x79\x18\x8f\x3b\x0d" | ||
| 12765 | "\x21\x17\xf8\x59\x15\x24\x64\x22" | ||
| 12766 | "\x57\x48\x80\xd5\x3d\x92\x30\x07" | ||
| 12767 | "\xd9\xa1\x4a\x23\x16\x43\x48\x0e" | ||
| 12768 | "\x2b\x2d\x1b\x87\xef\x7e\xbd\xfa" | ||
| 12769 | "\x49\xbc\x7e\x68\x6e\xa8\x46\x95" | ||
| 12770 | "\xad\x5e\xfe\x0a\xa8\xd3\x1a\x5d" | ||
| 12771 | "\x6b\x84\xf3\x00\xba\x52\x05\x02" | ||
| 12772 | "\xe3\x96\x4e\xb6\x79\x3f\x43\xd3" | ||
| 12773 | "\x4d\x3f\xd6\xab\x0a\xc4\x75\x2d" | ||
| 12774 | "\xd1\x08\xc3\x6a\xc8\x37\x29\xa0" | ||
| 12775 | "\xcc\x9a\x05\xdd\x5c\xe1\xff\x66" | ||
| 12776 | "\xf2\x7a\x1d\xf2\xaf\xa9\x48\x89" | ||
| 12777 | "\xf5\x21\x0f\x02\x48\x83\x74\xbf" | ||
| 12778 | "\x2e\xe6\x93\x7b\xa0\xf4\xb1\x2b" | ||
| 12779 | "\xb1\x02\x0a\x5c\x79\x19\x3b\x75" | ||
| 12780 | "\xb7\x16\xd8\x12\x5c\xcd\x7d\x4e" | ||
| 12781 | "\xd5\xc6\x99\xcc\x4e\x6c\x94\x95", | ||
| 12782 | .ilen = 512, | ||
| 12783 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | ||
| 12784 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | ||
| 12785 | "\x10\x11\x12\x13\x14\x15\x16\x17" | ||
| 12786 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | ||
| 12787 | "\x20\x21\x22\x23\x24\x25\x26\x27" | ||
| 12788 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | ||
| 12789 | "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 12790 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | ||
| 12791 | "\x40\x41\x42\x43\x44\x45\x46\x47" | ||
| 12792 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | ||
| 12793 | "\x50\x51\x52\x53\x54\x55\x56\x57" | ||
| 12794 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | ||
| 12795 | "\x60\x61\x62\x63\x64\x65\x66\x67" | ||
| 12796 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | ||
| 12797 | "\x70\x71\x72\x73\x74\x75\x76\x77" | ||
| 12798 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | ||
| 12799 | "\x80\x81\x82\x83\x84\x85\x86\x87" | ||
| 12800 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | ||
| 12801 | "\x90\x91\x92\x93\x94\x95\x96\x97" | ||
| 12802 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | ||
| 12803 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | ||
| 12804 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | ||
| 12805 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | ||
| 12806 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | ||
| 12807 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | ||
| 12808 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | ||
| 12809 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | ||
| 12810 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | ||
| 12811 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | ||
| 12812 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | ||
| 12813 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | ||
| 12814 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | ||
| 12815 | "\x00\x01\x02\x03\x04\x05\x06\x07" | ||
| 12816 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | ||
| 12817 | "\x10\x11\x12\x13\x14\x15\x16\x17" | ||
| 12818 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | ||
| 12819 | "\x20\x21\x22\x23\x24\x25\x26\x27" | ||
| 12820 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | ||
| 12821 | "\x30\x31\x32\x33\x34\x35\x36\x37" | ||
| 12822 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | ||
| 12823 | "\x40\x41\x42\x43\x44\x45\x46\x47" | ||
| 12824 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | ||
| 12825 | "\x50\x51\x52\x53\x54\x55\x56\x57" | ||
| 12826 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | ||
| 12827 | "\x60\x61\x62\x63\x64\x65\x66\x67" | ||
| 12828 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | ||
| 12829 | "\x70\x71\x72\x73\x74\x75\x76\x77" | ||
| 12830 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | ||
| 12831 | "\x80\x81\x82\x83\x84\x85\x86\x87" | ||
| 12832 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | ||
| 12833 | "\x90\x91\x92\x93\x94\x95\x96\x97" | ||
| 12834 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | ||
| 12835 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | ||
| 12836 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | ||
| 12837 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | ||
| 12838 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | ||
| 12839 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | ||
| 12840 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | ||
| 12841 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | ||
| 12842 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | ||
| 12843 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | ||
| 12844 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | ||
| 12845 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | ||
| 12846 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | ||
| 12847 | .rlen = 512, | ||
| 12848 | }, | ||
| 11474 | }; | 12849 | }; |
| 11475 | 12850 | ||
| 11476 | /* | 12851 | /* |
