Vytvorenú aplikáciu na šifrovanie súborov (zadanie 2) rozšírte tak, že vykonáte kontrolu integrity, prostredníctvom MAC alebo AEAD módu. Čiže mali by ste byť schopný overiť či došlo k modifikácii vášho zašifrovaného súboru. Na šifrovanie odporúčame použiť AES GCM alebo AES CCM mód.
Zároveň vygenerovaný symetrický kľuč K zašifrujete asymetricky a pripojíte k zašifrovanému súboru v rámci hlavičky/päty súboru s metadátami potrebnými k dešifrovaniu (pridáte aj informáciu na kontrolu integrity). Dbajte na to, aby ste vedeli skontrolovať aj integritu zašifrovaného súboru.
Takže aplikácia vygeneruje náhodný kľúč, ktorým plain text (alebo súbor) zašifrujete. Vygenerovaný AES kľúč zašifrujete RSA vereným kľúčom (verejny kľuč osoby kto má súbor dešifrovať) a priložíte do hlavičky zašifrovaného súboru. Do hlavičky priložíte aj ostatne údaje potrebné na dešifrovanie a kontrolu integrity.
Pri dešifrovaní osoba ktorému ste súbor poslali najskôr si prečíta informácie z hlavičky a vykoná kontrolu integrity. Ak súbor nie je poškodený, dešifruje pomocou RSA šifrovací kľuč uložený v hlavičke a pomocou dešifrovaného symetrického kľúča dešifruje súbor.
Bonus:
Na riešenie možete použit pristup, že si ukladanie a čitanie z-do hlavičky ošetrite sami, alebo využijete AEAD funkcionalitu. Tiež na kontrolu integrity mate možnosť použiť MAC, alebo AES GCM, AES CCM.
Pri použiti AEAD a AES GCM, AES CCM je možne udeliť bonusový bod.
Pokyny:
1. Využite existujúce kryptografické funkcie / API, nie však celé hotové cudzie riešenie.
2. Vyberte si jeden zo štandardných programovacích jazykov: Java, C, Python. V prílohe zadania sú odkazy na stránky, z ktorých sa dá odraziť pri tvorbe kryptografickej časti zadania.
Pozn.: Pri výbere šifrovacích funkcií a veľkosti kľúča, treba klasť dôraz aj bezpečnostné odporúčania ohľadne šifrovania.
Dôležité: Do AIS sa v stanovenom termíne (miesto odovzdania s názvom “Šifrovanie2”) odovzdáva zdrojový kód aplikácie (iba zdrojový kód), skompilovaný exe súbor, ukážkový zašifrovaný a dešifrovaný súbor s vygenerovanými klučovými pármi a dokumentácia v PDF formáte v jednom ZIP súbore.
ZIp súbor vkladante zároveň aj do app na hodnotenie zadania: https://uvoddopocitacovejbezpecnosti.herokuapp.com/
Nedodržanie pokynov môže viesť k tomu, že zadanie nebude hodnotené. V prípade neodovzdania, zistení plagiatorstva, alebo neskorého odovzdania bude za zadanie pridelene 0 bodov.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.