|
WizardsToolkit
1.0.7
|
#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"
Go to the source code of this file.
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 StringInfo * | DecipherCTRMode (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 CipherInfo * | AcquireCipherInfo (const CipherType cipher, const CipherMode mode) |
| static StringInfo * | DecipherCBCMode (CipherInfo *cipher_info, StringInfo *ciphertext) |
| static StringInfo * | DecipherCFBMode (CipherInfo *cipher_info, StringInfo *ciphertext) |
| WizardExport StringInfo * | DecryptCipher (CipherInfo *cipher_info, StringInfo *plaintext) |
| WizardExport StringInfo * | DecipherCipher (CipherInfo *cipher_info, StringInfo *ciphertext) |
| static void | IncrementCipherNonce (const size_t length, unsigned char *nonce) |
| WizardExport CipherInfo * | DestroyCipherInfo (CipherInfo *cipher_info) |
| static StringInfo * | EncipherCBCMode (CipherInfo *cipher_info, StringInfo *plaintext) |
| static StringInfo * | EncipherCFBMode (CipherInfo *cipher_info, StringInfo *plaintext) |
| WizardExport StringInfo * | EncryptCipher (CipherInfo *cipher_info, StringInfo *plaintext) |
| WizardExport StringInfo * | EncipherCipher (CipherInfo *cipher_info, StringInfo *plaintext) |
| WizardExport size_t | GetCipherBlocksize (const CipherInfo *cipher_info) |
| WizardExport StringInfo * | GenerateCipherNonce (CipherInfo *cipher_info) |
| WizardExport const StringInfo * | GetCipherNonce (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 CipherRandomHash SHA256Hash |
Definition at line 55 of file cipher.c.
Referenced by AcquireCipherInfo().
| typedef void(* DecipherBlock)(void *, const unsigned char *, const unsigned char *) |
| typedef void(*)(* EncipherBlock)(void *, const unsigned char *, const unsigned char *) |
| WizardExport CipherInfo* AcquireCipherInfo | ( | const CipherType | cipher, |
| const CipherMode | mode | ||
| ) |
Definition at line 133 of file cipher.c.
References AcquireWizardMemory(), ThrowWizardFatalError, CipherDomain, MemoryError, ResetWizardMemory(), _CipherInfo::cipher, AESCipher, AcquireAESInfo(), _CipherInfo::handle, _CipherInfo::blocksize, GetAESBlocksize(), _CipherInfo::decipher_block, DecipherAESBlock(), _CipherInfo::encipher_block, EncipherAESBlock(), SerpentCipher, AcquireSerpentInfo(), GetSerpentBlocksize(), DecipherSerpentBlock(), EncipherSerpentBlock(), TwofishCipher, AcquireTwofishInfo(), GetTwofishBlocksize(), DecipherTwofishBlock(), EncipherTwofishBlock(), EnumerateError, _CipherInfo::mode, _CipherInfo::nonce, DestroyStringInfo(), _CipherInfo::random_info, AcquireRandomInfo(), CipherRandomHash, _CipherInfo::timestamp, _CipherInfo::signature, WizardSignature, and GenerateCipherNonce().
Referenced by AcquireKeyInfo(), and AcquireSecretInfo().
| static StringInfo* DecipherCBCMode | ( | CipherInfo * | cipher_info, |
| StringInfo * | ciphertext | ||
| ) | [static] |
Definition at line 224 of file cipher.c.
References MaxCipherBlocksize, LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::blocksize, GetStringInfoDatum(), _CipherInfo::nonce, GetStringInfoLength(), _CipherInfo::decipher_block, _CipherInfo::handle, and ResetWizardMemory().
Referenced by DecipherCipher().
| static StringInfo* DecipherCFBMode | ( | CipherInfo * | cipher_info, |
| StringInfo * | ciphertext | ||
| ) | [static] |
Definition at line 306 of file cipher.c.
References MaxCipherBlocksize, LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::blocksize, GetStringInfoDatum(), _CipherInfo::nonce, GetStringInfoLength(), _CipherInfo::encipher_block, _CipherInfo::handle, and ResetWizardMemory().
Referenced by DecipherCipher().
| WizardExport StringInfo* DecipherCipher | ( | CipherInfo * | cipher_info, |
| StringInfo * | ciphertext | ||
| ) |
Definition at line 391 of file cipher.c.
References LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::mode, CBCMode, DecipherCBCMode(), CFBMode, DecipherCFBMode(), CTRMode, DecipherCTRMode(), ECBMode, DecipherECBMode(), OFBMode, DecipherOFBMode(), ThrowWizardFatalError, and EnumerateError.
Referenced by DecryptCipher(), GetKeyInfo(), and AuthenticateSecretKey().
| static StringInfo * DecipherCTRMode | ( | CipherInfo * | cipher_info, |
| StringInfo * | ciphertext | ||
| ) | [static] |
Definition at line 483 of file cipher.c.
References MaxCipherBlocksize, LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::blocksize, GetStringInfoDatum(), _CipherInfo::nonce, GetStringInfoLength(), _CipherInfo::encipher_block, _CipherInfo::handle, IncrementCipherNonce(), and ResetWizardMemory().
Referenced by DecipherCipher().
| static StringInfo * DecipherECBMode | ( | CipherInfo * | cipher_info, |
| StringInfo * | ciphertext | ||
| ) |
Definition at line 562 of file cipher.c.
References LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::blocksize, MaxCipherBlocksize, GetStringInfoDatum(), GetStringInfoLength(), _CipherInfo::decipher_block, and _CipherInfo::handle.
Referenced by DecipherCipher().
| static StringInfo * DecipherOFBMode | ( | CipherInfo * | cipher_info, |
| StringInfo * | ciphertext | ||
| ) |
Definition at line 621 of file cipher.c.
References MaxCipherBlocksize, LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::blocksize, GetStringInfoDatum(), _CipherInfo::nonce, GetStringInfoLength(), _CipherInfo::encipher_block, _CipherInfo::handle, and ResetWizardMemory().
Referenced by DecipherCipher().
| WizardExport StringInfo* DecryptCipher | ( | CipherInfo * | cipher_info, |
| StringInfo * | plaintext | ||
| ) |
Definition at line 385 of file cipher.c.
References DecipherCipher().
| WizardExport CipherInfo* DestroyCipherInfo | ( | CipherInfo * | cipher_info | ) |
Definition at line 689 of file cipher.c.
References LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::handle, _CipherInfo::cipher, AESCipher, DestroyAESInfo(), SerpentCipher, DestroySerpentInfo(), TwofishCipher, DestroyTwofishInfo(), ThrowWizardFatalError, EnumerateError, _CipherInfo::nonce, DestroyStringInfo(), _CipherInfo::random_info, DestroyRandomInfo(), and RelinquishWizardMemory().
Referenced by DestroyKeyInfo(), and DestroySecretInfo().
| static StringInfo* EncipherCBCMode | ( | CipherInfo * | cipher_info, |
| StringInfo * | plaintext | ||
| ) | [static] |
Definition at line 755 of file cipher.c.
References MaxCipherBlocksize, LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::blocksize, GetStringInfoDatum(), _CipherInfo::nonce, GetStringInfoLength(), SetRandomKey(), _CipherInfo::random_info, _CipherInfo::encipher_block, _CipherInfo::handle, and ResetWizardMemory().
Referenced by EncipherCipher().
| static StringInfo* EncipherCFBMode | ( | CipherInfo * | cipher_info, |
| StringInfo * | plaintext | ||
| ) | [static] |
Definition at line 839 of file cipher.c.
References MaxCipherBlocksize, LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::blocksize, GetStringInfoDatum(), _CipherInfo::nonce, GetStringInfoLength(), _CipherInfo::encipher_block, _CipherInfo::handle, and ResetWizardMemory().
Referenced by EncipherCipher().
| WizardExport StringInfo* EncipherCipher | ( | CipherInfo * | cipher_info, |
| StringInfo * | plaintext | ||
| ) |
Definition at line 924 of file cipher.c.
References LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::mode, CBCMode, EncipherCBCMode(), CFBMode, EncipherCFBMode(), CTRMode, EncipherCTRMode(), ECBMode, EncipherECBMode(), OFBMode, EncipherOFBMode(), ThrowWizardFatalError, and EnumerateError.
Referenced by EncryptCipher(), SetKeyInfo(), and GenerateSecretKey().
| static StringInfo * EncipherCTRMode | ( | CipherInfo * | cipher_info, |
| StringInfo * | plaintext | ||
| ) |
Definition at line 1000 of file cipher.c.
References MaxCipherBlocksize, LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::blocksize, GetStringInfoDatum(), _CipherInfo::nonce, GetStringInfoLength(), SetRandomKey(), _CipherInfo::random_info, _CipherInfo::encipher_block, _CipherInfo::handle, IncrementCipherNonce(), and ResetWizardMemory().
Referenced by EncipherCipher().
| static StringInfo * EncipherECBMode | ( | CipherInfo * | cipher_info, |
| StringInfo * | plaintext | ||
| ) |
Definition at line 1085 of file cipher.c.
References LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::blocksize, MaxCipherBlocksize, GetStringInfoDatum(), GetStringInfoLength(), SetRandomKey(), _CipherInfo::random_info, _CipherInfo::encipher_block, and _CipherInfo::handle.
Referenced by EncipherCipher().
| static StringInfo * EncipherOFBMode | ( | CipherInfo * | cipher_info, |
| StringInfo * | plaintext | ||
| ) |
Definition at line 1150 of file cipher.c.
References MaxCipherBlocksize, LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::blocksize, GetStringInfoDatum(), _CipherInfo::nonce, GetStringInfoLength(), SetRandomKey(), _CipherInfo::random_info, _CipherInfo::encipher_block, _CipherInfo::handle, and ResetWizardMemory().
Referenced by EncipherCipher().
| WizardExport StringInfo* EncryptCipher | ( | CipherInfo * | cipher_info, |
| StringInfo * | plaintext | ||
| ) |
Definition at line 918 of file cipher.c.
References EncipherCipher().
| WizardExport StringInfo* GenerateCipherNonce | ( | CipherInfo * | cipher_info | ) |
Definition at line 1254 of file cipher.c.
References LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::mode, CBCMode, CFBMode, ECBMode, OFBMode, GetRandomKey(), _CipherInfo::random_info, _CipherInfo::blocksize, CTRMode, AcquireStringInfo(), ResetStringInfo(), SetRandomKey(), GetStringInfoDatum(), ThrowWizardFatalError, and EnumerateError.
Referenced by AcquireCipherInfo(), AcquireKeyInfo(), and AcquireSecretInfo().
| WizardExport size_t GetCipherBlocksize | ( | const CipherInfo * | cipher_info | ) |
Definition at line 1224 of file cipher.c.
References LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, and _CipherInfo::blocksize.
| WizardExport const StringInfo* GetCipherNonce | ( | CipherInfo * | cipher_info | ) |
Definition at line 1308 of file cipher.c.
References LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, and _CipherInfo::nonce.
| static void IncrementCipherNonce | ( | const size_t | length, |
| unsigned char * | nonce | ||
| ) | [inline, static] |
Definition at line 468 of file cipher.c.
References ThrowFatalException, and CipherFatalError.
Referenced by DecipherCTRMode(), and EncipherCTRMode().
| WizardExport void ResetCipherNonce | ( | CipherInfo * | cipher_info | ) |
Definition at line 1338 of file cipher.c.
References LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, ResetStringInfo(), and _CipherInfo::nonce.
| WizardExport void SetCipherKey | ( | CipherInfo * | cipher_info, |
| const StringInfo * | key | ||
| ) |
Definition at line 1405 of file cipher.c.
References LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, _CipherInfo::cipher, AESCipher, SetAESKey(), _CipherInfo::handle, SerpentCipher, SetSerpentKey(), TwofishCipher, SetTwofishKey(), ThrowWizardFatalError, and EnumerateError.
Referenced by GetKeyInfo(), SetKeyInfo(), AuthenticateSecretKey(), and GenerateSecretKey().
| WizardExport void SetCipherNonce | ( | CipherInfo * | cipher_info, |
| const StringInfo * | nonce | ||
| ) |
Definition at line 1370 of file cipher.c.
References LogWizardEvent(), TraceEvent, GetWizardModule, WizardAssert, CipherDomain, _CipherInfo::signature, WizardSignature, SetStringInfo(), and _CipherInfo::nonce.
Referenced by GetKeyInfo(), SetKeyInfo(), AuthenticateSecretKey(), and GenerateSecretKey().