Zaawansowany proces standardowego szyfrowania
Zaawansowany standard szyfrowania (AES), symetryczny szyfr blokowy zatwierdzony jako standard przez Narodowy Instytut Standardów i Technologii Stanów Zjednoczonych (NIST), został wybrany w procesie trwającym od 1997 do 2000 roku, który był znacznie bardziej otwarty i przejrzysty niż jego poprzednik, Data Encryption Standard (DES). Proces ten zyskał uznanie otwartej społeczności kryptograficznej i pomógł zwiększyć zaufanie do bezpieczeństwa zwycięskiego algorytmu ze strony tych, którzy byli podejrzliwi wobec backdoorów w poprzedniku, DES.
Nowy standard był potrzebny przede wszystkim dlatego, że DES miał stosunkowo mały 56-bitowy klucz, który stawał się podatny na ataki brute-force . Ponadto DES został zaprojektowany głównie dla sprzętu i był stosunkowo powolny, gdy został zaimplementowany w oprogramowaniu. Podczas gdy Triple-DES pozwala uniknąć problemu małego rozmiaru klucza, jest bardzo powolny nawet sprzętowo, nie nadaje się dla platform o ograniczonych zasobach i może mieć na niego wpływ potencjalne problemy z bezpieczeństwem związane z (obecnie stosunkowo małym) rozmiarem bloku 64 bity.
Rozpoczęcie procesu
2 stycznia 1997 roku NIST ogłosił, że chce wybrać następcę DES, znanego jako AES. Podobnie jak DES, miał to być „niesklasyfikowany, publicznie ujawniony algorytm szyfrowania, zdolny do ochrony poufnych informacji rządowych jeszcze przez następne stulecie”. Jednakże, zamiast po prostu opublikować następcę, NIST poprosił o informacje od zainteresowanych stron, w jaki sposób należy wybrać następcę. Zainteresowanie otwartej społeczności kryptograficznej było natychmiast duże, a NIST otrzymał bardzo wiele zgłoszeń w ciągu trzymiesięcznego okresu komentowania.
Rezultatem tej opinii było wezwanie do opracowania nowych algorytmów 12 września 1997 r. Wszystkie algorytmy miały być szyframi blokowymi, obsługującymi rozmiar bloku 128 bitów i rozmiary kluczy 128, 192 i 256 bitów. Takie szyfry były rzadkie w momencie ogłoszenia; najbardziej znanym był prawdopodobnie Square .
Runda pierwsza i druga
W ciągu następnych dziewięciu miesięcy powstało i zostało przesłanych piętnaście projektów z kilku krajów. Byli to, w kolejności alfabetycznej: CAST-256 , CRYPTON , DEAL , DFC , E2 , FROG , HPC , LOKI97 , MAGENTA , MARS , RC6 , Rijndael , SAFER+ , Serpent i Twofish .
W późniejszej debacie kryptografowie zbadali wiele zalet i wad kandydatów; zostały ocenione nie tylko pod kątem bezpieczeństwa, ale także wydajności w różnych konfiguracjach (komputery PC o różnych architekturach, karty inteligentne, implementacje sprzętowe) oraz ich wykonalności w ograniczonych środowiskach (karty inteligentne z bardzo ograniczoną pamięcią, implementacje o małej liczbie bramek, układy FPGA ).
Niektóre projekty upadły z powodu kryptoanalizy , która obejmowała zarówno drobne wady, jak i poważne ataki, podczas gdy inne straciły uznanie z powodu słabej wydajności w różnych środowiskach lub z powodu niewielkiej oferty w stosunku do innych kandydatów. NIST zorganizował dwie konferencje w celu omówienia wniosków (AES1, sierpień 1998 i AES2, marzec 1999), aw sierpniu 1999 ogłosili, że zawężają pole z piętnastu do pięciu: MARS , RC6 , Rijndael , Serpent i Twofish . Wszystkie pięć algorytmów, powszechnie określanych mianem „finalistów AES”, zostało zaprojektowanych przez kryptografów uważanych za dobrze znanych i szanowanych w społeczności. Głosy z konferencji AES2 przedstawiały się następująco:
- Rijndael : 86 pozytywnych, 10 negatywnych
- Wąż : 59 pozytywnych, 7 negatywnych
- Twofish : 31 pozytywnych, 21 negatywnych
- RC6 : 23 pozytywne, 37 negatywne
- MARS : 13 pozytywnych, 84 negatywnych
Nastąpiła kolejna runda intensywnej analizy i kryptoanalizy, której kulminacją była konferencja AES3 w kwietniu 2000 r., Na której przedstawiciel każdego z pięciu ostatnich zespołów przedstawił prezentację, argumentując, dlaczego ich projekt powinien zostać wybrany jako AES.
Wybór zwycięzcy
W dniu 2 października 2000 r. NIST ogłosił, że Rijndael został wybrany jako proponowany AES i rozpoczął proces uczynienia go oficjalnym standardem, publikując ogłoszenie w Rejestrze Federalnym w dniu 28 lutego 2001 r. W sprawie projektu FIPS w celu uzyskania komentarzy. 26 listopada 2001 NIST ogłosił, że AES został zatwierdzony jako FIPS PUB 197.
NIST zdobył uznanie społeczności kryptograficznej za otwartość i troskę, z jaką prowadzili proces standaryzacji. Bruce Schneier , jeden z autorów przegrywającego algorytmu Twofish, napisał po zakończeniu konkursu, że „Mam same dobre rzeczy do powiedzenia na temat NIST i procesu AES”.
Zobacz też
- Konkurs CAESAR — konkurs polegający na zaprojektowaniu uwierzytelnionych schematów szyfrowania
Linki zewnętrzne
- Historyczny przegląd procesu można znaleźć na stronie internetowej NIST .
- Na grupie dyskusyjnej sci.crypt toczą się obszerne dyskusje na temat procesu AES.