DES (Data Encryption Standard) i AES (Advanced Encryption Standard) są symetrycznymi blokowymi szyframi. AES został wprowadzony, aby pokonać wadę DES. Ponieważ DES ma mniejszy rozmiar klucza, co czyni go mniej bezpiecznym do pokonania, potrójny DES został wprowadzony, ale okazuje się, że jest wolniejszy. Stąd później AES został wprowadzony przez Narodowy Instytut Standardów i Technologii. Podstawowa różnica między DES i AES polega na tym, że w bloku DES tekst jawny jest dzielony na dwie połówki przed rozpoczęciem głównego algorytmu, podczas gdy w AES cały blok jest przetwarzany w celu uzyskania tekstu zaszyfrowanego.
Omówmy nieco więcej różnic między DES i AES za pomocą poniższej tabeli porównawczej.
Wykres porównania
Podstawa do porównania | DES (Data Encryption Standard) | AES (Advanced Encryption Standard) |
---|---|---|
Podstawowy | W DES blok danych jest podzielony na dwie połówki. | W AES cały blok danych jest przetwarzany jako pojedyncza macierz. |
Zasada | Praca DES nad strukturą Feistel Cipher. | AES działa na zasadzie substytucji i permutacji. |
Prosty tekst | Plaintext ma 64 bity | Czysty tekst może mieć 128, 192 lub 256 bitów |
Rozmiar klucza | DES w porównaniu do AES ma mniejszy rozmiar klucza. | AES ma większy rozmiar klucza w porównaniu do DES. |
Rundy | 16 rund | 10 rund na 128-bitowe algo 12 rund na 192-bitowe algo 14 rund na 256-bitowe algo |
Rund Names | Rozszerzanie permutacji, Xor, S-box, P-box, Xor i Swap. | Subbajty, Shiftrows, Mix kolumn, Addroundkeys. |
Bezpieczeństwo | DES ma mniejszy klucz, który jest mniej bezpieczny. | AES ma duży klucz tajny, a więc bardziej bezpieczny. |
Prędkość | DES jest stosunkowo wolniejszy. | AES jest szybszy. |
Definicja DES (Data Encryption Standard)
Data Encryption Standard (DES) to symetryczny szyfr klucza, który został przyjęty przez Narodowy Instytut Standardów i Technologii w 1977 roku. DES opiera się na strukturze Feistela, w której tekst jawny dzieli się na dwie połówki. DES przyjmuje dane wejściowe jako 64-bitowy zwykły tekst i 56-bitowy klucz, aby utworzyć 64-bitowy tekst zaszyfrowany.
Na poniższym rysunku widać szyfrowanie zwykłego tekstu za pomocą DES. Początkowo 64-bitowy tekst jawny przechodzi początkową permutację, która przestawia bity, aby uzyskać 64-bitowe, permutowane wejście. Teraz to 64-bitowe, permutowane wejście jest podzielone na dwie połówki, tj. 32-bitową lewą część i 32-bitową prawą część. Obie te części przechodzą szesnaście rund, w których każda runda spełnia te same funkcje. Po ukończeniu szesnastu rund dokonuje się ostatecznej permutacji i uzyskuje się 64-bitowy zaszyfrowany tekst.
- Expansion Permutation : Tutaj 32-bitowa prawa część jest rozszerzona do postaci 48-bitowej prawej części.
- Xor : 48-bitowa prawa część to Xor z 48-bitowym podkluczem uzyskanym z 56-bitowego klucza, co daje 48-bitowe wyjście.
- S-box : 48-bitowe wyjście otrzymane przez Xor-Step jest ponownie zredukowane do 32-bitowego.
- P-box : Tutaj 32-bitowy wynik uzyskany z S-boxa znów jest permutowany, co skutkuje 32-bitowym permutowanym wyjściem.
Definicja AES (Advanced Encryption Standard)
Advanced Encryption Standard (AES) to również symetryczny szyfr blokowy klucza . AES został opublikowany w 2001 roku przez Narodowy Instytut Standardów i Technologii . AES został wprowadzony w celu zastąpienia DES, ponieważ DES używa bardzo małego klucza szyfrującego, a algorytm był znacznie wolniejszy.
- Subbajty: Używa S-boxa, w którym wykonuje bajt przez podstawienie bajtowe całego bloku (macierzy).
- Shift Rows: Rzędy macierzy są przesunięte.
- Mix Columns: Kolumny są z macierzy są tasowane z prawej do lewej.
- Dodaj okrągłe klawisze: Tutaj zostanie wykonany Xor bieżącego bloku i rozszerzonego klucza.
Ostatnia 10-ta runda obejmuje tylko etapy Subbytes, Shift Rows i Add round keys i zapewnia szyfrogram 16-bajtowy (128-bitowy).
Kluczowe różnice między DES i AES
- Podstawową różnicą między DES i AES jest to, że blok w DES jest podzielony na dwie połówki przed dalszym przetwarzaniem, podczas gdy w AES cały blok jest przetwarzany w celu uzyskania zaszyfrowanego tekstu.
- Algorytm DES działa na zasadzie Feistel Cipher, a algorytm AES działa na zasadzie substytucji i permutacji.
- Kluczowy rozmiar DES to 56 bitów, który jest stosunkowo mniejszy niż AES, który ma 128 192 lub 256-bitowy tajny klucz.
- Rundy w DES obejmują Expansion Permutation, Xor, S-box, P-box, Xor i Swap. Z drugiej strony rundy w AES obejmują Subbytes, Shiftrows, Mix kolumn, Addroundkeys.
- DES jest mniej bezpieczny niż AES ze względu na mały rozmiar klucza.
- AES jest porównywalnie szybszy niż DES.
Wniosek:
DES jest starszym algorytmem, a AES jest zaawansowanym algorytmem, który jest szybszy i bezpieczniejszy niż DES.