00001 #ifndef CRYPTOPP_VALIDATE_H
00002 #define CRYPTOPP_VALIDATE_H
00003
00004 #include "cryptlib.h"
00005
00006 bool ValidateAll(bool thorough);
00007 bool TestSettings();
00008 bool TestOS_RNG();
00009 bool TestAutoSeeded();
00010
00011 #if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64)
00012 bool TestRDRAND();
00013 bool TestRDSEED();
00014 #endif
00015
00016 bool ValidateBaseCode();
00017 bool ValidateCRC32();
00018 bool ValidateAdler32();
00019 bool ValidateMD2();
00020 bool ValidateMD4();
00021 bool ValidateMD5();
00022 bool ValidateSHA();
00023 bool ValidateSHA2();
00024 bool ValidateTiger();
00025 bool ValidateRIPEMD();
00026 bool ValidatePanama();
00027 bool ValidateWhirlpool();
00028
00029 bool ValidateHMAC();
00030 bool ValidateTTMAC();
00031
00032 bool ValidateCipherModes();
00033 bool ValidatePBKDF();
00034 bool ValidateHKDF();
00035
00036 bool ValidateDES();
00037 bool ValidateIDEA();
00038 bool ValidateSAFER();
00039 bool ValidateRC2();
00040 bool ValidateARC4();
00041
00042 bool ValidateRC5();
00043 bool ValidateBlowfish();
00044 bool ValidateThreeWay();
00045 bool ValidateGOST();
00046 bool ValidateSHARK();
00047 bool ValidateSEAL();
00048 bool ValidateCAST();
00049 bool ValidateSquare();
00050 bool ValidateSKIPJACK();
00051 bool ValidateRC6();
00052 bool ValidateMARS();
00053 bool ValidateRijndael();
00054 bool ValidateTwofish();
00055 bool ValidateSerpent();
00056 bool ValidateSHACAL2();
00057 bool ValidateCamellia();
00058 bool ValidateSalsa();
00059 bool ValidateSosemanuk();
00060 bool ValidateVMAC();
00061 bool ValidateCCM();
00062 bool ValidateGCM();
00063 bool ValidateCMAC();
00064
00065 bool ValidateBBS();
00066 bool ValidateDH();
00067 bool ValidateMQV();
00068 bool ValidateRSA();
00069 bool ValidateElGamal();
00070 bool ValidateDLIES();
00071 bool ValidateNR();
00072 bool ValidateDSA(bool thorough);
00073 bool ValidateLUC();
00074 bool ValidateLUC_DL();
00075 bool ValidateLUC_DH();
00076 bool ValidateXTR_DH();
00077 bool ValidateRabin();
00078 bool ValidateRW();
00079
00080 bool ValidateECP();
00081 bool ValidateEC2N();
00082 bool ValidateECDSA();
00083 bool ValidateESIGN();
00084
00085 #if !defined(NDEBUG)
00086 bool TestPolynomialMod2();
00087 #endif
00088
00089
00090 template <class T, bool NON_NEGATIVE>
00091 T StringToValue(const std::string& str);
00092 template<>
00093 int StringToValue<int, true>(const std::string& str);
00094
00095
00096 CryptoPP::RandomNumberGenerator & GlobalRNG();
00097
00098 bool RunTestDataFile(const char *filename, const CryptoPP::NameValuePairs &overrideParameters=CryptoPP::g_nullNameValuePairs, bool thorough=true);
00099
00100 #endif