LibLogicalAccess  2.5.0
An Open Source RFID Library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | List of all members
logicalaccess::openssl::DESCipher Class Reference

A DES cipher. More...

#include <des_cipher.hpp>

Inheritance diagram for logicalaccess::openssl::DESCipher:
logicalaccess::openssl::OpenSSLSymmetricCipher logicalaccess::openssl::SymmetricCipher

Public Member Functions

 DESCipher (EncMode _mode=ENC_MODE_CBC)
 Constructor.
 
unsigned char getBlockSize () const override
 
- Public Member Functions inherited from logicalaccess::openssl::OpenSSLSymmetricCipher
 OpenSSLSymmetricCipher (EncMode mode)
 Constructor.
 
virtual ~OpenSSLSymmetricCipher ()
 
OpenSSLSymmetricCipherContext start (Method method, const SymmetricKey &key, const InitializationVector &iv, bool padding) const
 Initialize a new encryption/decryption session.
 
void cipher (const ByteVector &src, ByteVector &dest, const SymmetricKey &key, const InitializationVector &iv, bool padding) override
 Cipher a buffer.
 
void decipher (const ByteVector &src, ByteVector &dest, const SymmetricKey &key, const InitializationVector &iv, bool padding) override
 Decipher a buffer.
 
- Public Member Functions inherited from logicalaccess::openssl::SymmetricCipher
virtual ~SymmetricCipher ()
 Destructor.
 
virtual void cipher (const ByteVector &src, ByteVector &dest, const SymmetricKey &key, const InitializationVector &iv, bool padding)=0
 Cipher a buffer.
 
void cipher (const ByteVector &src, ByteVector &dest, const SymmetricKey &key)
 
void cipher (const ByteVector &src, ByteVector &dest, const ByteVector &key, const ByteVector &iv={})
 
virtual void decipher (const ByteVector &src, ByteVector &dest, const SymmetricKey &key, const InitializationVector &iv, bool padding)=0
 Decipher a buffer.
 
void decipher (const ByteVector &src, ByteVector &dest, const SymmetricKey &key)
 
void decipher (const ByteVector &src, ByteVector &dest, const ByteVector &key, const ByteVector &iv={})
 
virtual unsigned char getBlockSize () const =0
 

Protected Member Functions

const EVP_CIPHER * getEVPCipher (const SymmetricKey &key) const override
 Get the openssl EVP cipher.
 
- Protected Member Functions inherited from logicalaccess::openssl::OpenSSLSymmetricCipher
virtual const EVP_CIPHER * getEVPCipher (const SymmetricKey &key) const =0
 Get the openssl EVP cipher.
 
EncMode mode () const
 Get the encryption mode.
 

Additional Inherited Members

- Public Types inherited from logicalaccess::openssl::OpenSSLSymmetricCipher
enum  EncMode {
  ENC_MODE_CBC , ENC_MODE_CFB , ENC_MODE_CFB1 , ENC_MODE_CFB8 ,
  ENC_MODE_ECB , ENC_MODE_OFB
}
 Encryption mode. More...
 
enum  Method { M_ENCRYPT , M_DECRYPT }
 A method. More...
 
- Static Public Member Functions inherited from logicalaccess::openssl::OpenSSLSymmetricCipher
static void update (OpenSSLSymmetricCipherContext &context, const ByteVector &src)
 Add data to encrypt/decrypt.
 
static ByteVector stop (OpenSSLSymmetricCipherContext &context)
 Finalize an encryption/decryption session.
 

Detailed Description

A DES cipher.

DESCipher is a symmetric cipher that relies on OpenSSL's implementation of the DES algorithm. Take a look at SymmetricCipher for usage.

Constructor & Destructor Documentation

◆ DESCipher()

logicalaccess::openssl::DESCipher::DESCipher ( EncMode  _mode = ENC_MODE_CBC)
inlineexplicit

Constructor.

Parameters
_modeThe encryption mode. Default is CBC.

Member Function Documentation

◆ getBlockSize()

unsigned char logicalaccess::openssl::DESCipher::getBlockSize ( ) const
overridevirtual

◆ getEVPCipher()

const EVP_CIPHER * logicalaccess::openssl::DESCipher::getEVPCipher ( const SymmetricKey key) const
overrideprotectedvirtual

Get the openssl EVP cipher.

Parameters
keyThe key.
Returns
The EVP cipher.

Implements logicalaccess::openssl::OpenSSLSymmetricCipher.


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