Atunci când o aplicație stochează sau transferă date, trebuie să asigure confidențialitatea și integritatea acestora: prevenirea unui agent neautorizat să acceseze și să modifice datele. Confidențialitatea și integritatea sunt asigurate prin primitive criptografice. În general există biblioteci criptografice care implementează algoritmi cunoscuți criptografici. Este recomandată folosirea acestor biblioteci față de o implementare proprie care poate avea probleme.
Arhiva de suport pentru exerciții se găsește aici. Descărcați arhiva și apoi decomprimați-o folosind comenzile:
wget http://koala.cs.pub.ro/training/res/secure-low-level-programming/arc/12-criptare-in-programare-skel.zip unzip 12-criptare-in-programare-skel.zip cd 12-criptare-in-programare-skel/
Accesăm directorul openssl/
din arhiva de suport.
Urmăriți conținutul fișierului prog.c
și rulați executabilul prog
. Programul face criptarea și decriptarea unui text folosind un mesaj și o cheie predefinită. Programul folosește implementarea AES (Advanced Encryption Standard) din biblioteca OpenSSL (linkată în Makefile
cu opțiunea -lcrypto
).