COpenSSLLink Class Reference

#include <OpenSSLLink.h>

Inheritance diagram for COpenSSLLink:

CCryptoLink List of all members.

Public Member Functions

 COpenSSLLink ()
 COpenSSLLink (CWnd *pParent, CAlgorithmSheet *options)
virtual ~COpenSSLLink (void)
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 ProcessDES ()
bool ProcessDESX ()
bool ProcessBF ()
bool ProcessDES_EDE2 ()
bool ProcessDES_EDE3 ()
bool Process3DES ()
bool ProcessIDEA ()
bool ProcessAES ()
void setParameterKey ()
void setParameterIV ()
unsigned int ReadBlock (ifstream *inFile, byte *inBlock, unsigned int blockSize)
void HashFileToFile (const char *infilename, const char *outfilename, string hash)
string HashFileToString (const char *filename, string hash)

Private Attributes

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

Detailed Description

Inherits from CCryptoLink and lets Kryptos interface with OpenSSL. This implementation is heavily based on the Crypto++ implementation.

Constructor & Destructor Documentation

COpenSSLLink::COpenSSLLink (  ) 

COpenSSLLink default constructor, initializes members to default

COpenSSLLink::COpenSSLLink ( CWnd *  pParent,
CAlgorithmSheet *  options 

COpenSSLLink constructor, with window parameters passed

COpenSSLLink::~COpenSSLLink ( void   )  [virtual]

COpenSSLLink destructor

Member Function Documentation


void COpenSSLLink::ProcessMACVer (  )  [virtual]

ProcessMACVer - Handle MAC verification -- not currently implemented

Implements CCryptoLink.

void COpenSSLLink::ProcessMACGen (  )  [virtual]

ProcessMACGen - Handle MAC generation -- not currently implemented

Implements CCryptoLink.

void COpenSSLLink::ProcessHash (  )  [virtual]

ProcessHash - Hash generation

Implements CCryptoLink.

void COpenSSLLink::ProcessHashVerify (  )  [virtual]

ProcessHashVerify - Hash verification

Implements CCryptoLink.

bool COpenSSLLink::processVerify (  )  [virtual]

processVerify() - not yet implemented for OpenSSL

Implements CCryptoLink.

void COpenSSLLink::processSign (  )  [virtual]

processSign() - not yet implemented for OpenSSL

Implements CCryptoLink.

void COpenSSLLink::processPK (  )  [virtual]

processPK() - not yet implemented for OpenSSL

Implements CCryptoLink.

BOOL COpenSSLLink::processRequest ( DWORD  numPumps,
DWORD  sizePumps,
DWORD  lastPump 
) [virtual]

processRequest - determine what the user wants to do (ripped from 2.0 code)

Implements CCryptoLink.

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

ByteToHexString - convert bytes given into a printable string of hex

Implements CCryptoLink.

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

GetIV - randomly generate a IV

Implements CCryptoLink.

bool COpenSSLLink::ProcessDES (  )  [private]

ProcessDES - DES encryption and decryption

bool COpenSSLLink::ProcessDESX (  )  [private]

ProcessDESX - DESX encryption / decryption

bool COpenSSLLink::ProcessBF (  )  [private]

ProcessBF - handle Blowfish encryption / decryption

bool COpenSSLLink::ProcessDES_EDE2 (  )  [private]

ProcessDES_EDE2 - Handle TripleDES (2 key) encryption / decryption

bool COpenSSLLink::ProcessDES_EDE3 (  )  [private]

ProcessDES_EDE3 - Handle TripleDES (3 key) encryption / decryption

bool COpenSSLLink::Process3DES (  )  [private]

Process3DES, determine which keying of TripleDES we are using and call necessary routine

bool COpenSSLLink::ProcessIDEA (  )  [private]

ProcessIDEA - IDEA encryption / decryption

bool COpenSSLLink::ProcessAES (  )  [private]

ProcessAES() - Handle AES encryption / decryption

void COpenSSLLink::setParameterKey (  )  [private]

Set the key to the value given via the GUI

void COpenSSLLink::setParameterIV (  )  [private]

Set the IV

unsigned int COpenSSLLink::ReadBlock ( ifstream *  inFile,
byte *  inBlock,
unsigned int  blockSize 
) [private]

ReadBlock reads a single block from a file stream, returning the number of bytes read

void COpenSSLLink::HashFileToFile ( const char *  infilename,
const char *  outfilename,
string  hash 
) [private]

HashFileToFile - store the results of hashing infilename in file outfilename

string COpenSSLLink::HashFileToString ( const char *  filename,
string  hash 
) [private]

HashFileToString - has a file storing the hash in a string

Member Data Documentation

CAlgorithmSheet* COpenSSLLink::p_AlgorithmSheet [private]

Pointer to the algorithm sheet

CWnd* COpenSSLLink::m_pParent [private]

Pointer to the parent

BYTE* COpenSSLLink::m_iv [private]

A BYTE array for the IV

BYTE* COpenSSLLink::m_key [private]

A BYTE array for the key

int COpenSSLLink::m_operator [private]

int COpenSSLLink::m_operation [private]

BOOL COpenSSLLink::m_success [private]

DWORD COpenSSLLink::m_numPumps [private]

Cipher information

DWORD COpenSSLLink::m_sizePumps [private]

DWORD COpenSSLLink::m_lastPump [private]

int COpenSSLLink::m_symCipAlg [private]

Chosen algorithm

int COpenSSLLink::m_symCipKeySizeByte [private]

Chosen key size

int COpenSSLLink::m_symCipBlockSizeByte [private]

Chosen block size

int COpenSSLLink::m_rounds [private]

Chosen number of rounds

int COpenSSLLink::m_mode [private]

Chosen mode of operation

int COpenSSLLink::m_feedbackByte [private]

Chosen feedback size

CString COpenSSLLink::pathInFile [private]

Chosen in file

CString COpenSSLLink::pathOutFile [private]

Chosen out file

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