CCryptoPPLink Class Reference

#include <CryptoPPLink.h>

Inheritance diagram for CCryptoPPLink:

CCryptoLink List of all members.

Public Member Functions

 CCryptoPPLink ()
 CCryptoPPLink (CWnd *parent, CAlgorithmSheet *options)
virtual ~CCryptoPPLink ()
void Serialize (CArchive &ar)
virtual void ProcessMACVer ()
virtual void ProcessMACGen ()
virtual void ProcessHash ()
virtual void ProcessHashVerify ()
virtual bool processVerify ()
virtual void processSign ()
virtual void processPK ()
virtual BOOL processRequest (DWORD numPumps, DWORD sizePumps, DWORD m_lastPump)
virtual string ByteToHexString (byte *out, int bytesize)
virtual byte * GetIV (int bytesize)

Private Member Functions

bool VerifyHMAC ()
void GenerateHMAC ()
bool VerifyMD5MAC ()
void GenerateMD5MAC ()
bool ProcessDES ()
bool ProcessDES_EDE2 ()
bool ProcessDES_EDE3 ()
bool Process3DES ()
bool ProcessIDEA ()
bool ProcessMARS ()
bool ProcessRC5 ()
bool ProcessRC6 ()
bool ProcessAES ()
bool ProcessSerpent ()
bool ProcessTwofish ()
bool processOCBEncrypt ()
bool processOCBDecrypt ()
void RsaDecryptRawCBC (char *seed, CString pathInFile, CString pathOutFile)
void RsaEncryptRawCBC (char *seed, CString pathInFile, CString pathOutFile)
void RsaDecryptRaw (char *seed, CString pathInFile, CString pathOutFile)
void RsaEncryptRaw (char *seed, CString pathInFile, CString pathOutFile)
bool ECPVerifyFile (CString pathInFile, CString pathOutFile)
bool EC2NVerifyFile (CString pathInFile, CString pathOutFile)
void EC2NSignFile (CString pathInFile, CString pathOutFile)
void ECPSignFile (CString pathInFile, CString pathOutFile)
bool DSAVerifyFile (CString pathInFile, CString pathOutFile)
void DSASignFile (CString pathInFile, CString pathOutFile)
string ByteToStr (byte *out, int bytesize)
void shiftright (byte *x, unsigned int n)
void shiftleft (byte *x, unsigned int n)
void MyOCBDecrypt (BlockCipher &Encryptor, BlockCipher &Decryptor, CString infile, CString outfile, const byte *iv)
void MyOCBEncrypt (BlockCipher &c, CString infile, CString outfile, const byte *iv)
RandomPool & GlobalRNG ()
template<class HashFunction>
string HashFileToString (const char *filename, HashFunction HASH)
template<class HashFunction>
void HashFileToFile (const char *infilename, const char *outfilename, HashFunction HASH)
template<class HashFunction>
string HashStringToString (const char *str, HashFunction HASH)
template<class STD>
void RSAEncryptFile (STD *s, const char *seed, const char *msgfilename, const char *cipherfilename)
template<class STD>
void RSAEncryptFileCBC (STD *s, const char *seed, const char *msgfilename, const char *cipherfilename)
template<class STD>
void RSADecryptFile (STD *s, const char *cipherfilename, const char *decipheredfilename)
template<class STD>
void RSADecryptFileCBC (STD *s, const char *cipherfilename, const char *decipheredfilename)
template<class STD>
bool RSAVerifyFile1 (STD *s, const char *messageFilename, const char *signatureFilename)
template<class STD>
void RSASignFile1 (STD *s, const char *messageFilename, const char *signatureFilename)
void setParameterKey ()
void setParameterIV ()
BOOL filterTransform ()
void MakePoly ()

Private Attributes

int m_operator
int m_operation
BOOL m_success
DWORD m_numPumps
DWORD m_sizePumps
DWORD m_lastPump
StreamTransformationFilter * cryptoStreamer
CAlgorithmSheet * p_AlgorithmSheet
CWnd * m_pParent
BYTE * m_iv
BYTE * m_key
int m_symCipAlg
int m_symCipKeySizeByte
int m_symCipBlockSizeByte
int m_rounds
int m_mode
int m_feedbackByte
CString pathInFile
CString pathOutFile
DWORD dwStart
DWORD dwFinish
bool m_no_blinding

Classes

class  NothingRng

Detailed Description

This is most of the original Crypto++ implementation from Kryptos 2.0. some functions were moved to CCryptoLink as they would be used by all implementations.


Constructor & Destructor Documentation

CCryptoPPLink::CCryptoPPLink (  ) 

CCryptoPPLink::CCryptoPPLink ( CWnd *  parent,
CAlgorithmSheet *  options 
)

CCryptoPPLink::~CCryptoPPLink (  )  [virtual]


Member Function Documentation

bool CCryptoPPLink::VerifyHMAC (  )  [private]

void CCryptoPPLink::GenerateHMAC (  )  [private]

bool CCryptoPPLink::VerifyMD5MAC (  )  [private]

void CCryptoPPLink::GenerateMD5MAC (  )  [private]

bool CCryptoPPLink::ProcessDES (  )  [private]

bool CCryptoPPLink::ProcessDES_EDE2 (  )  [private]

bool CCryptoPPLink::ProcessDES_EDE3 (  )  [private]

bool CCryptoPPLink::Process3DES (  )  [private]

bool CCryptoPPLink::ProcessIDEA (  )  [private]

bool CCryptoPPLink::ProcessMARS (  )  [private]

bool CCryptoPPLink::ProcessRC5 (  )  [private]

bool CCryptoPPLink::ProcessRC6 (  )  [private]

bool CCryptoPPLink::ProcessAES (  )  [private]

bool CCryptoPPLink::ProcessSerpent (  )  [private]

bool CCryptoPPLink::ProcessTwofish (  )  [private]

bool CCryptoPPLink::processOCBEncrypt (  )  [private]

bool CCryptoPPLink::processOCBDecrypt (  )  [private]

void CCryptoPPLink::RsaDecryptRawCBC ( char *  seed,
CString  pathInFile,
CString  pathOutFile 
) [private]

void CCryptoPPLink::RsaEncryptRawCBC ( char *  seed,
CString  pathInFile,
CString  pathOutFile 
) [private]

void CCryptoPPLink::RsaDecryptRaw ( char *  seed,
CString  pathInFile,
CString  pathOutFile 
) [private]

void CCryptoPPLink::RsaEncryptRaw ( char *  seed,
CString  pathInFile,
CString  pathOutFile 
) [private]

bool CCryptoPPLink::ECPVerifyFile ( CString  pathInFile,
CString  pathOutFile 
) [private]

bool CCryptoPPLink::EC2NVerifyFile ( CString  pathInFile,
CString  pathOutFile 
) [private]

void CCryptoPPLink::EC2NSignFile ( CString  pathInFile,
CString  pathOutFile 
) [private]

void CCryptoPPLink::ECPSignFile ( CString  pathInFile,
CString  pathOutFile 
) [private]

bool CCryptoPPLink::DSAVerifyFile ( CString  pathInFile,
CString  pathOutFile 
) [private]

void CCryptoPPLink::DSASignFile ( CString  pathInFile,
CString  pathOutFile 
) [private]

string CCryptoPPLink::ByteToStr ( byte *  out,
int  bytesize 
) [private]

void CCryptoPPLink::shiftright ( byte *  x,
unsigned int  n 
) [private]

void CCryptoPPLink::shiftleft ( byte *  x,
unsigned int  n 
) [private]

void CCryptoPPLink::MyOCBDecrypt ( BlockCipher &  Encryptor,
BlockCipher &  Decryptor,
CString  infile,
CString  outfile,
const byte *  iv 
) [private]

void CCryptoPPLink::MyOCBEncrypt ( BlockCipher &  c,
CString  infile,
CString  outfile,
const byte *  iv 
) [private]

RandomPool & CCryptoPPLink::GlobalRNG (  )  [private]

template<class HashFunction>
string CCryptoPPLink::HashFileToString ( const char *  filename,
HashFunction  HASH 
) [private]

template<class HashFunction>
void CCryptoPPLink::HashFileToFile ( const char *  infilename,
const char *  outfilename,
HashFunction  HASH 
) [private]

template<class HashFunction>
string CCryptoPPLink::HashStringToString ( const char *  str,
HashFunction  HASH 
) [private]

template<class STD>
void CCryptoPPLink::RSAEncryptFile ( STD *  s,
const char *  seed,
const char *  msgfilename,
const char *  cipherfilename 
) [private]

template<class STD>
void CCryptoPPLink::RSAEncryptFileCBC ( STD *  s,
const char *  seed,
const char *  msgfilename,
const char *  cipherfilename 
) [private]

template<class STD>
void CCryptoPPLink::RSADecryptFile ( STD *  s,
const char *  cipherfilename,
const char *  decipheredfilename 
) [private]

template<class STD>
void CCryptoPPLink::RSADecryptFileCBC ( STD *  s,
const char *  cipherfilename,
const char *  decipheredfilename 
) [private]

template<class STD>
bool CCryptoPPLink::RSAVerifyFile1 ( STD *  s,
const char *  messageFilename,
const char *  signatureFilename 
) [private]

template<class STD>
void CCryptoPPLink::RSASignFile1 ( STD *  s,
const char *  messageFilename,
const char *  signatureFilename 
) [private]

void CCryptoPPLink::setParameterKey (  )  [private]

void CCryptoPPLink::setParameterIV (  )  [private]

BOOL CCryptoPPLink::filterTransform (  )  [private]

void CCryptoPPLink::MakePoly (  )  [private]

void CCryptoPPLink::Serialize ( CArchive &  ar  ) 

void CCryptoPPLink::ProcessMACVer (  )  [virtual]

This function is called to verify MACs.

Implements CCryptoLink.

void CCryptoPPLink::ProcessMACGen (  )  [virtual]

This function is called to generate MACs.

Implements CCryptoLink.

void CCryptoPPLink::ProcessHash (  )  [virtual]

This function is called to generate Hashes.

Implements CCryptoLink.

void CCryptoPPLink::ProcessHashVerify (  )  [virtual]

This function is called to verify Hashes.

Implements CCryptoLink.

bool CCryptoPPLink::processVerify (  )  [virtual]

This function is called to verify digital signatures.

Returns:
A bool indicating the success of this operation.

Implements CCryptoLink.

void CCryptoPPLink::processSign (  )  [virtual]

This function is called to generate digital signatures.

Implements CCryptoLink.

void CCryptoPPLink::processPK (  )  [virtual]

This function is called to perform public key operations.

Implements CCryptoLink.

BOOL CCryptoPPLink::processRequest ( DWORD  numPumps,
DWORD  sizePumps,
DWORD  m_lastPump 
) [virtual]

This function is called to perform symmetric key operations.

Returns:
A BOOL indicating whether this operation was successful.

Implements CCryptoLink.

string CCryptoPPLink::ByteToHexString ( byte *  out,
int  bytesize 
) [virtual]

This function converts a series of bytes to a string of Hex digits.

Parameters:
out - the byte array to convert
bytesize - an int representing the size of the byte array
Returns:
A string of hex digits equivalent to the byte array.

Implements CCryptoLink.

byte * CCryptoPPLink::GetIV ( int  bytesize  )  [virtual]

This functions retrieves the IV.

Parameters:
bytesize - an int indicating how long the IV should be.
Returns:
A byte array containing the IV.

Implements CCryptoLink.


Member Data Documentation

int CCryptoPPLink::m_operator [private]

int CCryptoPPLink::m_operation [private]

BOOL CCryptoPPLink::m_success [private]

DWORD CCryptoPPLink::m_numPumps [private]

DWORD CCryptoPPLink::m_sizePumps [private]

DWORD CCryptoPPLink::m_lastPump [private]

StreamTransformationFilter* CCryptoPPLink::cryptoStreamer [private]

CAlgorithmSheet* CCryptoPPLink::p_AlgorithmSheet [private]

CWnd* CCryptoPPLink::m_pParent [private]

BYTE* CCryptoPPLink::m_iv [private]

BYTE* CCryptoPPLink::m_key [private]

int CCryptoPPLink::m_symCipAlg [private]

int CCryptoPPLink::m_symCipKeySizeByte [private]

int CCryptoPPLink::m_symCipBlockSizeByte [private]

int CCryptoPPLink::m_rounds [private]

int CCryptoPPLink::m_mode [private]

int CCryptoPPLink::m_feedbackByte [private]

CString CCryptoPPLink::pathInFile [private]

CString CCryptoPPLink::pathOutFile [private]

DWORD CCryptoPPLink::dwStart [private]

DWORD CCryptoPPLink::dwFinish [private]

bool CCryptoPPLink::m_no_blinding [private]


The documentation for this class was generated from the following files:
Generated on Sun Dec 17 14:54:16 2006 for Kryptos by  doxygen 1.5.1-p1