Boost logo

Boost :

From: Gerhard Wesp (gwesp_at_[hidden])
Date: 2001-04-28 07:58:35


Good afternoon,

I have an implementation of Rijndael, the new AES
(http://csrc.nist.gov/encryption/aes/) and would gladly contribute it to
boost if there is interest (and the necessary changes aren't too much
work :-).

Currently, the interface basically looks like:

 
struct rijndael {

  // 8 bit and 32 bit unsigned types; modify the definition if
  // necessary!

  typedef unsigned char byte ;
  typedef unsigned int word ;

  // block_length is in bits and must be 128, 192, or 256
  //
  // key.size() must be 16, 24, or 32, corresponding to 128, 192, or 256
  // key bits. The number of key bits is independent of the block
  // length!
  //
  // Note that in the AES draft standard as of March 2001, only 128 bit
  // data blocks are allowed.

  rijndael( unsigned block_length , std::vector< byte > const& key ) ;

  // the destructor clears sensitive data before releasing the memory

  ~rijndael() ;

  // encryption and decryption works with in-place buffers

  void encrypt( std::vector< byte >& buffer ) const ;
  void decrypt( std::vector< byte >& buffer ) const ;

  // ...

} ;

The implementation can be downloaded from my homepage,

  http://www.cosy.sbg.ac.at/~gwesp/

I'm looking forward to your comments!

best regards,
-g

-- 
Afgrnd der Ensparngsmassnhmen bei den Onlne-Kostn ist ab sfort in jedm Wrt
von mhr als dri Buchstabn mindestns ein Vkal wegzlassn.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk