Каковы различия между этими алгоритмами шифрования?

В чем разница между MCRYPT_RIJNDAEL_128 , MCRYPT_RIJNDAEL_256 , MCRYPT_BLOWFISH и т. Д. Какой из них лучше всего подходит для передачи данных в Интернете?

Rijandel – еще одно название для AES, нынешнего алгоритма «один хороший стандарт». Число 128 или 256 – это длина ключа.

Blowfish – это более старый 64-разрядный блочный шифр (AES – 128-битный блочный шифр).

Вы не можете сказать, что любой из них является «лучшим» или «худшим», потому что ни один из них действительно не был сломан, но в целом AES должен быть превосходным, и большинство реализаций быстрее. Кроме того, самые современные процессоры поддерживают AES в оборудовании, что сделает его еще быстрее … поэтому нет оснований не использовать AES.

Что касается длины ключа, то 128 бит на самом деле достаточно для симметричного шифра. Если, конечно, вы не являетесь хранителем кодов ядерного оружия вашей страны, в этом случае вам понадобится использовать 256-битные ключи.

Обратите внимание, что если вы хотите использовать 256-битный ключ разумным образом, вам понадобится пароль длиной около 40 символов. Что еще раз показывает, что криптоалгоритм не является слабым звеном в цепочке безопасности, но человек.

Редактирование: по другой мысли, 50-60 символов, вероятно, более разумное предположение для требуемой длины пароля на 256-битный ключ. Английский язык имеет значительно меньше 2 бит энтропии на символ. Предположим, вы используете несколько более случайную последовательность символов букв и цифр (все-таки нужно помнить об этом, хотя …), так что, возможно, у нас будет 4-5 бит энтропии на каждого персонажа (довольно оптимистично!). Для этого вам потребуется ввести от 51 до 64 символов, поэтому энтропия пароля будет примерно соответствовать ключевым словам.

Теперь встает вопрос: кто из нас имеет пароль на 50 символов? 🙂

Обновить:
По состоянию на конец 2011 года в Рийндале / АЭС (Богданов, Ховратович, Рехбергер) существует атака с ключевым восстановлением, которая не является одним из видов нападений «в основном теоретических» или «веселых уменьшенных раундов». Атака работает на полном круге AES и примерно в 4 раза быстрее, чем грубая сила. Формально, поэтому можно считать Rijndael «сломанным».
Практически, атака на сегодняшний день не имеет значения. Даже с самой короткой поддерживаемой длиной ключа атака в четыре раза быстрее, чем грубая сила требует 2 126 операций, что нецелесообразно даже при массивной аппаратной реализации. Однако это может измениться в будущем, если атака может быть улучшена.

Как Rijndael, так и Blowfish считаются безопасными.

MCRYPT_RIJNDAEL_128 против MCRYPT_RIJNDAEL_256:
Единственное различие – размер блока. Вы можете использовать либо 128-битные, 192-битные, либо 256-битные ключи.
Большие ключи занимают больше времени до грубой силы.
256-битная версия является более безопасной.
Примечание. 128-битная версия все еще требует много времени для перебора.

В настоящее время Rijndael является расширенным стандартом шифрования:
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

AES обычно быстрее, чем Blowfish, потому что:
– Сам алгоритм более эффективен для процессоров (бит против блоков байтов).
– Процессоры Manny поддерживают аппаратное ускорение для AES.

Выводы:
– Все три варианта достаточно надежны для передачи данных.
– Выбор зависит от того, насколько «секретны» данные.
– Rijndael шире используется и поэтому проще реализовать некоторые ситуации.

Ответ на этот вопрос гласит, что в отношении MCRYPT_RIJNDAEL_128 и MCRYPT_RIJNDAEL_256 «Число 128 или 256 – длина ключа» – это неверно. Эти числа относятся к блокам , а не к длине ключа. Однако обе реализации (с использованием размера блока 128 или 256 бит) могут принимать ключи из 128 или 256 бит.

Это зависит от типа ответа, который вы хотите: Различия в реализации – это простая проблема программирования, в то время как различия в дизайне обычно являются довольно подробными математическими доказательствами. Объяснение сложных дизайнерских различий между несколькими алгоритмами шифрования, возможно, выходит за рамки этого сайта. Кроме того, у каждого алгоритма есть слабые стороны, некоторые из них известны, а некоторые нет. Конкретные недостатки в существующих алгоритмах обычно приводят к их отставке, но могут быть способы обойти их (классический пример: DES имел подмножество ключей, в результате чего был легко взломанный код. Обходной путь состоял в том, чтобы не использовать эти ключи.).

RSA является алгоритмом асимметричного шифрования и максимальной длиной ключа 2048 для предлагаемого 2030 года. AES – это симметричный алгоритм с максимальным размером ключа 256 бит для предлагаемого 2015 года. Алгоритм шифрования Змей также является симметричным алгоритмом с размером ключа 256 и предлагаемым 2015 годом.