| 
									
										
										
										
											2017-06-19 15:49:18 +02:00
										 |  |  | /* LibTomCrypt, modular cryptographic library -- Tom St Denis
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * LibTomCrypt is a library that provides various cryptographic | 
					
						
							|  |  |  |  * algorithms in a highly modular and flexible manner. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * The library is free for all purposes without any express | 
					
						
							|  |  |  |  * guarantee it works. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2005-04-17 11:37:13 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #ifndef __TEST_H_
 | 
					
						
							|  |  |  | #define __TEST_H_
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <tomcrypt.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-05 13:52:39 +02:00
										 |  |  | #include "common.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-08 10:20:21 +02:00
										 |  |  | #ifdef USE_LTM
 | 
					
						
							|  |  |  | /* Use libtommath as MPI provider */ | 
					
						
							|  |  |  | #elif defined(USE_TFM)
 | 
					
						
							|  |  |  | /* Use tomsfastmath as MPI provider */ | 
					
						
							|  |  |  | #elif defined(USE_GMP)
 | 
					
						
							|  |  |  | /* Use GNU Multiple Precision Arithmetic Library as MPI provider */ | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | /* The user must define his own MPI provider! */ | 
					
						
							|  |  |  | #ifndef EXT_MATH_LIB
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * Yes, you're right, you could also name your instance of the MPI provider | 
					
						
							|  |  |  |  * "EXT_MATH_LIB" and you wouldn't need to define it, but most users won't do | 
					
						
							|  |  |  |  * this and so it's treated as an error and you have to comment out the | 
					
						
							|  |  |  |  * following statement :) | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #error EXT_MATH_LIB is required to be defined
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-17 11:37:13 +00:00
										 |  |  | typedef struct { | 
					
						
							|  |  |  |     char *name, *prov, *req; | 
					
						
							|  |  |  |     int  (*entry)(void); | 
					
						
							|  |  |  | } test_entry; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* TESTS */ | 
					
						
							|  |  |  | int cipher_hash_test(void); | 
					
						
							|  |  |  | int modes_test(void); | 
					
						
							|  |  |  | int mac_test(void); | 
					
						
							|  |  |  | int pkcs_1_test(void); | 
					
						
							| 
									
										
										
										
											2014-08-05 17:21:02 +02:00
										 |  |  | int pkcs_1_pss_test(void); | 
					
						
							| 
									
										
										
										
											2014-08-05 19:15:14 +02:00
										 |  |  | int pkcs_1_oaep_test(void); | 
					
						
							| 
									
										
										
										
											2014-08-05 23:48:35 +02:00
										 |  |  | int pkcs_1_emsa_test(void); | 
					
						
							| 
									
										
										
										
											2014-08-06 00:58:45 +02:00
										 |  |  | int pkcs_1_eme_test(void); | 
					
						
							| 
									
										
										
										
											2005-04-17 11:37:13 +00:00
										 |  |  | int store_test(void); | 
					
						
							| 
									
										
										
										
											2017-03-27 19:32:05 +02:00
										 |  |  | int rotate_test(void); | 
					
						
							| 
									
										
										
										
											2005-04-17 11:37:13 +00:00
										 |  |  | int rsa_test(void); | 
					
						
							| 
									
										
										
										
											2011-01-18 20:06:03 +01:00
										 |  |  | int dh_test(void); | 
					
						
							| 
									
										
										
										
											2005-11-18 05:15:37 +00:00
										 |  |  | int katja_test(void); | 
					
						
							| 
									
										
										
										
											2005-04-17 11:37:13 +00:00
										 |  |  | int ecc_tests(void); | 
					
						
							|  |  |  | int dsa_test(void); | 
					
						
							| 
									
										
										
										
											2017-06-08 13:25:40 +02:00
										 |  |  | int der_test(void); | 
					
						
							| 
									
										
										
										
											2014-01-03 15:16:59 +01:00
										 |  |  | int misc_test(void); | 
					
						
							| 
									
										
										
										
											2014-05-01 18:01:13 +02:00
										 |  |  | int base64_test(void); | 
					
						
							| 
									
										
										
										
											2017-04-21 16:12:18 +02:00
										 |  |  | int file_test(void); | 
					
						
							| 
									
										
										
										
											2017-04-23 22:04:39 +02:00
										 |  |  | int multi_test(void); | 
					
						
							| 
									
										
										
										
											2017-06-08 11:51:36 +02:00
										 |  |  | int prng_test(void); | 
					
						
							| 
									
										
										
										
											2017-06-28 14:02:25 +02:00
										 |  |  | int mpi_test(void); | 
					
						
							| 
									
										
										
										
											2005-04-17 11:37:13 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-08-05 17:19:17 +02:00
										 |  |  | #ifdef LTC_PKCS_1
 | 
					
						
							| 
									
										
										
										
											2017-06-09 15:04:46 +02:00
										 |  |  | struct ltc_prng_descriptor* no_prng_desc_get(void); | 
					
						
							|  |  |  | void no_prng_desc_free(struct ltc_prng_descriptor*); | 
					
						
							| 
									
										
										
										
											2014-08-05 17:19:17 +02:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-17 11:37:13 +00:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2005-06-09 00:08:13 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-19 13:43:49 +02:00
										 |  |  | /* ref:         $Format:%D$ */ | 
					
						
							|  |  |  | /* git commit:  $Format:%H$ */ | 
					
						
							|  |  |  | /* commit time: $Format:%ai$ */ |