Library: Crypto
Package: Cipher
Header: Poco/Crypto/CipherKeyImpl.h
Description
An implementation of the CipherKey class for OpenSSL's crypto library.
Inheritance
Direct Base Classes: Poco::RefCountedObject
All Base Classes: Poco::RefCountedObject
Member Summary
Member Functions: blockSize, cipher, getIV, getKey, ivSize, keySize, mode, name, setIV, setKey
Inherited Functions: duplicate, referenceCount, release
Types Aliases
ByteVec
using ByteVec = std::vector < unsigned char >;
Ptr
using Ptr = Poco::AutoPtr < CipherKeyImpl >;
Enumerations
Mode
Cipher mode of operation. This mode determines how multiple blocks are connected; this is essential to improve security.
Stream cipher
Electronic codebook (plain concatenation)
Cipher block chaining (default)
Cipher feedback
Output feedback
Counter mode
Galois/Counter mode
Counter with CBC-MAC
Constructors
CipherKeyImpl
CipherKeyImpl(
const std::string & name
);
Creates a new CipherKeyImpl object. Autoinitializes key and initialization vector.
CipherKeyImpl
CipherKeyImpl(
const std::string & name,
const ByteVec & key,
const ByteVec & iv
);
Creates a new CipherKeyImpl object, using the given cipher name, key and initialization vector.
CipherKeyImpl
CipherKeyImpl(
const std::string & name,
const std::string & passphrase,
const std::string & salt,
int iterationCount,
const std::string & digest
);
Creates a new CipherKeyImpl object, using the given cipher name, passphrase, salt value and iteration count.
Destructor
~CipherKeyImpl
virtual ~CipherKeyImpl();
Destroys the CipherKeyImpl.
Member Functions
blockSize
int blockSize() const;
Returns the block size of the Cipher.
cipher
const EVP_CIPHER * cipher();
Returns the cipher object
getIV
const ByteVec & getIV() const;
Returns the initialization vector (IV) for the Cipher.
getKey
const ByteVec & getKey() const;
Returns the key for the Cipher.
ivSize
int ivSize() const;
Returns the IV size of the Cipher.
keySize
int keySize() const;
Returns the key size of the Cipher.
mode
Mode mode() const;
Returns the Cipher's mode of operation.
name
const std::string & name() const;
Returns the name of the Cipher.
setIV
void setIV(
const ByteVec & iv
);
Sets the initialization vector (IV) for the Cipher.
setKey
void setKey(
const ByteVec & key
);
Sets the key for the Cipher.