1.5 KiB
1.5 KiB
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
- Maksymalnie 5 prób logowania na 1 minutę. Zabezpiecza to przed atakami brute-force.
- Hasło użytkownika jest haszowane z wykorzystniem losowej soli oraz funkcji key-stretching która wynokuje 1000 iteracji.
- 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.
- Szyforwanie notatni odbywa się w trybie CBC z losowym wektorem początkowym.
- 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
![Register screen](/s473620/AES-secured-notepad/media/commit/f1dfa6c473634d0b74fae483b626dd6d2191b497/screenshots/register.png)
![Main screen](/s473620/AES-secured-notepad/media/commit/f1dfa6c473634d0b74fae483b626dd6d2191b497/screenshots/main_screen.png)
![Create note](/s473620/AES-secured-notepad/media/commit/f1dfa6c473634d0b74fae483b626dd6d2191b497/screenshots/create_note.png)
![Change password](/s473620/AES-secured-notepad/media/commit/f1dfa6c473634d0b74fae483b626dd6d2191b497/screenshots/change_password.png)
![Delete note](/s473620/AES-secured-notepad/media/commit/f1dfa6c473634d0b74fae483b626dd6d2191b497/screenshots/delete_note.png)