MaraDNS/rng
2022-11-11 20:14:36 -08:00
..
make_32bit_tables.c Adding MaraDNS to Github 2014-11-17 18:27:10 -08:00
Makefile Makefile doover: No more - in targets 2022-10-30 17:28:47 -07:00
Makefile.crossCompile Add cross-compiling Makefile for rng/ 2022-10-31 10:20:15 -07:00
readme Adding MaraDNS to Github 2014-11-17 18:27:10 -08:00
README.maradns Adding MaraDNS to Github 2014-11-17 18:27:10 -08:00
rng32bittables.h Undo non-Deadwood.exe changes done by Win32 build process 2022-11-11 20:14:36 -08:00
rngalgfst.c Makefile doover: No more - in targets 2022-10-30 17:28:47 -07:00
rngalgfst.h Makefile doover: No more - in targets 2022-10-30 17:28:47 -07:00
rngapifst.c More fixing of makefiles to not have - in targets 2022-10-30 17:29:44 -07:00
rngapifst.h Makefile doover: No more - in targets 2022-10-30 17:28:47 -07:00

[Note that I have made some modifications to the code; read
 README.maradns.  In particular, this is no longer Rijndael, but
 a hash-only Rijndael variant.]

Optimised ANSI C code for the Rijndael cipher (now AES)

Authors:
    Vincent Rijmen <[email protected]>
    Antoon Bosselaers <[email protected]>
    Paulo Barreto <[email protected]>

All code contained in this distributed is placed in the public domain.

========================================================================

Disclaimer:

THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS 
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE 
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 

========================================================================

Acknowledgements:

We are deeply indebted to the following people for their bug reports,
fixes, and improvement suggestions to the API implementation. Though we
tried to list all contributions, we apologise in advance for any
missing reference:

Andrew Bales <[email protected]>
Markus Friedl <[email protected]>
John Skodon <[email protected]>

========================================================================

Description:

This optimised implementation of Rijndael is noticeably faster than the
previous versions on Intel processors under Win32 w/ MSVC 6.0.  On the
same processor under Linux w/ gcc-2.95.2, the key setup is also
considerably faster, but normal encryption/decryption is only marginally
faster.

To enable full loop unrolling for encryption/decryption, define the
conditional compilation directive FULL_UNROLL.  This may help increase
performance or not, depending on the platform.

To compute the intermediate value tests, define the conditional
compilation directive INTERMEDIATE_VALUE_KAT.  It may be worthwhile to
define the TRACE_KAT_MCT directive too, which provides useful progress
information during the generation of the KAT and MCT sets.

========================================================================

N.B. Both the API implementation and the provisional reduced set of
test vectors are likely to change, according to NIST's final decision
regarding modes of operation and the FIPS contents. They are therefore
marked as "version 2.9" rather than "version 3.0".