Il progetto consite nel realizzare un server che permetta multiple computazioni di impronte SHA-256.
Il tempo di calcolo per impronta è proporzionale al numero di byte dell’ingresso (ovvero il file), dipendente dalla piattaforma e dalla implementazione dell’algoritmo (∼1 secondo per 70 MB su laptop moderno nella implementazione OpenSSL, ∼1 secondo per 30 KB su MentOS in QEMU).
Successivamente va realizzato un client che invii l’informazione di file di input al server e riceva l’impronta risultante appena computata.
Il sistema richiede le librerie di sviluppo OpenSSL per il calcolo crittografico e CMake per la compilazione.
- macOS (via Homebrew):
brew install openssl cmake
- Ubuntu/Debian:
sudo apt update sudo apt install libssl-dev cmake build-essential
Per generare i file eseguibili del progetto, seguire i seguenti comandi:
mkdir build
cd build
cmake ..
make
Il sistema richieda l'apertura di terminali separati.
-
Terminale 1: avvio del server
./server
-
Terminale 2: invio richiesta
./client <path/nome_file>
-
Terminale 3 (opzionale): query cache
./cache_query
- Per fermare il server: Premere
CTRL+Cnel terminale del server. - Per pulire i file temporanei:
rm -rf build