tree checksum vpatch file split hunks

all signers: diana_coman

antecedents: eucrypt_ch13_smg_rng

press order:

eucrypt_genesisdiana_coman
eucrypt_ch8_bit_keccakdiana_coman
eucrypt_ch6_keccak_permutationsdiana_coman
eucrypt_ch7_keccak_spongediana_coman
eucrypt_ch9_keccak_endiannessdiana_coman
eucrypt_ch10_oaep_tmsrdiana_coman
eucrypt_oaep_fix_checksdiana_coman
eucrypt_ch11_serpentdiana_coman
ch1_mpidiana_coman
eucrypt_mpi_fix_copy_incrdiana_coman
ch2_truerandomdiana_coman
eucrypt_ch3_miller_rabindiana_coman
eucrypt_ch4_rpngdiana_coman
eucrypt_ch5_rsa_keysdiana_coman
eucrypt_ch12_wrapper_rsa_oaep_c_adadiana_coman
eucrypt_keccak_bitrate_fixdiana_coman
eucrypt_check_nreaddiana_coman
eucrypt_ch13_smg_rngdiana_coman
eucrypt_manifestdiana_coman

patch:

- AA729907E4754118467EFCBF8912694F0889F10D1A1406A142568D3B159C43EE5E11B44715F525D3B4C8B94FF90ECD0602BF627DAE800FF339BB8486D6EC4004
+ E605CCDF7FD99CF6D0ECFB72940D294E8ECA69440F4FB511C8873F9278B948DB601B5ECE8E9087D7870416BDDD0939F3B3F153FE5FF34297BE1B17538D8B277A
eucrypt/README
(1 . 4)(1 . 6)
5 This is the EuCrypt library that Eulora server (S.MG) uses for its communication needs.
6 This is the EuCrypt library that Eulora server (S.MG) uses for its communication needs. The manifest file lists the patches in order, as they were created.
7
8 If you propose a new patch to build on top of existing EuCrypt, add the corresponding line for it in the manifest file.
9
10 To compile the whole EuCrypt library, simply run in the eucrypt folder (the -O3 switch is needed for specifying optimisation level for Serpent - if you don't care about that, you can skip this switch):
11 gprbuild -O3
-
+ 55DAE077E4AADE75F7999B8EA93BB3177738444D809F95F8A5DE7BAC9A533A3FB9D75DC23C2F8DE7E6FAFB85AD190382E4A3E0C793B0DCEA192C9B7F8409CB14
eucrypt/manifest
(0 . 0)(1 . 21)
16 499320 eucrypt_genesis diana_coman Sets up the main structure of the Eucrypt library that includes the following main components: mpi, serpent, keccak, rsa.
17 499321 ch1_mpi diana_coman The MPI (big number arithmetics) component of Eucrypt, as extracted from GnuPG 1.4.10 by Stanislav Datskovskiy and with a further small snip of useless code.
18 499322 ch2_truerandom diana_coman Basic methods for obtaining random bits from an entropy source connected on an USB port. NB: this is CHANGED for the better by ch4 patch below (eucrypt_ch4_rpng), better press to that one at least!
19 500450 eucrypt_mpi_fix_copy_incr diana_coman Fixes a bug in mpi that caused MPN_COPY_INCR to do nothing at all.
20 501480 eucrypt_ch3_miller_rabin diana_coman The implementation of Miller-Rabin algorithm for testing whether a number is composite (not prime).
21 502600 eucrypt_ch4_rpng diana_coman True random prime number generator using all the above parts and pieces of Eucrypt (mpi, reading from the entropy source, miller-rabin).
22 503770 eucrypt_ch5_rsa_keys diana_coman Generating RSA key pairs according to TMSR RSA spec and simple use of such RSA key pairs to encrypt/decrypt a given input.
23 504900 eucrypt_ch6_keccak_permutations diana_coman First part of the Keccak implementation for Eucrypt: Ada implementation of the Keccak-f permutations and specifically the theta, rho, pi, chi and iota transformations of state used by Keccak-f permutations.
24 506110 eucrypt_ch7_keccak_sponge diana_coman Implementation in Ada of the Keccak "sponge" hashing method taking as input a stream of bits and giving as output another stream of bits.
25 507170 eucrypt_ch8_bit_keccak diana_coman Bit-level Ada implementation of Keccak meant as reference implementation (fully independent of endiannes but potentially significantly slower than almost any other implementation).
26 508300 eucrypt_ch9_keccak_endianness diana_coman Changes to previous Keccak implementation to ensure consistent output on little and bid endian iron. Specifically: input is always considered in little endian format and the implementation checks endianness at runtime, flipping the input octets when running on big endian iron.
27 509370 eucrypt_ch10_oaep_tmsr diana_coman Implementation of TMSR OAEP (optimal asymmetric encryption padding) using Keccak implementation above for hashing and TMSR schema for padding.
28 510140 eucrypt_oaep_fix_checks diana_coman Fix of error in previous OAEP module at how the max length of message is calculated.
29 510460 eucrypt_ch11_serpent diana_coman Implementation of Serpent blockcipher and automated testing using reference test data.
30 511540 eucrypt_ch12_wrapper_rsa_oaep_c_ada diana_coman A wrapper to use the previously implemented OAEP and RSA together, serving as convenience method and example of Eucrypt use + bringing Ada and C code together. Porting of *all* Eucrypt to GPR (GNAT's Project Manager) and away from Make, providing also support to compile Eucrypt as a whole or component by component, as desired.
31 511880 eucrypt_keccak_bitrate_fix diana_coman Fix for error in Keccak implementation that was causing failure on some bitrates.
32 513700 eucrypt_check_nread diana_coman Adds another check and loop to ensure that all Eucrypt has the same behaviour when requesting random bits: reject and discard any that are not exactly as many as required and simply keep trying in a loop until the required bits are obtained.
33 521090 eucrypt_ch13_smg_rng diana_coman Adds methods for obtaining random values directly from bits obtained from the entropy source. Following specific types are supported: unsigned int on 32 bits, unsigned int on 64 bits, dirty float between 0 and 1, float IEEE 754/1985 between 1 and 2.
34 527560 eucrypt_manifest diana_coman Adds this manifest file that should be modified each time a new patch is added to EuCrypt.
35
36