Wprowadzenie
Argon2 to nowoczesna funkcja wyprowadzania klucza (Key Derivation Function), zwycięzca międzynarodowego konkursu Password Hashing Competition (PHC) w 2015 roku. Jest uznawana za najbezpieczniejszy algorytm haszowania haseł dostępny obecnie.
Warianty Argon2
- Argon2d – maksymalna odporność na ataki GPU/ASIC (najwolniejszy)
- Argon2i – zoptymalizowany pod kątem odporności na side-channel attacks
- Argon2id – zalecany wariant hybrydowy (łączy zalety obu powyższych)
Dlaczego Argon2 jest tak dobry?
- Memory-hard – wymaga dużej ilości pamięci RAM (trudny do równoległego ataku na GPU/ASIC)
- Konfigurowalny – można dostosować ilość pamięci, liczbę iteracji i stopień równoległości
- Odporny na side-channel attacks (szczególnie Argon2i/id)
- Standard NIST – rekomendowany do przechowywania haseł
Parametry Argon2
- m – rozmiar pamięci (np. 64 MiB, 128 MiB, 1 GiB)
- t – liczba iteracji (time cost)
- p – stopień równoległości (threads)
- Output length – długość hasha (zalecane 32 bajty)
Zastosowanie
- Przechowywanie haseł użytkowników (najlepsza praktyka 2026)
- Derivation kluczy z haseł (np. do szyfrowania portfeli kryptowalut)
- PBKDF2 replacement w nowych systemach
- Systemy wymagające wysokiego poziomu bezpieczeństwa (bankowość, crypto, gov)
Porównanie z innymi algorytmami
Argon2 jest zdecydowanie lepszy od starych PBKDF2, bcrypt i scrypt pod względem odporności na ataki masowe (GPU/ASIC). Dlatego jest rekomendowany przez OWASP, NIST oraz twórców większości nowoczesnych frameworków.
Powiązane pojęcia
Password Hashing • Key Derivation Function (KDF) • PBKDF2 • bcrypt • scrypt • Memory-Hard Function • OWASP • Cryptography • Hashing