UCommon
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends
ucommon::Cipher::Key Class Reference

Cipher key formed by hash algorithm. More...

#include <secure.h>

Public Member Functions

void assign (const char *key, size_t size, const uint8_t *salt, unsigned rounds)
 
void assign (const char *key, size_t size=0)
 
secure::string b64 (void)
 
void b64 (const char *string)
 
void clear (void)
 
size_t get (uint8_t *key, uint8_t *ivout=NULL)
 
size_t iosize (void) const
 
secure::keybytes iv ()
 
 Key (const char *cipher, const char *digest, const char *text, size_t size=0, const uint8_t *salt=NULL, unsigned rounds=1)
 
 Key (const char *cipher, const uint8_t *iv, size_t ivsize)
 
 Key (const char *cipher, secure::keybytes &iv)
 
 Key (const char *cipher, const char *digest)
 
secure::keybytes key ()
 
 operator bool () const
 
bool operator! () const
 
bool operator!= (const Key &other) const
 
Keyoperator= (const char *pass)
 
bool operator== (const Key &other) const
 
void set (const uint8_t *key, size_t size)
 
bool set (const secure::keybytes &key)
 
void set (const char *cipher, const char *digest)
 
void set (const char *cipher, const uint8_t *iv, size_t ivsize)
 
bool set (const char *cipher, const secure::keybytes &iv)
 
size_t size (void) const
 

Static Public Member Functions

static void options (const uint8_t *salt=NULL, unsigned rounds=1)
 

Protected Member Functions

 Key (const char *ciper)
 
void set (const char *cipher)
 

Protected Attributes

union {
   int   algoid
 
   const void *   algotype
 
}; 
 
union {
   int   hashid
 
   const void *   hashtype
 
}; 
 
size_t blksize
 
uint8_t ivbuf [512/8]
 
uint8_t keybuf [512/8]
 
size_t keysize
 
int modeid
 

Friends

class Cipher
 

Detailed Description

Cipher key formed by hash algorithm.

This can generate both a key and iv table based on the algorithms used and required. Normally it is used from a pass-phrase, though any block of data may be supplied.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Examples
cipher.cpp.

Definition at line 301 of file secure.h.


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