Crypto++  5.6.5
Free C++ class library of cryptographic schemes
Public Member Functions | List of all members
DL_EncryptionAlgorithm_Xor< MAC, DHAES_MODE, LABEL_OCTETS > Class Template Reference

P1363 based XOR Encryption Method. More...

+ Inheritance diagram for DL_EncryptionAlgorithm_Xor< MAC, DHAES_MODE, LABEL_OCTETS >:

Public Member Functions

bool ParameterSupported (const char *name) const
 
size_t GetSymmetricKeyLength (size_t plaintextLength) const
 
size_t GetSymmetricCiphertextLength (size_t plaintextLength) const
 
size_t GetMaxSymmetricPlaintextLength (size_t ciphertextLength) const
 
void SymmetricEncrypt (RandomNumberGenerator &rng, const byte *key, const byte *plaintext, size_t plaintextLength, byte *ciphertext, const NameValuePairs &parameters) const
 
DecodingResult SymmetricDecrypt (const byte *key, const byte *ciphertext, size_t ciphertextLength, byte *plaintext, const NameValuePairs &parameters) const
 

Detailed Description

template<class MAC, bool DHAES_MODE, bool LABEL_OCTETS = false>
class DL_EncryptionAlgorithm_Xor< MAC, DHAES_MODE, LABEL_OCTETS >

P1363 based XOR Encryption Method.

Template Parameters
MACMessageAuthenticationCode derived class used for MAC computation
DHAES_MODEflag indicating DHAES mode
LABEL_OCTETSflag indicating the label is octet count

DL_EncryptionAlgorithm_Xor is based on an early P1363 draft, which itself appears to be based on an early Certicom SEC-1 draft (or an early SEC-1 draft was based on a P1363 draft). Crypto++ 4.2 used it in its Integrated Ecryption Schemes with NoCofactorMultiplication, DHAES_MODE=false and LABEL_OCTETS=true.

If you need this method for Crypto++ 4.2 compatibility, then use the ECIES template class with NoCofactorMultiplication, DHAES_MODE=false and LABEL_OCTETS=true.

If you need this method for Bouncy Castle 1.54 and Botan 1.11 compatibility, then use the ECIES template class with NoCofactorMultiplication, DHAES_MODE=ture and LABEL_OCTETS=false.

Bouncy Castle 1.54 and Botan 1.11 compatibility are the default template parameters.

Since
Crypto++ 4.0

Definition at line 572 of file gfpcrypt.h.


The documentation for this class was generated from the following file: