1. Symetryczna Szyfrowanie
AES (Standard Szyfru Szyfrowania Zawansowanego): szyfrogram Rijndael, bloki 128-bitowe, klucze 128/192/256-bitowe. SubBytes (S-box), ShiftRows, MixColumns, AddRoundKey — 10/12/14 rund. Tryby: CBC (z nawiązywaniem, wymagany IV), CTR (licznik, paralelizowalny), GCM (zaszyfrowanie z autorytetem, AEAD). ChaCha20-Poly1305: szyfr strumieniowy + MAC, używane w TLS 1.3, szybszy na platformach bez AES-NI. Poziomy bezpieczeństwa: AES-128 ≈ poziom bezpieczenstwa 128-bitowego, AES-256 ≈ poziom bezpieczenstwa 256-bitowego. Ataki przez kanał boczną: timing, analiza mocy, ataki pamięci podręcznej — zwalniany poprzez implementacje stale czasowe i instrukcje AES-NI sprzętowe. Zarządzanie kluczami: HKDF do pochodzenia, generowanie losowych (PRNG bezpiecznych), polityki rotacji kluczy.
2. Asymetryczna kryptografia
RSA: problem rozkładu na czynniki, n = p·q (duże liczby pierwsze). Szyfrowanie: c = m^e mod n, Odszyfrowywanie: m = c^d mod n, gdzie ed ≡ 1 (mod φ(n)). Rozmiary kluczy: minimum 2048-bitów (NIST), zalecane 4096-bitów. Padding OAEP (zamiast PKCS#1 v1.5 z powodu ataku Bleichenbacher). Kryptografia oparta na krzywych eliptycznych (ECC): punkty na y² = x³ + ax + b nad polami skończonymi. ECDLP (Problem Diskretnego Logarytmu Krzywej Elipitycznej). Curve25519: x² = x³ + 486662x² + x nad F_p, p = 2²⁵⁵-19. ECDSA do podpisów, ECDH do wymiany kluczy. 256-bitowe ECC ≈ bezpieczne dla 3072-bitowego RSA. EdDSA (Ed25519): deterministyczne podpisy, szybsza weryfikacja. X25519: ECDH do zgody na klucz używany w TLS 1.3 i Protokole Signal.
3. Funkcje skrótu i MAC
SHA-256: konstrukcja Merkle-Damgård, wyjście 256 bitów, 64 rundy. SHA-3 (Keccak): konstrukcja sponge, r=1088/c=512 dla SHA3-256. BLAKE2/BLAKE3: szybsze niż SHA-3, szeroko używane w praktyce. Właściwości: odporność na odwrotny obraz (dane m znanej wartości h), odporność na drugi odwrotne obrazy, odporność na kolizje. Atak urodzinowy: O(2^{n/2}) dla skrótu n-bitowego. Haszowanie hasel: bcrypt (wybrukowanie), scrypt (trudny w wykorzystaniu pamięci), Argon2id (wygrała w PHC, trudny w czasie i pamięci). HMAC: funkcja skrótu z kluczem do uwierzytelnienia wiadomości, HMAC-SHA256. HKDF: ekstrakcja i rozszerzanie doboru kluczowego. Drzewa Merkla: łańcuchy skrótów do zapewnienia integritetu danych (blokchain, przejrzystość certyfikatów).
4. TLS i bezpieczeństwo protokołu
TLS 1.3 (RFC 8446): 1-RTT uścisk, rezerwacja bez RTT. Zeszyty szyfrowania: TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256. Zamiana klucza: X25519 lub P-256 ECDHE tylko (stałe RSA/DH usunięte). Sigmatyzm przeszłych sesji: wymienne zamiany kluczowe zapewniają bezpieczeństwo poprzednich sesji, nawet jeśli zostanie zcompromitowany klucz długoterminowy. Transparencja certyfikatów: publiczne logi wszystkich certyfikatów. Stapling OCSP: efektywna sprawdzarka odwołań. HSTS: wymusza HTTPS, lista wstępna. Przykładowe pinowanie certyfikatów: deprecyjowane ze względu na ryzyko operacyjne. PKI: certyfikaty X.509, hierarchia CA, Let's Encrypt (wolne automatyczne certyfikaty, ponad 300 milionów aktywnych). Protokół ACME do zarządzania certyfikatami automatycznie.
5. Kryptografia po kwantowej
Zagrożenie kwantowe: algorytm Shora rozkłada liczby całkowite w czasie wielomianowym → zniszcza RSA i ECC. Algorytm Grovera: wyszukiwanie O(√N) → podwójne wymaganie długości kluczy symetrycznych (AES-256 pozostaje bezpieczny). Standardizacja NIST PQC (2024): ML-KEM (Kyber, kapsułkowanie kluczowe oparte na liniach, oparte na Module-LWE), ML-DSA (Dilithium, podpisy oparte na liniach), SLH-DSA (SPHINCS+, podpisy oparte na haszach bez stanu). FN-DSA (Falcon, kryptosignatury kompakcyjne oparte na liniach). Podkrytykowe podejścia: łączenie klasycznego z PQC (np. X25519 + ML-KEM-768 w Chrome/Firefox). Terminologii migracji: NIST zaleca przejście do 2035 roku. Zbieranie teraz, odszyfrowywanie później: przeciwnik może przechowywać zaszyfrowane ruchy sieciowe do przyszłego odszyfrowania kwantowego — urgencja w adoptacji kryptografii po kwantowej w nawiązkach komunikacyjnych czułych.
Spróbuj to na żywo
Wszystko powyżej działa w Twojej przeglądarce — otwórz Sieć wymiany kluczy publicznych i zmieniaj parametry podczas działania modelu. Nie ma nic do zainstalowania, nie jest wysyłane żadne pliki, całe modelowanie mieści się w jednym oknie.
▶ Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Public-Key Exchange Network i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.