UPB – Zadanie 2

Zadanie 2 – Implementácia šifrovania dát

Cieľom zadania je implementovať základnú štruktúru webovej aplikácie (podľa konkrétnej témy) s dôrazom na šifrovanie/dešifrovanie súborov. Webovú aplikáciu je potrebné implementovať prostredníctvom platformy Docker.

Úlohy:

  1. Vyberte si technológie, ktoré budete použiť na backend, frontend, databázu (napr. Flask (python) + Postgresql)
  2. Implementujte základnú štruktúru pre docker-compose spolu so všetkými kontajnermi
  3. Implementujte základnú štruktúru databázy, spolu s testovacími dátami, ktoré sa použijú na šifrovanie
  4. Vyberte si kryptografické API pre vami vybranú platformu a implementujte:
    1. Extrakciu testovacích dát z databázy (prostredníctvom vybraného databázového API)
    2. Zašifrovanie dát vybranou symetrickou šifrou (symetrický kľúč sa vygeneruje na serveri)
    3. Zašifrovanie symetrického kľúča asymetrickým kľúčom používateľa
    4. Implementujte dešifrovanie súboru (zatiaľ stačí na strane servera)
    5. Implementujte overenie integrity súboru

Flask + psql:

https://medium.com/free-code-camp/docker-development-workflow-a-guide-with-flask-and-postgres-db1a1843044a

PHP + mysql:

https://hostadvice.com/how-to/web-hosting/how-to-deploy-a-php-application-using-docker-compose/

Minimalistický príklad (example.zip):

docker-compose build

docker-compose up -d