#ifndef CRYPTO_CONST_H__
#define CRYPTO_CONST_H__

#include <cryptopp/integer.h>

namespace i2p
{
namespace crypto
{
    struct CryptoConstants
    {
        // DH/ElGamal
        const CryptoPP::Integer elgp;
        const CryptoPP::Integer elgg; 

        // DSA
        const CryptoPP::Integer dsap;       
        const CryptoPP::Integer dsaq;
        const CryptoPP::Integer dsag;           
    };  
    
    const CryptoConstants& GetCryptoConstants ();
    
    // DH/ElGamal   
    #define elgp GetCryptoConstants ().elgp
    #define elgg GetCryptoConstants ().elgg

    // DSA
    #define dsap GetCryptoConstants ().dsap 
    #define dsaq GetCryptoConstants ().dsaq
    #define dsag GetCryptoConstants ().dsag 

    // RSA
    const int rsae = 65537; 
}       
}   

#endif