Crypto++ 8.7
Free C++ class library of cryptographic schemes
|
P1363 based XOR Encryption Method. More...
#include <gfpcrypt.h>
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 ¶meters) const |
DecodingResult | SymmetricDecrypt (const byte *key, const byte *ciphertext, size_t ciphertextLength, byte *plaintext, const NameValuePairs ¶meters) const |
virtual bool | ParameterSupported (const char *name) const |
virtual size_t | GetSymmetricKeyLength (size_t plaintextLength) const =0 |
virtual size_t | GetSymmetricCiphertextLength (size_t plaintextLength) const =0 |
virtual size_t | GetMaxSymmetricPlaintextLength (size_t ciphertextLength) const =0 |
virtual void | SymmetricEncrypt (RandomNumberGenerator &rng, const byte *key, const byte *plaintext, size_t plaintextLength, byte *ciphertext, const NameValuePairs ¶meters) const =0 |
virtual DecodingResult | SymmetricDecrypt (const byte *key, const byte *ciphertext, size_t ciphertextLength, byte *plaintext, const NameValuePairs ¶meters) const =0 |
P1363 based XOR Encryption Method.
MAC | MessageAuthenticationCode derived class used for MAC computation |
DHAES_MODE | flag indicating DHAES mode |
LABEL_OCTETS | flag 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=true
and LABEL_OCTETS=false
.
Bouncy Castle 1.54 and Botan 1.11 compatibility are the default template parameters.
Definition at line 871 of file gfpcrypt.h.
|
inlinevirtual |
Definition at line 874 of file gfpcrypt.h.
|
inlinevirtual |
Reimplemented from DL_SymmetricEncryptionAlgorithm.
Definition at line 876 of file gfpcrypt.h.
|
inlinevirtual |
Implements DL_SymmetricEncryptionAlgorithm.
Definition at line 877 of file gfpcrypt.h.
|
inlinevirtual |
Implements DL_SymmetricEncryptionAlgorithm.
Definition at line 879 of file gfpcrypt.h.
|
inlinevirtual |
Implements DL_SymmetricEncryptionAlgorithm.
Definition at line 881 of file gfpcrypt.h.
|
inlinevirtual |
Implements DL_SymmetricEncryptionAlgorithm.
Definition at line 883 of file gfpcrypt.h.
|
inlinevirtual |
Implements DL_SymmetricEncryptionAlgorithm.
Definition at line 915 of file gfpcrypt.h.