diff options
author | Richard Levitte <levitte@openssl.org> | 2000-10-14 20:09:54 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2000-10-14 20:09:54 +0000 |
commit | 3ab56511120b7a67ed4e4dbac9d60e5d1520a453 (patch) | |
tree | 399ad045f57838ba50a40a57f9834d7a98f6af4a /crypto/rijndael/README | |
parent | 82ce0b2308027b337f0d8bea973eca5f818aaceb (diff) |
The experimental Rijndael code moved to the main trunk.
make update done.
Diffstat (limited to 'crypto/rijndael/README')
-rwxr-xr-x | crypto/rijndael/README | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/crypto/rijndael/README b/crypto/rijndael/README new file mode 100755 index 0000000000..6d6f19fa49 --- /dev/null +++ b/crypto/rijndael/README @@ -0,0 +1,84 @@ +Rijndael +Joan Daemen + +Optimised ANSI C v2.4 +----------------------------------------------------------- + +This archive contains the following files: + +Makefile: A file that allows for easy compiling of the code with + Unix `make' (tested with GNU make). +README: This file. +boxes-fst.dat: Tables that are needed by the reference implementation. + The tables implement the S-box and its inverse, and also + some temporary tables needed for multiplying in the finite + field GF(2^8). +rijndael-alg-fst.c: +rijndael-alg-fst.h: + Algorithm implementation. +rijndael-api-fst.c: +rijndael-api-fst.h: + Interface to the C API. +rijndaeltest-fst.c: + Implementation of the KAT and MCT. +table.128: +table.192: +table.256: + Files needed for the KAT (for the Table Known Answer Test). + + + +Instructions for the KAT and MCT software: + +1) Compile the C code and put the executable in the same directory as the + table.??? files. +2) Run the executable. It generates all the tables in the NIST format. +3) Compare the generated tables with the original provided tables, e.g. + in Unix, with `diff'. +4) The code is independent of the ENDIANness of the machine. + However, the code casts char pointers to int pointers. + On some platforms, this casting can cause problems. + This will cause malfunctioning of the CBC Monte Carlo tests. + In this case, the compile parameter STRICT_ALIGN should be set to 1. + (Of course this results in slower code.) + + +Changes with respect to v1.0 (= round 1 submission) +--------------------------------------------------- + +1) Removed the parameter blockLen from makeKey() and cipherInit(). + The parameter is still present in the structures keyInstance and + cipherInstance. +2) Removed some calls to sscan(). +3) Corrected the CBC decryption Monte Carlo test code. +4) Provided code for platforms with pointer alignment problems. + +---------------------------------------------------------------------- + +Changes from v2.0 (= round 2 submission) +---------------------------------------- + +Various bug fixes in CBC encryption and decryption mode. + +---------------------------------------------------------------------- + +Changes from v2.2 +----------------- + +-- Moved number of rounds to the keyInstance structure + to make implementation thread-safe +-- Functions used only to generate the Intermediate Value + Known Answer Test are now conditionally compiled + via #define INTERMEDIATE_VALUE_KAT +-- Further optimized for the default 128-bit block size +-- Fixed CBC decryption bug (chained IV was lost if input + and outBuffer were the same) +-- Added padding capability to CBC mode (allows encryption + of any number of octets, not only full blocks) + +---------------------------------------------------------------------- + +Changes from v2.3 +----------------- + +Fixed a small bug in CBC mode. |