This is the EuCrypt library that Eulora server (S.MG) uses for its communication needs. 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): gprbuild -O3 To cleanup (recursively), simply run in the eucrypt folder: gprclean -r To understand EuCrypt, start from http://www.dianacoman.com/2017/12/07/introducing-eucrypt/ Components: 1. mpi Arbitrary length integers and operations. Implemented in C. 2. smg_bit_keccak Bit-level implementation of the Keccak sponge according to The Keccak Reference v 3.0. Implemented in Ada. 3. smg_keccak Word (64 bits) level implementation of the Keccak sponge according to The Keccak Reference v 3.0. Implemented in Ada. 4. smg_serpent Serpent hash method. Implemented in Ada. 5. smg_rsa RSA implementation using TMSR specification. Implemented in C.