Сравнение DES, Triple DES, AES, шифрования Blowfish для данных - PullRequest
138 голосов
/ 05 апреля 2011

У кого-нибудь есть плюсы и минусы для сравнения этих алгоритмов шифрования?

Ответы [ 8 ]

243 голосов
/ 06 апреля 2011

Используйте AES.

Более подробно:

  • DES - старый "стандарт шифрования данных" семидесятых. Его размер ключа слишком короток для надлежащей защиты (56 эффективных битов; это может быть грубым, как было продемонстрировано более десяти лет назад ) Кроме того, DES использует 64-битные блоки, что порождает некоторые потенциальные проблемы при шифровании нескольких гигабайт данных одним и тем же ключом (в настоящее время гигабайт не такой большой).
  • 3DES - это хитрость для повторного использования реализаций DES путем каскадирования трех экземпляров DES (с разными ключами). Считается, что 3DES надежно защищен, по крайней мере, до уровня " 2 112 " (что довольно много и довольно далеко в области "не взломанных с помощью современных технологий"). Но он медленный, особенно в программном обеспечении (DES был разработан для эффективной аппаратной реализации, но затягивает программное обеспечение, а 3DES - в три раза больше) * 1014
  • Blowfish - это блочный шифр, предложенный Брюсом Шнайером и используемый в некоторых программах. Blowfish может использовать огромные ключи и считается безопасным, за исключением того, что касается размера его блока, который составляет 64 бита, точно так же, как DES и 3DES. Blowfish эффективен в программном обеспечении, по крайней мере, на некоторых программных платформах (он использует таблицы поиска, зависящие от ключа, следовательно, производительность зависит от того, как платформа обрабатывает память и кэши).
  • AES является преемником DES как стандартного алгоритма симметричного шифрования для федеральных организаций США (и, как стандарт, почти для всех остальных). AES принимает ключи размером 128, 192 или 256 бит (128 бит уже очень неразрушимы), использует 128-битные блоки (поэтому проблем нет) и эффективен как в программном, так и в аппаратном обеспечении. Он был выбран в результате открытого конкурса с участием сотен криптографов в течение нескольких лет. По сути, вы не можете иметь лучше, чем это.

Так что, если сомневаетесь, используйте AES.

Обратите внимание, что блочный шифр - это блок, который шифрует «блоки» (128-битные порции данных с помощью AES). При шифровании «сообщения», которое может быть длиннее 128 бит, сообщение должно быть разбито на блоки, и фактический способ выполнения разделения называется режимом работы или «сцеплением». Наивный режим (простое разделение) называется ECB и имеет проблемы. Правильно использовать блочный шифр нелегко, и это важнее, чем выбирать между, например, AES или 3DES.

24 голосов
/ 05 апреля 2011

Все эти схемы, кроме AES и Blowfish, имеют известные уязвимости и не должны использоваться.
Однако Blowfish был заменен на Twofish .

11 голосов
/ 05 апреля 2011

Описанные методы шифрования - блочные шифры с симметричным ключом.

Стандарт шифрования данных (DES) - предшественник, шифрующий данные в 64-битных блоках с использованием 56-битного ключа. Каждый блок зашифрован изолированно, что является уязвимостью безопасности.

Triple DES расширяет длину ключа DES, применяя три операции DES для каждого блока: шифрование с ключом 0, дешифрование с ключом 1 и шифрование с ключом 2. Эти ключи могут быть связаны.

DES и 3DES обычно встречаются при взаимодействии с устаревшими коммерческими продуктами и услугами.

AES считается преемником и современным стандартом. http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

Я считаю, что использование Blowfish не рекомендуется.

Настоятельно рекомендуется не пытаться реализовать собственную криптографию и вместо этого использовать высокоуровневую реализацию, такую ​​как GPG для данных в покое или SSL / TLS для данных в пути. Вот отличное и отрезвляющее видео об уязвимостях шифрования http://rdist.root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/

8 голосов
/ 01 декабря 2012

AES - это симметричный криптографический алгоритм, а RSA - асимметричный (или открытый ключ) криптографический алгоритм.Шифрование и дешифрование выполняется одним ключом в AES, а в RSA вы используете отдельные ключи (открытый и закрытый ключи).Прочность 128-битного ключа AES примерно эквивалентна 2600-битному ключу RSA.

4 голосов
/ 02 декабря 2012

Хотя TripleDESCryptoServiceProvider - безопасный и хороший метод, но он слишком медленный.Если вы хотите обратиться к MSDN, вы получите совет от AES, а не TripleDES.Пожалуйста, проверьте ниже ссылку: http://msdn.microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider.aspx вы увидите это внимание в разделе замечаний:

Примечание Более новый алгоритм симметричного шифрования, Расширенный стандарт шифрования (AES)доступен.Попробуйте использовать класс AesCryptoServiceProvider вместо класса TripleDESCryptoServiceProvider.Используйте TripleDESCryptoServiceProvider только для совместимости с устаревшими приложениями и данными.

Удачи

1 голос
/ 16 декабря 2017

enter image description here

DES - это старый "стандарт шифрования данных" семидесятых.

0 голосов
/ 14 декабря 2017
                DES                               AES
Developed       1977                              2000
Key Length      56 bits                           128, 192, or 256 bits
Cipher Type     Symmetric                         Symmetric
Block Size      64 bits                           128 bits
Security        inadequate                        secure
Performance     Fast                              Slow
0 голосов
/ 05 апреля 2011

AES - это используемый в настоящее время стандартный алгоритм (отсюда и название Advanced Encryption Standard ).

Остальные нет.

...