Насколько безопасен 64-битный RC2?



При шифровании будут ли два симметричных алгоритма считаться равными с точки зрения безопасности, если их размеры ключей эквивалентны? (то есть обеспечивает ли 64-битный алгоритм RC2 такую же безопасность, как и 64-битный алгоритм AES?)



Насколько безопасно (или небезопасно) было бы использовать 64-битный алгоритм RC2?



Сколько времени, по-моему, потребуется для атаки грубой силы, чтобы взломать этот вид шифрования?



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

560   2  

2 ответов:

В общем случае эквивалентные размеры ключей не означают эквивалентной безопасности по ряду причин:

Во-первых, это просто случай, когда некоторые алгоритмы имеют известные атаки там, где другие нет. Размер ключа - это всего лишь верхняя граница усилий, которые потребовались бы для взлома шифра; в худшем случае вы всегда можете попробовать все возможные ключи и добиться успеха (в среднем) после проверки половины пространства ключей. Это не значит, что это лучшая из возможных атак. Вот вам пример: AES со 128-битными ключами использует 10 раундов. Если бы вы использовали AES со 128-битным ключом, но только один раунд, он был бы тривиально хрупким, даже если ключ одинакового размера. Для многих алгоритмов известны атаки, которые могут сломать алгоритм намного быстрее, чем поиск по всему ключевому пространству.

В случае блочных шифров существуют и другие соображения. Это происходит потому, что блочные шифры обрабатывают данные в кусках битов. Существуют различные комбинаторные свойства, которые вступают в игру после того, как вы начнете шифровать большие объемы данных. Например, используя общий режим CBC, вы начинаете сталкиваться с проблемами после шифрования около 2^(n/2) блоков (эта проблема является неотъемлемой частью CBC). Для 64-битного шифра, такого как RC2, это означает 2^32 64-битных блока или 32 гигабайта, которые при большом размере довольно легко представить (например, вы шифруете образ диска с его помощью). В то время как для 128-битного шифра, такого как AES, проблема начинает возникать только после примерно 2^64 128-битных блоков, или примерно 295 экзабайт. В сценарий, подобный этому, AES с 64-битным ключом на самом деле будет гораздо более безопасным, чем RC2 с 64-битным ключом.

Здесь мы переходим к эпистемологической части ответа: даже если нет известных атак, это не означает, что атаки невозможны. RC2 довольно стар и редко используется; даже когда это был довольно современный шифр, его анализ был гораздо меньше, чем, скажем, DES. Вполне вероятно, что никто за последние 5 лет не удосужился вернуться и посмотреть, как сломать RC2 с помощью последние методы атаки, просто потому, что в относительно академической модели публикации или гибели, в рамках которой работают современные публичные криптографические исследования, есть меньшая выгода; гораздо лучше, если вы ищете должность (или хотите укрепить свою репутацию, чтобы получить больше консалтинговой работы), чтобы опубликовать даже очень незначительное улучшение атаки AES, чем полностью уничтожить RC2, потому что никто больше не использует его.

И с 64-битным ключом вы сразу же ограничили вы достигнете этой верхней границы, и усилия 2^64 действительно довольно низки; возможно, в пределах досягаемости не только для разведывательных служб, но даже для корпораций разумного размера (или пастухов ботнетов).

Наконец, я отмечу,что RC2 был разработан, чтобы быть быстрым на процессорах 286/386-era. На современных машинах он существенно (примерно в 4-6 раз) медленнее, чем AES или аналогичные шифры, разработанные за последние 10 лет.

Я действительно не вижу никакого преимущества в использовании RC2 для чего-либо, единственное использование, которое я могу себе представить имело бы смысл быть для совместимости с какой-нибудь древней (в компьютерное время) системой. Используйте AES (или одного из 4 других финалистов AES, если это необходимо).

Вот мое личное объяснение выражения "атака на n из p раундов", которое вы можете найти на странице http://en.wikipedia.org/wiki/Block_cipher_security_summary . Но будьте осторожны: я на самом деле публикую это как ответ, чтобы люди могли сказать мне, если я ошибаюсь. Никто никогда не объяснял мне этого, и я не специалист, это просто единственное объяснение, которое имеет смысл, что я мог понять.

Криптографы рассматривают любой алгоритм, который требует меньше, чем грубый силовые операции, чтобы быть успешным нападением. Когда говорят, что шифр атакует "n из p раундов", я предполагаю, что это означает, что если шифр был определен как n раундов основной функции, то на самом деле он определен как p раундов, для него будет атака. Возможно, алгоритм действительно продолжает работать в течение более чем n раундов, но точка отсечения, где он становится дороже, чем грубая сила, равна n. другими словами, это очень тонкое различие для алгоритма, который является Не сломан, и это говорит нам, насколько мы близки к абстрактному пониманию математической функции, которую он реализует. Это объясняет кажущиеся произвольными числа, которые встречаются как значения "n", когда используется это выражение.

Повторяю, шифр, который атакует n из P раундов, является шифром, который не сломан.

Также алгоритм, который "сломан", потому что он имеет атаку в 2100 операции для 128-битного ключа все еще могут быть полезны. Беспокойство внутри это означает, что дальнейшие математические открытия могут продолжать съедать количество операций, необходимых для его взлома. Но ... 2100 это так же непрактично, как 2128.

Comments

    Ничего не найдено.