Зачем использовать 3DES и Blowfish вместо AES - PullRequest
2 голосов
/ 03 апреля 2012

Может ли кто-нибудь объяснить пару сценариев, в которых дизайн системы может оправдать использование решения для шифрования, соответственно, как 3DES и Blowfish?

Ответы [ 3 ]

3 голосов
/ 03 апреля 2012

Я добавлю несколько, один из которых связан с обратной совместимостью: если у вас есть аппаратная реализация, которая поддерживает только 3DES (многие старые смарт-карты), тогда 3DES может быть предпочтительнее, чем AES. Аппаратные ускорители могут использоваться как для ускорения, так и для обеспечения безопасности (атаки по побочным каналам, см. Ниже).

Реализации 3DES могут быть менее уязвимы для атак по побочным каналам (хотя, конечно, они не защищены от них). Как я понял, AES труднее понять - из-за его внутреннего дизайна (доступ к таблицам). AES лучше, больший размер блока или размер ключа мало что значат, когда вы сталкиваетесь с хорошей атакой по боковому каналу.

3DES имеет 8-байтовый размер блока по сравнению с 16 байтами для AES, что может привести к немного большим издержкам при использовании его в шифровании в блочном режиме. Конечно, это можно уменьшить с помощью шифра в потоковом режиме, и мы говорим только о нескольких байтах для последнего блока. По этой причине это очень тонкий аргумент.

Я буду немного короче о Blowfish: переменный размер ключа, а иногда и более быстрый, чем AES, с меньшей вероятностью будет реализован в аппаратном обеспечении, но могут быть причины обратной совместимости и снова размер блока 8 байтов.

Ни одной из трех приведенных выше причин, как правило, недостаточно для выбора 3DES или Blowfish вместо AES.

3 голосов
/ 03 апреля 2012

Только один: обратная совместимость с существующими данными или сервисами / API, которые в них нуждаются.

В противном случае будьте проще и используйте AES: -)

Обратите внимание, что люди часто предполагают, что использование более старых алгоритмов дает лучшую производительность (не очень хороший компромисс, ИМХО), но это обычно не так (вам нужно будет проверить его на соответствие используемой вами библиотеке) и AES заканчивается намного быстрее (по крайней мере, из 3DES).

0 голосов
/ 18 августа 2013

как насчет замены подпрограммы добавления ключа на 3DES, чтобы каждый блок из четырех блоков из восьми символов шифровался и включал Blowfish F () внутри функции DES F (), то есть до того, как DES F возвращает 32 бита), Я на самом деле использую эту идею, чтобы создать генератор чисел, чтобы попытаться взломать лотерею, и на сегодняшний день выиграл £ 106,40, хотел бы загрузить код, но в любом случае здесь сделать это невозможно.

...