Porównanie bezpieczeństwa 3DES i AES

Który z nich jest bezpieczniejszy i najmniej możliwy do złamania przez kryptoanalizę AES lub 3DES (bez względu na wydajność)?

Muszę korzystać z szyfrowania w moich projektach, aby przechowywać i zabezpieczać poufne informacje, w tym konta bankowe, kody sortowania i dane banku zewnętrznego. Obecnie rozważam użycie 3DES w trybie CFB, ale nie jestem pewien, czy to najlepsza opcja i jakie są inne alternatywy.

Wiem, że tytuł nie daje zbytniego pojęcia, o co chodzi, ale nie mogłem wymyślić czegoś lepszego.

Odpowiedź

Wybierz AES.

AES jest następcą DES jako standardowego algorytmu szyfrowania symetrycznego dla organizacji federalnych w USA. AES używa kluczy 128, 192 lub 256 bitów, chociaż , 128-bitowe klucze zapewniają dziś wystarczającą siłę. Wykorzystuje 128-bitowe bloki i jest skuteczny zarówno w implementacjach oprogramowania, jak i sprzętu. Został wybrany w drodze otwartego konkursu z udziałem setek kryptologów w ciągu kilku lat.

DES to poprzedni „standard szyfrowania danych” z lat siedemdziesiątych. Jego klucz jest za krótki, aby zapewnić odpowiednie bezpieczeństwo. 56 efektywne bity mogą być br wymuszone i zostało to zrobione ponad dziesięć lat temu. DES używa bloków 64-bitowych, co stwarza potencjalne problemy podczas szyfrowania kilku gigabajtów danych tym samym kluczem.

3DES to sposób na ponowne wykorzystanie implementacji DES poprzez połączenie w łańcuch trzech instancji DES z różnymi kluczami. Uważa się, że 3DES nadal jest bezpieczny, ponieważ wymaga 2 operacji 112 , co nie jest możliwe do osiągnięcia przy użyciu przewidywalnej technologii. 3DES działa bardzo wolno, szczególnie w implementacjach oprogramowania, ponieważ DES został zaprojektowany z myślą o wydajności sprzętowej.

Zasoby:
http://www.differencebetween.net/technology/difference-between-aes-and-3des http://www.icommcorp.com/downloads/Comparison%20AES%20vs%203DES.pdf (offline, nadal w archiwum internetowym )

Komentarze

  • AES i inne standardy NIST aren ' t bardzo dobry w oprogramowaniu
  • @AndreyBotalov: w przypadku AES jest to dość stronniczy pogląd. W czasie procesu selekcji AES (byłem tam!), Po zebraniu wielu analiz, z których wynikało, że 13 z 15 kandydatów wyglądało na " solidne ", wykonano wiele pomiarów wydajności, a Rijndael był jednym z " szybkich " szyfrów. W rzeczywistości był to ten, który był najbardziej konsekwentnie szybki w wielu architekturach, a to było bardzo pomocne w jego wyborze. RC6 był szybszy na PC , ale komputer PC jest ostatnią platformą, która ma rzeczywiste problemy z wydajnością szyfrowania. AES przewyższa RC6 na kartach inteligentnych i małych ARM / Mips.
  • Dodatkowo mamy teraz rozszerzenia AES w nowoczesnych procesorach, które mogą znacznie zwiększyć prędkość szyfrowania.

Odpowiedź

Ani 3DES, ani AES nie dają się złamać przy użyciu obecnej technologii (a także przewidywalnej technologii). Jednak możesz napotkać pewne problemy z bezpieczeństwem w 3DES, jeśli szyfrujesz więcej niż około 32 gigabajtów danych jednym kluczem, podczas gdy limit jest znacznie wyższy w przypadku AES (wynika to z rozmiaru bloku; 3DES używa bloków 64-bitowych, co może powodować problemy po przetworzeniu 2 bloków 64/2 , tj. 32 gigabajtów; AES używa bloków 128-bitowych, przy ograniczeniu do 2 bloków 128/2 , tj. 2 68 bajtów, znane również jako „całkiem dużo danych”).

Ponieważ AES jest również zauważalnie szybszy niż 3DES, nie ma powodu, aby używać 3DES w nowych projektach.

Komentarze

  • Dziękuję, nauczyłem się dzisiaj nowego terminu technicznego. " Dość dużo danych "
  • +1 dla " całkiem dużo danych. " Według WolframAlpha 2 ^ 68 bajtów danych to około 20 razy więcej zawartość informacyjna " całej ludzkiej wiedzy. "
  • @AndreyBotalov: to 2 ^ 64 bloków , a każdy blok ma 16 bajtów (2 ^ 4), stąd 2 ^ 68 bajtów .
  • Czy ktoś może wyjaśnić, jakiego rodzaju " kłopoty " po 2 ^ (64/2) pojawiają się problemy z 64-bitowym rozmiarem bloku?
  • @FahadYousuf Z powodu urodzin Problem, po zaszyfrowaniu bloków sqrt (2 ^ n) masz 50% szans na kolizję

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *