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 | |||
