examples/fips_validation: support TDES parsing
[dpdk.git] / examples / fips_validation / fips_validation.h
index f9e3a3b..69a2116 100644 (file)
@@ -25,6 +25,7 @@
 enum fips_test_algorithms {
                FIPS_TEST_ALGO_AES = 0,
                FIPS_TEST_ALGO_HMAC,
+               FIPS_TEST_ALGO_TDES,
                FIPS_TEST_ALGO_MAX
 };
 
@@ -88,6 +89,17 @@ enum fips_aesavs_test_types {
        AESAVS_TYPE_MCT,
 };
 
+enum fips_tdes_test_types {
+       TDES_INVERSE_PERMUTATION = 0,
+       TDES_PERMUTATION,
+       TDES_SUBSTITUTION_TABLE,
+       TDES_VARIABLE_KEY,
+       TDES_VARIABLE_TEXT,
+       TDES_KAT,
+       TDES_MCT, /* Monte Carlo (Modes) Test */
+       TDES_MMT /* Multi block Message Test */
+};
+
 struct aesavs_interim_data {
        enum fips_aesavs_test_types test_type;
        uint32_t cipher_algo;
@@ -98,6 +110,11 @@ struct hmac_interim_data {
        enum rte_crypto_auth_algorithm algo;
 };
 
+struct tdes_interim_data {
+       enum fips_tdes_test_types test_type;
+       uint32_t nb_keys;
+};
+
 struct fips_test_interim_info {
        FILE *fp_rd;
        FILE *fp_wr;
@@ -111,6 +128,7 @@ struct fips_test_interim_info {
        union {
                struct aesavs_interim_data aes_data;
                struct hmac_interim_data hmac_data;
+               struct tdes_interim_data tdes_data;
 
        } interim_info;
 
@@ -146,6 +164,9 @@ fips_test_write_one_case(void);
 int
 parse_test_aes_init(void);
 
+int
+parse_test_tdes_init(void);
+
 int
 parse_test_hmac_init(void);