00001
#include "factory.h"
00002
00003
#include "modes.h"
00004
#include "dh.h"
00005
#include "esign.h"
00006
#include "md2.h"
00007
#include "trunhash.h"
00008
#include "rw.h"
00009
#include "md5.h"
00010
#include "rsa.h"
00011
#include "ripemd.h"
00012
#include "dsa.h"
00013
#include "seal.h"
00014
#include "whrlpool.h"
00015
#include "ttmac.h"
00016
#include "camellia.h"
00017
#include "shacal2.h"
00018
#include "tea.h"
00019
#include "panama.h"
00020
00021 USING_NAMESPACE(CryptoPP)
00022
00023 void RegisterFactories()
00024 {
00025
static bool s_registered =
false;
00026
if (s_registered)
00027
return;
00028
00029 RegisterDefaultFactoryFor<SimpleKeyAgreementDomain, DH>();
00030 RegisterDefaultFactoryFor<HashTransformation, SHA1>();
00031 RegisterDefaultFactoryFor<HashTransformation, SHA256>();
00032
#ifdef WORD64_AVAILABLE
00033
RegisterDefaultFactoryFor<HashTransformation, SHA384>();
00034 RegisterDefaultFactoryFor<HashTransformation, SHA512>();
00035 RegisterDefaultFactoryFor<HashTransformation, Whirlpool>();
00036
#endif
00037
RegisterDefaultFactoryFor<HashTransformation, PanamaHash<LittleEndian> >();
00038 RegisterDefaultFactoryFor<HashTransformation, PanamaHash<BigEndian> >();
00039 RegisterDefaultFactoryFor<MessageAuthenticationCode, HMAC<MD5> >();
00040 RegisterDefaultFactoryFor<MessageAuthenticationCode, HMAC<SHA1> >();
00041 RegisterDefaultFactoryFor<MessageAuthenticationCode, HMAC<RIPEMD160> >();
00042 RegisterDefaultFactoryFor<MessageAuthenticationCode, TTMAC>();
00043 RegisterDefaultFactoryFor<MessageAuthenticationCode, PanamaMAC<LittleEndian> >();
00044 RegisterDefaultFactoryFor<MessageAuthenticationCode, PanamaMAC<BigEndian> >();
00045 RegisterAsymmetricCipherDefaultFactories<RSAES<OAEP<SHA1> > >(
"RSA/OAEP-MGF1(SHA-1)");
00046 RegisterAsymmetricCipherDefaultFactories<DLIES<> >(
"DLIES(NoCofactorMultiplication, KDF2(SHA-1), XOR, HMAC(SHA-1), DHAES)");
00047 RegisterSignatureSchemeDefaultFactories<DSA>(
"DSA(1363)");
00048 RegisterSignatureSchemeDefaultFactories<NR<SHA1> >(
"NR(1363)/EMSA1(SHA-1)");
00049 RegisterSignatureSchemeDefaultFactories<GDSA<SHA1> >(
"DSA-1363/EMSA1(SHA-1)");
00050 RegisterSignatureSchemeDefaultFactories<RSASS<PKCS1v15, MD2> >(
"RSA/PKCS1-1.5(MD2)");
00051 RegisterSignatureSchemeDefaultFactories<RSASS<PKCS1v15, SHA1> >(
"RSA/PKCS1-1.5(SHA-1)");
00052 RegisterSignatureSchemeDefaultFactories<ESIGN<SHA1> >(
"ESIGN/EMSA5-MGF1(SHA-1)");
00053 RegisterSignatureSchemeDefaultFactories<RWSS<P1363_EMSA2, SHA1> >(
"RW/EMSA2(SHA-1)");
00054 RegisterSignatureSchemeDefaultFactories<RSASS<PSS, SHA1> >(
"RSA/PSS-MGF1(SHA-1)");
00055 RegisterSymmetricCipherDefaultFactories<SEAL<> >();
00056 RegisterSymmetricCipherDefaultFactories<ECB_Mode<SHACAL2> >();
00057
#ifdef WORD64_AVAILABLE
00058
RegisterSymmetricCipherDefaultFactories<ECB_Mode<Camellia> >();
00059
#endif
00060
RegisterSymmetricCipherDefaultFactories<ECB_Mode<TEA> >();
00061 RegisterSymmetricCipherDefaultFactories<ECB_Mode<XTEA> >();
00062 RegisterSymmetricCipherDefaultFactories<PanamaCipher<LittleEndian> >();
00063 RegisterSymmetricCipherDefaultFactories<PanamaCipher<BigEndian> >();
00064
00065 s_registered =
true;
00066 }