#include <sapphire.h>
Inheritance diagram for SapphireDecryption:
Definition at line 67 of file sapphire.h.
Public Types | |
Public Member Functions | |
SapphireDecryption (const byte *userKey, unsigned int keyLength=DEFAULT_KEYLENGTH) | |
byte | ProcessByte (byte b) |
implemented as {ProcessData(&input, &input, 1); return input;} | |
void | ProcessString (byte *outString, const byte *inString, unsigned int length) |
same as ProcessData(outString, inString, length) | |
void | ProcessString (byte *inoutString, unsigned int length) |
same as ProcessData(inoutString, inoutString, length) | |
StreamTransformation & | Ref () |
return a reference to this object, | |
virtual unsigned int | MandatoryBlockSize () const |
returns block size, if input must be processed in blocks, otherwise 1 | |
virtual unsigned int | OptimalBlockSize () const |
returns the input block size that is most efficient for this cipher | |
virtual unsigned int | GetOptimalBlockSizeUsed () const |
returns how much of the current block is used up | |
virtual unsigned int | OptimalDataAlignment () const |
returns how input should be aligned for optimal performance | |
virtual void | ProcessData (byte *outString, const byte *inString, unsigned int length)=0 |
encrypt or decrypt an array of bytes of specified length | |
virtual void | ProcessLastBlock (byte *outString, const byte *inString, unsigned int length) |
for ciphers where the last block of data is special, encrypt or decrypt the last block of data | |
virtual unsigned int | MinLastBlockSize () const |
returns the minimum size of the last block, 0 indicating the last block is not special | |
virtual bool | IsRandomAccess () const =0 |
returns whether this cipher supports random access | |
virtual void | Seek (dword n) |
for random access ciphers, seek to an absolute position | |
virtual bool | IsSelfInverting () const =0 |
returns whether this transformation is self-inverting (e.g. xor with a keystream) | |
virtual bool | IsForwardTransformation () const =0 |
returns whether this is an encryption object | |
virtual std::string | AlgorithmName () const |
returns name of this algorithm, not universally implemented yet | |
virtual Clonable * | Clone () const |
this is not implemented by most classes yet | |
Static Public Member Functions | |
unsigned int | StaticGetValidKeyLength (unsigned int n) |
Protected Member Functions | |
void | ShuffleCards () |
Protected Attributes | |
SecByteBlock | cards |
byte | rotor |
byte | ratchet |
byte | avalanche |
byte | last_plain |
byte | last_cipher |
|
return a reference to this object, This function is useful for passing a temporary StreamTransformation object to a function that takes a non-const reference. Definition at line 441 of file cryptlib.h. |
|
returns the input block size that is most efficient for this cipher
Definition at line 448 of file cryptlib.h. References StreamTransformation::MandatoryBlockSize(). |
|
encrypt or decrypt an array of bytes of specified length
Implemented in ARC4_Base, and PublicBlumBlumShub. Referenced by StreamTransformation::ProcessLastBlock(). |
|
for ciphers where the last block of data is special, encrypt or decrypt the last block of data For now the only use of this function is for CBC-CTS mode. Definition at line 73 of file cryptlib.cpp. References StreamTransformation::MandatoryBlockSize(), StreamTransformation::MinLastBlockSize(), StreamTransformation::ProcessData(), and StreamTransformation::ProcessLastBlock(). Referenced by StreamTransformation::ProcessLastBlock(). |