Сравнение DES, Triple DES, AES, Blowfish шифрования для данных
есть ли у кого плюсы и минусы вместе для сравнения этих алгоритмов шифрования ?
8 ответов:
используйте AES.
подробнее:
- DES-это старый "стандарт шифрования данных" с семидесятых годов. Его размер ключа слишком мал для надлежащей безопасности (56 эффективных бит; это может быть грубо принудительно, как было продемонстрировано более десяти лет назад). Кроме того, DES использует 64-битные блоки, что вызывает некоторые потенциальные проблемы при шифровании нескольких гигабайт данных с одним и тем же ключом (гигабайт в настоящее время не так велик).
- 3DES это трюк, чтобы повторно используйте реализации DES, каскадируя три экземпляра DES (с различными ключами). 3DES считается безопасным, по крайней мере, до"2112" безопасность (что довольно много, и довольно далеко в области "не ломается с сегодняшними технологиями"). Но это медленно, особенно в программном обеспечении (DES был разработан для эффективной аппаратной реализации, но он всасывает программное обеспечение; и 3DES сосет в три раза больше).
- алгоритм Blowfish-блочный шифр, предложенный Брюсом Шнайер, и развернут в некоторых программных продуктах. Blowfish может использовать огромные ключи и считается безопасным, за исключением его размера блока, который составляет 64 бита, как и DES и 3DES. Blowfish эффективен в программном обеспечении, по крайней мере на некоторых программных платформах (он использует таблицы поиска, зависящие от ключа, поэтому производительность зависит от того, как платформа обрабатывает память и кэш).
- AES является преемником DES в качестве стандартного симметричного алгоритма шифрования для федеральных организаций США (и в качестве стандарта для почти все остальные тоже). AES принимает ключи 128, 192 или 256 бит (128 бит уже очень небьющиеся), использует 128-битные блоки (поэтому там нет проблем) и эффективен как в программном, так и в аппаратном обеспечении. Он был отобран на открытом конкурсе с участием сотен криптографов в течение нескольких лет. В принципе, вы не можете иметь лучше, чем это.
поэтому, когда вы сомневаетесь, используйте AES.
обратите внимание, что блочный шифр-это поле, которое шифрует " блоки "(128-битные куски данных с AES). При шифровании "сообщения", которое может быть длиннее 128 бит, сообщение должно быть разделено на блоки, и фактический способ разделения называется режим работы или "цепочки". Наивный режим (простой сплит) называется ЕЦБ и имеет проблемы. Правильно использовать блочный шифр непросто, и это более важно, чем выбор между, например, AES или 3DES.
все эти схемы, за исключением AES и Blowfish, имеют известные уязвимости и не должны использоваться.
Однако Blowfish был заменен на Twofish.
описанные методы шифрования являются симметричными блочными шифрами.
стандарт шифрования данных (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/
AES-это симметричный алгоритм шифрования, в то время как RSA является асимметричным (или с открытым ключом) криптографических алгоритмов. Шифрование и дешифрование выполняется с помощью одного ключа в AES, в то время как вы используете отдельные ключи (открытые и закрытые ключи) в RSA. Сила 128-битного ключа AES примерно эквивалентна 2600-битному ключу RSA.
хотя TripleDESCryptoServiceProvider является безопасным и хорошим методом, но это слишком медленно. Если вы хотите обратиться к MSDN, вы получите, что посоветуете вам использовать AES, а не TripleDES. Пожалуйста, проверьте ниже ссылку: http://msdn.microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider.aspx вы увидите это внимание в разделе замечание:
Примечание Новый симметричный алгоритм шифрования, шифрование Стандарт (AES), доступен. Рассмотрите возможность использования Класс AesCryptoServiceProvider вместо Класс TripleDESCryptoServiceProvider. Использовать TripleDESCryptoServiceProvider только для совместимости с наследием приложения и данные.
удачи