/*
 * Copyright (C) 2013-2024 Tobias Brunner
 * Copyright (C) 2009-2024 Andreas Steffen
 * Copyright (C) 2009 Martin Willi
 *
 * Copyright (C) secunet Security Networks AG
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation; either version 2 of the License, or (at your
 * option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * for more details.
 */

TEST_VECTOR_CRYPTER(aes_cbc1)
TEST_VECTOR_CRYPTER(aes_cbc2)
TEST_VECTOR_CRYPTER(aes_cbc3)
TEST_VECTOR_CRYPTER(aes_cbc4)
TEST_VECTOR_CRYPTER(aes_cbc5)
TEST_VECTOR_CRYPTER(aes_cbc6)
TEST_VECTOR_CRYPTER(aes_ecb1)
TEST_VECTOR_CRYPTER(aes_ecb2)
TEST_VECTOR_CRYPTER(aes_ecb3)
TEST_VECTOR_CRYPTER(aes_cfb1)
TEST_VECTOR_CRYPTER(aes_cfb1s)
TEST_VECTOR_CRYPTER(aes_cfb2)
TEST_VECTOR_CRYPTER(aes_cfb2s)
TEST_VECTOR_CRYPTER(aes_cfb3)
TEST_VECTOR_CRYPTER(aes_cfb3s)
TEST_VECTOR_CRYPTER(aes_ctr1)
TEST_VECTOR_CRYPTER(aes_ctr2)
TEST_VECTOR_CRYPTER(aes_ctr3)
TEST_VECTOR_CRYPTER(aes_ctr4)
TEST_VECTOR_CRYPTER(aes_ctr5)
TEST_VECTOR_CRYPTER(aes_ctr6)
TEST_VECTOR_CRYPTER(aes_ctr7)
TEST_VECTOR_CRYPTER(aes_ctr8)
TEST_VECTOR_CRYPTER(aes_ctr9)
TEST_VECTOR_CRYPTER(blowfish1)
TEST_VECTOR_CRYPTER(blowfish2)
TEST_VECTOR_CRYPTER(camellia_cbc1)
TEST_VECTOR_CRYPTER(camellia_cbc2)
TEST_VECTOR_CRYPTER(camellia_cbc3)
TEST_VECTOR_CRYPTER(camellia_cbc4)
TEST_VECTOR_CRYPTER(camellia_cbc5)
TEST_VECTOR_CRYPTER(camellia_cbc6)
TEST_VECTOR_CRYPTER(camellia_ctr1)
TEST_VECTOR_CRYPTER(camellia_ctr2)
TEST_VECTOR_CRYPTER(camellia_ctr3)
TEST_VECTOR_CRYPTER(camellia_ctr4)
TEST_VECTOR_CRYPTER(camellia_ctr5)
TEST_VECTOR_CRYPTER(camellia_ctr6)
TEST_VECTOR_CRYPTER(camellia_ctr7)
TEST_VECTOR_CRYPTER(camellia_ctr8)
TEST_VECTOR_CRYPTER(camellia_ctr9)
TEST_VECTOR_CRYPTER(cast1)
TEST_VECTOR_CRYPTER(des_cbc1)
TEST_VECTOR_CRYPTER(des_cbc2)
TEST_VECTOR_CRYPTER(des_ecb1)
TEST_VECTOR_CRYPTER(des_ecb2)
TEST_VECTOR_CRYPTER(des3_cbc1)
TEST_VECTOR_CRYPTER(des3_cbc2)
TEST_VECTOR_CRYPTER(idea1)
TEST_VECTOR_CRYPTER(idea2)
TEST_VECTOR_CRYPTER(null1)
TEST_VECTOR_CRYPTER(rc2_1)
TEST_VECTOR_CRYPTER(rc2_2)
TEST_VECTOR_CRYPTER(rc2_3)
TEST_VECTOR_CRYPTER(rc2_4)
TEST_VECTOR_CRYPTER(rc2_5)
TEST_VECTOR_CRYPTER(rc2_6)
TEST_VECTOR_CRYPTER(rc2_7)
TEST_VECTOR_CRYPTER(rc2_8)
TEST_VECTOR_CRYPTER(rc5_1)
TEST_VECTOR_CRYPTER(rc5_2)
TEST_VECTOR_CRYPTER(serpent_cbc1)
TEST_VECTOR_CRYPTER(serpent_cbc2)
TEST_VECTOR_CRYPTER(serpent_cbc3)
TEST_VECTOR_CRYPTER(serpent_cbc4)
TEST_VECTOR_CRYPTER(serpent_cbc5)
TEST_VECTOR_CRYPTER(serpent_cbc6)
TEST_VECTOR_CRYPTER(twofish_cbc1)
TEST_VECTOR_CRYPTER(twofish_cbc2)
TEST_VECTOR_CRYPTER(twofish_cbc3)

TEST_VECTOR_AEAD(aes_ccm1)
TEST_VECTOR_AEAD(aes_ccm2)
TEST_VECTOR_AEAD(aes_ccm3)
TEST_VECTOR_AEAD(aes_ccm4)
TEST_VECTOR_AEAD(aes_ccm5)
TEST_VECTOR_AEAD(aes_ccm6)
TEST_VECTOR_AEAD(aes_ccm7)
TEST_VECTOR_AEAD(aes_ccm8)
TEST_VECTOR_AEAD(aes_ccm9)
TEST_VECTOR_AEAD(aes_ccm10)
TEST_VECTOR_AEAD(aes_ccm11)
TEST_VECTOR_AEAD(aes_ccm12)
TEST_VECTOR_AEAD(aes_ccm13)
TEST_VECTOR_AEAD(aes_ccm14)
TEST_VECTOR_AEAD(aes_ccm15)
TEST_VECTOR_AEAD(aes_ccm16)
TEST_VECTOR_AEAD(aes_gcm1)
TEST_VECTOR_AEAD(aes_gcm2)
TEST_VECTOR_AEAD(aes_gcm3_1)
TEST_VECTOR_AEAD(aes_gcm3_2)
TEST_VECTOR_AEAD(aes_gcm3_3)
TEST_VECTOR_AEAD(aes_gcm4)
TEST_VECTOR_AEAD(aes_gcm7)
TEST_VECTOR_AEAD(aes_gcm8)
TEST_VECTOR_AEAD(aes_gcm9)
TEST_VECTOR_AEAD(aes_gcm10)
TEST_VECTOR_AEAD(aes_gcm13)
TEST_VECTOR_AEAD(aes_gcm14)
TEST_VECTOR_AEAD(aes_gcm15)
TEST_VECTOR_AEAD(aes_gcm16)
TEST_VECTOR_AEAD(aes_gcm17)
TEST_VECTOR_AEAD(aes_gcm18)
TEST_VECTOR_AEAD(aes_gcm19)
TEST_VECTOR_AEAD(aes_gcm20)
TEST_VECTOR_AEAD(aes_gcm21)
TEST_VECTOR_AEAD(aes_gcm22)
TEST_VECTOR_AEAD(aes_gcm23)

TEST_VECTOR_AEAD(chacha20poly1305_1)
TEST_VECTOR_AEAD(chacha20poly1305_2)
TEST_VECTOR_AEAD(chacha20poly1305_3)
TEST_VECTOR_AEAD(chacha20poly1305_4)

TEST_VECTOR_SIGNER(aes_xcbc_s1)
TEST_VECTOR_SIGNER(aes_xcbc_s2)
TEST_VECTOR_SIGNER(aes_xcbc_s3)
TEST_VECTOR_SIGNER(aes_xcbc_s4)
TEST_VECTOR_SIGNER(aes_xcbc_s5)
TEST_VECTOR_SIGNER(aes_cmac_s1)
TEST_VECTOR_SIGNER(aes_cmac_s2)
TEST_VECTOR_SIGNER(aes_cmac_s3)
TEST_VECTOR_SIGNER(aes_cmac_s4)
TEST_VECTOR_SIGNER(camellia_xcbc_s1)
TEST_VECTOR_SIGNER(md5_hmac_s1)
TEST_VECTOR_SIGNER(md5_hmac_s2)
TEST_VECTOR_SIGNER(md5_hmac_s3)
TEST_VECTOR_SIGNER(md5_hmac_s4)
TEST_VECTOR_SIGNER(sha1_hmac_s1)
TEST_VECTOR_SIGNER(sha1_hmac_s2)
TEST_VECTOR_SIGNER(sha1_hmac_s3)
TEST_VECTOR_SIGNER(sha1_hmac_s4)
TEST_VECTOR_SIGNER(sha1_hmac_s5)
TEST_VECTOR_SIGNER(sha1_hmac_s6)
TEST_VECTOR_SIGNER(sha256_hmac_s1)
TEST_VECTOR_SIGNER(sha256_hmac_s2)
TEST_VECTOR_SIGNER(sha256_hmac_s3)
TEST_VECTOR_SIGNER(sha384_hmac_s1)
TEST_VECTOR_SIGNER(sha384_hmac_s2)
TEST_VECTOR_SIGNER(sha384_hmac_s3)
TEST_VECTOR_SIGNER(sha512_hmac_s1)
TEST_VECTOR_SIGNER(sha512_hmac_s2)
TEST_VECTOR_SIGNER(sha512_hmac_s3)

TEST_VECTOR_HASHER(md4_1)
TEST_VECTOR_HASHER(md4_2)
TEST_VECTOR_HASHER(md4_3)
TEST_VECTOR_HASHER(md4_4)
TEST_VECTOR_HASHER(md4_5)
TEST_VECTOR_HASHER(md4_6)
TEST_VECTOR_HASHER(md4_7)
TEST_VECTOR_HASHER(md5_1)
TEST_VECTOR_HASHER(md5_2)
TEST_VECTOR_HASHER(md5_3)
TEST_VECTOR_HASHER(md5_4)
TEST_VECTOR_HASHER(md5_5)
TEST_VECTOR_HASHER(md5_6)
TEST_VECTOR_HASHER(md5_7)
TEST_VECTOR_HASHER(sha1_1)
TEST_VECTOR_HASHER(sha1_2)
TEST_VECTOR_HASHER(sha1_3)
TEST_VECTOR_HASHER(sha1_4)
TEST_VECTOR_HASHER(sha224_1)
TEST_VECTOR_HASHER(sha224_2)
TEST_VECTOR_HASHER(sha224_3)
TEST_VECTOR_HASHER(sha256_1)
TEST_VECTOR_HASHER(sha256_2)
TEST_VECTOR_HASHER(sha256_3)
TEST_VECTOR_HASHER(sha384_1)
TEST_VECTOR_HASHER(sha384_2)
TEST_VECTOR_HASHER(sha384_3)
TEST_VECTOR_HASHER(sha512_1)
TEST_VECTOR_HASHER(sha512_2)
TEST_VECTOR_HASHER(sha512_3)
TEST_VECTOR_HASHER(sha3_224_0)
TEST_VECTOR_HASHER(sha3_256_0)
TEST_VECTOR_HASHER(sha3_384_0)
TEST_VECTOR_HASHER(sha3_512_0)
TEST_VECTOR_HASHER(sha3_224_1)
TEST_VECTOR_HASHER(sha3_256_1)
TEST_VECTOR_HASHER(sha3_384_1)
TEST_VECTOR_HASHER(sha3_512_1)
TEST_VECTOR_HASHER(sha3_224_2)
TEST_VECTOR_HASHER(sha3_256_2)
TEST_VECTOR_HASHER(sha3_384_2)
TEST_VECTOR_HASHER(sha3_512_2)
TEST_VECTOR_HASHER(sha3_224_143)
TEST_VECTOR_HASHER(sha3_256_135)
TEST_VECTOR_HASHER(sha3_384_103)
TEST_VECTOR_HASHER(sha3_512_71)
TEST_VECTOR_HASHER(sha3_224_144)
TEST_VECTOR_HASHER(sha3_256_136)
TEST_VECTOR_HASHER(sha3_384_104)
TEST_VECTOR_HASHER(sha3_512_72)
TEST_VECTOR_HASHER(sha3_224_255)
TEST_VECTOR_HASHER(sha3_256_255)
TEST_VECTOR_HASHER(sha3_384_255)
TEST_VECTOR_HASHER(sha3_512_255)

TEST_VECTOR_KDF(prf_sha256_1)
TEST_VECTOR_KDF(prf_sha256_2)
TEST_VECTOR_KDF(prf_sha384_1)
TEST_VECTOR_KDF(prf_sha384_2)
TEST_VECTOR_KDF(prf_sha512_1)
TEST_VECTOR_KDF(prf_sha512_2)
TEST_VECTOR_KDF(prf_plus_sha256_old)
TEST_VECTOR_KDF(prf_plus_sha256_1)
TEST_VECTOR_KDF(prf_plus_sha256_2)
TEST_VECTOR_KDF(prf_plus_sha384_1)
TEST_VECTOR_KDF(prf_plus_sha384_2)
TEST_VECTOR_KDF(prf_plus_sha512_1)
TEST_VECTOR_KDF(prf_plus_sha512_2)

TEST_VECTOR_PRF(aes_xcbc_p1)
TEST_VECTOR_PRF(aes_xcbc_p2)
TEST_VECTOR_PRF(aes_xcbc_p3)
TEST_VECTOR_PRF(aes_xcbc_p4)
TEST_VECTOR_PRF(aes_xcbc_p5)
TEST_VECTOR_PRF(aes_xcbc_p6)
TEST_VECTOR_PRF(aes_xcbc_p7)
TEST_VECTOR_PRF(aes_cmac_p1)
TEST_VECTOR_PRF(aes_cmac_p2)
TEST_VECTOR_PRF(aes_cmac_p3)
TEST_VECTOR_PRF(aes_cmac_p4)
TEST_VECTOR_PRF(aes_cmac_p5)
TEST_VECTOR_PRF(aes_cmac_p6)
TEST_VECTOR_PRF(aes_cmac_p7)
TEST_VECTOR_PRF(camellia_xcbc_p1)
TEST_VECTOR_PRF(camellia_xcbc_p2)
TEST_VECTOR_PRF(camellia_xcbc_p3)
TEST_VECTOR_PRF(md5_hmac_p1)
TEST_VECTOR_PRF(md5_hmac_p2)
TEST_VECTOR_PRF(md5_hmac_p3)
TEST_VECTOR_PRF(md5_hmac_p4)
TEST_VECTOR_PRF(md5_hmac_p5)
TEST_VECTOR_PRF(md5_hmac_p6)
TEST_VECTOR_PRF(sha1_hmac_p1)
TEST_VECTOR_PRF(sha1_hmac_p2)
TEST_VECTOR_PRF(sha1_hmac_p3)
TEST_VECTOR_PRF(sha1_hmac_p4)
TEST_VECTOR_PRF(sha1_hmac_p5)
TEST_VECTOR_PRF(sha1_hmac_p6)
TEST_VECTOR_PRF(sha256_hmac_p1)
TEST_VECTOR_PRF(sha256_hmac_p2)
TEST_VECTOR_PRF(sha256_hmac_p3)
TEST_VECTOR_PRF(sha256_hmac_p4)
TEST_VECTOR_PRF(sha256_hmac_p5)
TEST_VECTOR_PRF(sha384_hmac_p1)
TEST_VECTOR_PRF(sha384_hmac_p2)
TEST_VECTOR_PRF(sha384_hmac_p3)
TEST_VECTOR_PRF(sha384_hmac_p4)
TEST_VECTOR_PRF(sha384_hmac_p5)
TEST_VECTOR_PRF(sha512_hmac_p1)
TEST_VECTOR_PRF(sha512_hmac_p2)
TEST_VECTOR_PRF(sha512_hmac_p3)
TEST_VECTOR_PRF(sha512_hmac_p4)
TEST_VECTOR_PRF(sha512_hmac_p5)
TEST_VECTOR_PRF(fips_prf_1)

TEST_VECTOR_XOF(shake_128_0)
TEST_VECTOR_XOF(shake_128_32)
TEST_VECTOR_XOF(shake_128_167)
TEST_VECTOR_XOF(shake_128_168)
TEST_VECTOR_XOF(shake_128_255)
TEST_VECTOR_XOF(shake_256_0)
TEST_VECTOR_XOF(shake_256_64)
TEST_VECTOR_XOF(shake_256_135)
TEST_VECTOR_XOF(shake_256_136)
TEST_VECTOR_XOF(shake_256_255)
TEST_VECTOR_XOF(chacha20_xof_1)
TEST_VECTOR_XOF(chacha20_xof_2)
TEST_VECTOR_XOF(chacha20_xof_3)
TEST_VECTOR_XOF(chacha20_xof_4)

TEST_VECTOR_DRBG(drbg_ctr_aes128_1)
TEST_VECTOR_DRBG(drbg_ctr_aes128_2)
TEST_VECTOR_DRBG(drbg_ctr_aes128_3)
TEST_VECTOR_DRBG(drbg_ctr_aes128_4)
TEST_VECTOR_DRBG(drbg_ctr_aes128_5)
TEST_VECTOR_DRBG(drbg_ctr_aes128_6)
TEST_VECTOR_DRBG(drbg_ctr_aes192_1)
TEST_VECTOR_DRBG(drbg_ctr_aes192_2)
TEST_VECTOR_DRBG(drbg_ctr_aes192_3)
TEST_VECTOR_DRBG(drbg_ctr_aes192_4)
TEST_VECTOR_DRBG(drbg_ctr_aes192_5)
TEST_VECTOR_DRBG(drbg_ctr_aes192_6)
TEST_VECTOR_DRBG(drbg_ctr_aes256_1)
TEST_VECTOR_DRBG(drbg_ctr_aes256_2)
TEST_VECTOR_DRBG(drbg_ctr_aes256_3)
TEST_VECTOR_DRBG(drbg_ctr_aes256_4)
TEST_VECTOR_DRBG(drbg_ctr_aes256_5)
TEST_VECTOR_DRBG(drbg_ctr_aes256_6)
TEST_VECTOR_DRBG(drbg_hmac_sha1_1)
TEST_VECTOR_DRBG(drbg_hmac_sha1_2)
TEST_VECTOR_DRBG(drbg_hmac_sha1_3)
TEST_VECTOR_DRBG(drbg_hmac_sha1_4)
TEST_VECTOR_DRBG(drbg_hmac_sha1_5)
TEST_VECTOR_DRBG(drbg_hmac_sha1_6)
TEST_VECTOR_DRBG(drbg_hmac_sha256_1)
TEST_VECTOR_DRBG(drbg_hmac_sha256_2)
TEST_VECTOR_DRBG(drbg_hmac_sha256_3)
TEST_VECTOR_DRBG(drbg_hmac_sha256_4)
TEST_VECTOR_DRBG(drbg_hmac_sha256_5)
TEST_VECTOR_DRBG(drbg_hmac_sha256_6)
TEST_VECTOR_DRBG(drbg_hmac_sha384_1)
TEST_VECTOR_DRBG(drbg_hmac_sha384_2)
TEST_VECTOR_DRBG(drbg_hmac_sha384_3)
TEST_VECTOR_DRBG(drbg_hmac_sha384_4)
TEST_VECTOR_DRBG(drbg_hmac_sha384_5)
TEST_VECTOR_DRBG(drbg_hmac_sha384_6)
TEST_VECTOR_DRBG(drbg_hmac_sha512_1)
TEST_VECTOR_DRBG(drbg_hmac_sha512_2)
TEST_VECTOR_DRBG(drbg_hmac_sha512_3)
TEST_VECTOR_DRBG(drbg_hmac_sha512_4)
TEST_VECTOR_DRBG(drbg_hmac_sha512_5)
TEST_VECTOR_DRBG(drbg_hmac_sha512_6)

TEST_VECTOR_RNG(rng_monobit_1)
TEST_VECTOR_RNG(rng_monobit_2)
TEST_VECTOR_RNG(rng_monobit_3)
TEST_VECTOR_RNG(rng_poker_1)
TEST_VECTOR_RNG(rng_poker_2)
TEST_VECTOR_RNG(rng_poker_3)
TEST_VECTOR_RNG(rng_runs_1)
TEST_VECTOR_RNG(rng_runs_2)
TEST_VECTOR_RNG(rng_runs_3)

TEST_VECTOR_KE(modp768)
TEST_VECTOR_KE(modp1024)
TEST_VECTOR_KE(modp1536)
TEST_VECTOR_KE(modp2048)
TEST_VECTOR_KE(modp3072)
TEST_VECTOR_KE(modp4096)
TEST_VECTOR_KE(modp6144)
TEST_VECTOR_KE(modp8192)
TEST_VECTOR_KE(modp1024_160)
TEST_VECTOR_KE(modp2048_224)
TEST_VECTOR_KE(modp2048_256)
TEST_VECTOR_KE(ecp192)
TEST_VECTOR_KE(ecp224)
TEST_VECTOR_KE(ecp256)
TEST_VECTOR_KE(ecp384)
TEST_VECTOR_KE(ecp521)
TEST_VECTOR_KE(ecp224bp)
TEST_VECTOR_KE(ecp256bp)
TEST_VECTOR_KE(ecp384bp)
TEST_VECTOR_KE(ecp512bp)
TEST_VECTOR_KE(curve25519_1)
TEST_VECTOR_KE(curve25519_2)
TEST_VECTOR_KE(curve448_1)
TEST_VECTOR_KE(mlkem512_0)
TEST_VECTOR_KE(mlkem512_1)
TEST_VECTOR_KE(mlkem512_2)
TEST_VECTOR_KE(mlkem512_3)
TEST_VECTOR_KE(mlkem768_0)
TEST_VECTOR_KE(mlkem768_1)
TEST_VECTOR_KE(mlkem768_2)
TEST_VECTOR_KE(mlkem768_3)
TEST_VECTOR_KE(mlkem1024_0)
TEST_VECTOR_KE(mlkem1024_1)
TEST_VECTOR_KE(mlkem1024_2)
TEST_VECTOR_KE(mlkem1024_3)
