Argon2

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
  • Argon2idzalecany 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