Go to file
2024-02-18 16:44:01 +01:00
.idea wstępne usunięcie firebase 2023-12-02 17:47:36 +01:00
app modified README 2024-02-18 16:38:12 +01:00
gradle/wrapper first commit 2023-11-25 13:05:46 +01:00
screenshots modified README 2024-02-18 16:38:12 +01:00
.gitignore first commit 2023-11-25 13:05:46 +01:00
build.gradle first commit 2023-11-25 13:05:46 +01:00
gradle.properties first commit 2023-11-25 13:05:46 +01:00
gradlew first commit 2023-11-25 13:05:46 +01:00
gradlew.bat first commit 2023-11-25 13:05:46 +01:00
README.md trying to make screenshots from README smaller 2024-02-18 16:44:01 +01:00
settings.gradle first commit 2023-11-25 13:05:46 +01:00

AES-secured-notepad

Głównym celem projektu jest zastosowanie jak najlepszych mechanizmów szyfrujących do bezpiecznego przechowywania notatek. Dostęp do notatek wymaga każdorazowo zalogowania z użyciem hasła. Aplikacja jest przysotosowana do obsługi wielu użytkowników.

Wykorzystane mechanizmy bezpieczeństwa

  1. Maksymalnie 5 prób logowania na 1 minutę. Zabezpiecza to przed atakami brute-force.
  2. Hasło użytkownika jest haszowane z wykorzystniem losowej soli oraz funkcji key-stretching która wynokuje 1000 iteracji.
  3. Klucz do szyfrowania notatek algorymtm AES-256 jest generowany z hasła. Program wykorzystuje w tym celu PBKDF2 z HMAC-256. Liczba iteracji key-strethingu to 65536.
  4. Szyforwanie notatni odbywa się w trybie CBC z losowym wektorem początkowym.
  5. Przy każdej edycji/usunięciu/dodaniu notatni wszystkie dane zostają przeszyfrowane z wykorzystniem nowej soli oraz nowego wektora początkowego. Wpływa to co prawda na płynność działania aplikacji, lecz jej głównym celem jest zastosowanie mechanizmów krytpograficznych.

Zrzuty ekranu z działania aplikacji

Main screen Create note Change password Delete note