AEGIS: szybkie szyfrowanie uwierzytelnione
Poznają Państwo rodzinę szyfrów AEAD AEGIS zaprojektowanych z myślą o maksymalnej przepustowości na współczesnym sprzęcie.
AEGIS: szybkie szyfrowanie uwierzytelnione to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.
Cele projektowe AEGIS
AEGIS zaprojektowano specjalnie z myślą o maksymalnym wykorzystaniu sprzętowej akceleracji AES-NI, dzięki czemu osiąga przepustowość znacznie większą niż AES-GCM na współczesnych procesorach. Został zgłoszony do konkursu CAESAR, a później ujęty w projekcie standardu IETF dotyczącym użycia w TLS i QUIC.
Warianty AEGIS
AEGIS występuje w dwóch głównych wariantach: AEGIS-128 (klucz 128-bitowy, nonce 128-bitowy) i AEGIS-256 (klucz 256-bitowy, nonce 256-bitowy). Oba zapewniają odpowiednio 128-bitowe lub 256-bitowe tagi uwierzytelniające. AEGIS-128L to zoptymalizowany wariant zaprojektowany z myślą o wykorzystaniu szerszego zrównoleglenia potoku AES-NI we współczesnych procesorach.
Projekt rund AES oparty na stanie
W przeciwieństwie do AES-GCM, który używa AES jako elementu składowego w określonym trybie, AEGIS wykorzystuje wielokrotne wywołania funkcji rundy AES do utrzymywania i aktualizowania stanu wewnętrznego. Każdy krok szyfrowania wykonuje kilka rund AES, co pozwala wykorzystać równoległość na poziomie instrukcji w procesorach z szerokimi jednostkami wykonawczymi.
Przepustowość AEGIS a AES-GCM
Na procesorach z AES-NI AEGIS-128L może osiągać przepustowość 100 Gb/s lub większą, podczas gdy AES-GCM zazwyczaj osiąga na tym samym sprzęcie 40–60 Gb/s. Ta przewaga wydajności wynosząca około 2–3 razy sprawia, że AEGIS jest atrakcyjny w scenariuszach szyfrowania sieciowego o dużej przepustowości.
AEGIS-128L i równoległość
AEGIS-128L używa ośmiu 128-bitowych słów stanu i przetwarza w każdym kroku dwa 256-bitowe bloki wiadomości, maksymalizując wykorzystanie potokowania AES-NI. Wariant "L" zapewnia większą przepustowość niż standardowy AEGIS-128 na procesorach, które mogą jednocześnie potokować wiele instrukcji AES-NI.
Margines bezpieczeństwa AEGIS
AEGIS zapewnia 128-bitową poufność oraz 128-bitowe lub 256-bitowe bezpieczeństwo autentyczności, zależnie od długości tagu. Analiza bezpieczeństwa nie wykazała w pełnej konstrukcji żadnych znanych ataków skuteczniejszych niż atak siłowy. Projekt zachowawczo wykorzystuje rundy AES, zapewniając znaczny margines bezpieczeństwa.
Projekt standardu IETF dla AEGIS
AEGIS został zaproponowany w projekcie standardu IETF (draft-irtf-cfrg-aegis-aead) do standaryzacji przez Crypto Forum Research Group. Projekt obejmuje AEGIS-128L, AEGIS-128 i AEGIS-256 oraz zawiera wektory testowe. Możliwość przyjęcia tych algorytmów w zestawach szyfrów TLS i QUIC jest obecnie aktywnie dyskutowana.
Wymaganie sprzętowe AES-NI
AEGIS nie ma użytecznego programowego mechanizmu zastępczego: bez AES-NI jego wydajność drastycznie spada, ponieważ każde wywołanie funkcji rundy AES staje się kosztowne. AEGIS należy wybierać tylko wtedy, gdy dostępność AES-NI jest zagwarantowana we wszystkich środowiskach wdrożeniowych, w tym na maszynach wirtualnych i w kontenerach.
AEGIS a ChaCha20-Poly1305
ChaCha20-Poly1305 zaprojektowano jako szybki tryb AEAD dla środowisk bez AES-NI, takich jak mobilne procesory ARM sprzed ARMv8 oraz systemy wbudowane. Na współczesnych procesorach ARM64 z akceleracją AES AEGIS może być szybszy, ale ChaCha20-Poly1305 pozostaje bezpiecznym uniwersalnym wyborem, gdy możliwości sprzętowe są różne.
Znaczenie programowego mechanizmu zastępczego
Aplikacje używające AEGIS muszą dokładnie przeanalizować swoje środowisko wdrożeniowe. W środowiskach bez AES-NI należy zaimplementować programowy fallback do AES-GCM lub ChaCha20-Poly1305. Zwinność kryptograficzna w warstwie negocjacji TLS obsługuje to automatycznie, gdy AEGIS jest oferowany jako preferowany zestaw szyfrów.
Perspektywy wdrożenia
AEGIS jest obsługiwany przez implementację referencyjną AEGIS-cipher, OpenSSL 3.2+ za pośrednictwem Provider API oraz kilka eksperymentalnych stosów TLS. Oczekuje się, że jego popularność będzie rosnąć wraz z postępem projektu standardu IETF w kierunku statusu RFC oraz wraz ze wzrostem zapotrzebowania aplikacji o dużej przepustowości na wydajność większą niż oferowana przez AES-GCM.
Sprawdzenie wymagań sprzętowych AEGIS
Które stwierdzenie dotyczące wymagań sprzętowych AEGIS jest prawdziwe?
Podsumowanie lekcji: AEGIS dla maksymalnej szybkości
AEGIS zapewnia 2–3 razy większą przepustowość niż AES-GCM na sprzęcie z AES-NI, wykorzystując wiele funkcji rund AES w projekcie opartym na stanie. AEGIS-128L maksymalizuje równoległość potoku. Wymaga AES-NI i nie nadaje się do użycia, gdy możliwości sprzętowe są różne. Standaryzacja IETF na potrzeby TLS i QUIC jest w toku.
Często zadawane pytania
Czy lekcja „AEGIS: szybkie szyfrowanie uwierzytelnione” jest bezpłatna?
Tak — pełny tekst „AEGIS: szybkie szyfrowanie uwierzytelnione” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „AEGIS: szybkie szyfrowanie uwierzytelnione”?
Poznają Państwo rodzinę szyfrów AEAD AEGIS zaprojektowanych z myślą o maksymalnej przepustowości na współczesnym sprzęcie. Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?
Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „AEGIS: szybkie szyfrowanie uwierzytelnione”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?
Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Dlaczego Encrypt-Then-MAC jest lepsze niż MAC-Then-Encrypt
- Tryb SIV: AEAD odporny na niewłaściwe użycie nonce
- AEGIS: szybkie szyfrowanie uwierzytelnione
- Dobór AEAD do systemów produkcyjnych