Data Structures | Defines | Typedefs | Functions

cipher.c File Reference

#include "wizard/studio.h"
#include "wizard/aes.h"
#include "wizard/cipher.h"
#include "wizard/exception.h"
#include "wizard/exception-private.h"
#include "wizard/memory_.h"
#include "wizard/random_.h"
#include "wizard/serpent.h"
#include "wizard/twofish.h"

Data Structures

struct  _CipherInfo

Defines

#define CipherRandomHash   SHA256Hash

Typedefs

typedef void(* DecipherBlock )(void *, const unsigned char *, const unsigned char *)
typedef void(*)(* EncipherBlock )(void *, const unsigned char *, const unsigned char *)

Functions

static StringInfoDecipherCTRMode (CipherInfo *, StringInfo *)
static StringInfo ** DecipherECBMode (CipherInfo *, StringInfo *)
static StringInfo *** DecipherOFBMode (CipherInfo *, StringInfo *)
static StringInfo **** EncipherCTRMode (CipherInfo *, StringInfo *)
static StringInfo ***** EncipherECBMode (CipherInfo *, StringInfo *)
static StringInfo ****** EncipherOFBMode (CipherInfo *, StringInfo *)
WizardExport CipherInfoAcquireCipherInfo (const CipherType cipher, const CipherMode mode)
static StringInfoDecipherCBCMode (CipherInfo *cipher_info, StringInfo *ciphertext)
static StringInfoDecipherCFBMode (CipherInfo *cipher_info, StringInfo *ciphertext)
WizardExport StringInfoDecryptCipher (CipherInfo *cipher_info, StringInfo *plaintext)
WizardExport StringInfoDecipherCipher (CipherInfo *cipher_info, StringInfo *ciphertext)
static void IncrementCipherNonce (const size_t length, unsigned char *nonce)
WizardExport CipherInfoDestroyCipherInfo (CipherInfo *cipher_info)
static StringInfoEncipherCBCMode (CipherInfo *cipher_info, StringInfo *plaintext)
static StringInfoEncipherCFBMode (CipherInfo *cipher_info, StringInfo *plaintext)
WizardExport StringInfoEncryptCipher (CipherInfo *cipher_info, StringInfo *plaintext)
WizardExport StringInfoEncipherCipher (CipherInfo *cipher_info, StringInfo *plaintext)
WizardExport size_t GetCipherBlocksize (const CipherInfo *cipher_info)
WizardExport StringInfoGenerateCipherNonce (CipherInfo *cipher_info)
WizardExport const StringInfoGetCipherNonce (CipherInfo *cipher_info)
WizardExport void ResetCipherNonce (CipherInfo *cipher_info)
WizardExport void SetCipherNonce (CipherInfo *cipher_info, const StringInfo *nonce)
WizardExport void SetCipherKey (CipherInfo *cipher_info, const StringInfo *key)

Define Documentation

#define CipherRandomHash   SHA256Hash

Referenced by AcquireCipherInfo().


Typedef Documentation

typedef void(* DecipherBlock)(void *, const unsigned char *, const unsigned char *)
typedef void(*)(* EncipherBlock)(void *, const unsigned char *, const unsigned char *)

Function Documentation

WizardExport CipherInfo* AcquireCipherInfo ( const CipherType  cipher,
const CipherMode  mode 
)
static StringInfo* DecipherCBCMode ( CipherInfo cipher_info,
StringInfo ciphertext 
) [static]
static StringInfo* DecipherCFBMode ( CipherInfo cipher_info,
StringInfo ciphertext 
) [static]
WizardExport StringInfo* DecipherCipher ( CipherInfo cipher_info,
StringInfo ciphertext 
)
static StringInfo * DecipherCTRMode ( CipherInfo cipher_info,
StringInfo ciphertext 
) [static]
static StringInfo * DecipherECBMode ( CipherInfo cipher_info,
StringInfo ciphertext 
)
static StringInfo * DecipherOFBMode ( CipherInfo cipher_info,
StringInfo ciphertext 
)
WizardExport StringInfo* DecryptCipher ( CipherInfo cipher_info,
StringInfo plaintext 
)

References DecipherCipher().

WizardExport CipherInfo* DestroyCipherInfo ( CipherInfo cipher_info  ) 
static StringInfo* EncipherCBCMode ( CipherInfo cipher_info,
StringInfo plaintext 
) [static]
static StringInfo* EncipherCFBMode ( CipherInfo cipher_info,
StringInfo plaintext 
) [static]
WizardExport StringInfo* EncipherCipher ( CipherInfo cipher_info,
StringInfo plaintext 
)
static StringInfo * EncipherCTRMode ( CipherInfo cipher_info,
StringInfo plaintext 
)
static StringInfo * EncipherECBMode ( CipherInfo cipher_info,
StringInfo plaintext 
)
static StringInfo * EncipherOFBMode ( CipherInfo cipher_info,
StringInfo plaintext 
)
WizardExport StringInfo* EncryptCipher ( CipherInfo cipher_info,
StringInfo plaintext 
)

References EncipherCipher().

WizardExport StringInfo* GenerateCipherNonce ( CipherInfo cipher_info  ) 
WizardExport size_t GetCipherBlocksize ( const CipherInfo cipher_info  ) 
WizardExport const StringInfo* GetCipherNonce ( CipherInfo cipher_info  ) 
static void IncrementCipherNonce ( const size_t  length,
unsigned char *  nonce 
) [inline, static]
WizardExport void ResetCipherNonce ( CipherInfo cipher_info  ) 
WizardExport void SetCipherKey ( CipherInfo cipher_info,
const StringInfo key 
)
WizardExport void SetCipherNonce ( CipherInfo cipher_info,
const StringInfo nonce 
)