Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

dsCypher.h File Reference

#include <string.h>
#include <iostream>

Go to the source code of this file.


class  dsBlockCypher
class  dsCryptoBase
class  dsCryptoHash
class  dsCypher


#define dsCypher_SECTION


typedef unsigned long dsCypher_word32_t
typedef unsigned short dsCypher_word16_t
typedef unsigned char dsCypher_byte_t

Define Documentation

#define dsCypher_SECTION

Typedef Documentation

typedef unsigned char dsCypher_byte_t

typedef unsigned short dsCypher_word16_t

typedef unsigned long dsCypher_word32_t

This is abstract base class for cypher algorithms included to libdms4

I'm not inteneded to repeat famouse work of Eric Young and openssl team.

My goal is just to provide easy and convenient way to add encryption to your projects with minimum time and code overhead.

All algorithms included into libdms was not writen from scratch, but lots of adaptation, portablility and cleanup work has done. It allow me to call it my own implementation. Original sources is always listed in header of apropriate include file.

libdms4 crypto part include implementation of two most popular secure hash functions - md5 and sha1 and two symmetric cypher algorithms with different targeting: blowfish - fastest and most analised cypher, but with huge precompiled S_BOX table and significant key change cost. rc6 - one of five finalist of AES submission process, has minimal memory requirements with resonable speed.

Stream oriented (OFB) mode provided for each cypher, - encryption algorithm used to provide stream of bytes and than original messages XOR'ed with this stream. This method of less secure than ususal block-by-block (CBC) operations but it allow easy encrypt/decrypt arbitrary length data, and still secure enough for most of real life projects.

Generated on Mon May 16 18:26:58 2005 for libdms4 by doxygen1.3-rc2