summaryrefslogtreecommitdiffstats
path: root/crypto/rijndael/README
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/rijndael/README')
-rwxr-xr-xcrypto/rijndael/README84
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.