diff options
Diffstat (limited to 'src/lib/libcrypto/rijndael/README')
-rw-r--r-- | src/lib/libcrypto/rijndael/README | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/lib/libcrypto/rijndael/README b/src/lib/libcrypto/rijndael/README new file mode 100644 index 0000000000..1118ccbad8 --- /dev/null +++ b/src/lib/libcrypto/rijndael/README | |||
@@ -0,0 +1,80 @@ | |||
1 | Optimised ANSI C code for the Rijndael cipher (now AES) | ||
2 | |||
3 | Authors: | ||
4 | Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be> | ||
5 | Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be> | ||
6 | Paulo Barreto <paulo.barreto@terra.com.br> | ||
7 | |||
8 | All code contained in this distributed is placed in the public domain. | ||
9 | |||
10 | ======================================================================== | ||
11 | |||
12 | Disclaimer: | ||
13 | |||
14 | THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | ||
15 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
16 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
17 | ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | ||
18 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
19 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
20 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | ||
21 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||
22 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | ||
23 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
24 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
25 | |||
26 | ======================================================================== | ||
27 | |||
28 | Acknowledgements: | ||
29 | |||
30 | We are deeply indebted to the following people for their bug reports, | ||
31 | fixes, and improvement suggestions to the API implementation. Though we | ||
32 | tried to list all contributions, we apologise in advance for any | ||
33 | missing reference: | ||
34 | |||
35 | Andrew Bales <Andrew.Bales@Honeywell.com> | ||
36 | Markus Friedl <markus.friedl@informatik.uni-erlangen.de> | ||
37 | John Skodon <skodonj@webquill.com> | ||
38 | |||
39 | ======================================================================== | ||
40 | |||
41 | Description: | ||
42 | |||
43 | This optimised implementation of Rijndael is noticeably faster than the | ||
44 | previous versions on Intel processors under Win32 w/ MSVC 6.0. On the | ||
45 | same processor under Linux w/ gcc-2.95.2, the key setup is also | ||
46 | considerably faster, but normal encryption/decryption is only marginally | ||
47 | faster. | ||
48 | |||
49 | To enable full loop unrolling for encryption/decryption, define the | ||
50 | conditional compilation directive FULL_UNROLL. This may help increase | ||
51 | performance or not, depending on the platform. | ||
52 | |||
53 | To compute the intermediate value tests, define the conditional | ||
54 | compilation directive INTERMEDIATE_VALUE_KAT. It may be worthwhile to | ||
55 | define the TRACE_KAT_MCT directive too, which provides useful progress | ||
56 | information during the generation of the KAT and MCT sets. | ||
57 | |||
58 | ======================================================================== | ||
59 | |||
60 | Contents: | ||
61 | |||
62 | README This file | ||
63 | rijndael-alg-fst.c The algorithm implementation. | ||
64 | rijndael-alg-fst.h The corresponding header file. | ||
65 | rijndael-api-fst.c NIST's implementation. | ||
66 | rijndael-api-fst.h The corresponding header file. | ||
67 | rijndael-test-fst.c A simple program to generate test vectors. | ||
68 | table.128 Data for the table tests and 128-bit keys. | ||
69 | table.192 Data for the table tests and 192-bit keys. | ||
70 | table.256 Data for the table tests and 256-bit keys. | ||
71 | fips-test-vectors.txt Key schedule and ciphertext intermediate values | ||
72 | (reduced set proposed for FIPS inclusion). | ||
73 | Makefile A sample makefile; may need some changes, | ||
74 | depending on the C compiler used. | ||
75 | |||
76 | N.B. Both the API implementation and the provisional reduced set of | ||
77 | test vectors are likely to change, according to NIST's final decision | ||
78 | regarding modes of operation and the FIPS contents. They are therefore | ||
79 | marked as "version 2.9" rather than "version 3.0". | ||
80 | |||