tree checksum vpatch file split hunks

all signers: diana_coman

antecedents: eucrypt_ch12_wrapper_rsa_oaep_c_ada eucrypt_manifest

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
eucrypt_fix_256diana_coman

patch:

- 55DAE077E4AADE75F7999B8EA93BB3177738444D809F95F8A5DE7BAC9A533A3FB9D75DC23C2F8DE7E6FAFB85AD190382E4A3E0C793B0DCEA192C9B7F8409CB14
+ 36DD3853F41604790D69B6DB28D86933A068B0F5D64CF2224E7FD3371497E21A92B0DBB84E4367B112C55F57F35A6EC076A8E04729EA7FD8F87BBD79D846C95D
eucrypt/manifest
(17 . 5)(17 . 5)
5 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.
6 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.
7 527560 eucrypt_manifest diana_coman Adds this manifest file that should be modified each time a new patch is added to EuCrypt.
8
9 543780 eucrypt_fix_256 diana_coman Fix the error in smg_oaep.adb that used 255 instead of 256 when calculating/retrieving length stored on 2 octets.
10
- FA02CB033AD63404D8E721C3EEABCF7775E42B1553CFD3E07D6F91FC67E307AC2DD754FB4009F56CE7C38B62AA32564EC309DFD69C4ECF09CF8DB46742390C00
+ AB9FD79FE71C8BA5C6015B658E2FB609449DDF8C717A0C97C3BA88E7B7C7E8172C00D93637F7697F7D040615854F6FA5865BA04AB3AEA90B33CDF129F4F5589E
eucrypt/smg_keccak/smg_oaep.adb
(140 . 8)(140 . 8)
15 M00( M00'First ) := Entropy( Entropy'First );
16
17 -- next 2 octets hold the used length of Msg (number of octets)
18 M00( M00'First + 2) := Character'Val( ( MsgLen * 8 ) mod 255 );
19 M00( M00'First + 1) := Character'Val( ( (MsgLen * 8 ) / 255 ) mod 255 );
20 M00( M00'First + 2) := Character'Val( ( MsgLen * 8 ) mod 256 );
21 M00( M00'First + 1) := Character'Val( ( (MsgLen * 8 ) / 256 ) mod 256 );
22
23 -- next 8 octets are reserved for later use, currently "TMSR-RSA"
24 M00( M00'First + 3 .. M00'First + 10 ) := TMSR;
(268 . 7)(268 . 7)
26 XOR_Strings( X, HashR, M );
27
28 -- step 4: extract length and message
29 Len := Character'Pos( M( M'First + 1 ) ) * 255 +
30 Len := Character'Pos( M( M'First + 1 ) ) * 256 +
31 Character'Pos( M( M'First + 2 ) );
32 LenOctets := Len / 8;
33