Почему Вам нужна большая случайность для эффективного шифрования?

После тестирования я могу подтвердить, что команды to приводят к одинаковому результату. Они оба приводят к изящному перезапуску.

6
задан Readonly 31 January 2009 в 19:45
поделиться

8 ответов

Случайность означает неотгадываемый вход. Если вход является отгадываемым, то вывод может быть легко вычислен. Это плохо.

Например, Debian имел давнишнюю ошибку в своей реализации SSL, которой не удалось собрать достаточно случайности при создании ключа. Это привело к программному обеспечению, генерирующему один из только 32k возможные ключи. Таким образом легко возможно дешифровать что-либо зашифрованное с таким ключом путем попытки всех 32k возможностей путем испытания их, которому очень быстро дают сегодняшние скорости процессора.

13
ответ дан 8 December 2019 в 05:58
поделиться

Общий шаблон в криптографии следующий (передающий текст от alice до боба):

Take plaintext p
Generate random k
Encrypt p with k using symmetric encryption, producing crypttext c
Encrypt k with bob's private key, using asymmetric encryption, producing x
Send c+x to bob
Bob reverses the processes, decrypting x using his private key to obtain k

Причина этого шаблона состоит в том, что симметричное шифрование намного быстрее, чем асимметричное шифрование. Конечно, это зависит от хорошего генератора случайных чисел для создания k, иначе плохие парни могут просто предположить это.

1
ответ дан 8 December 2019 в 05:58
поделиться

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

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

С другой стороны, если у Вас есть информация о вероятных значениях ключа, Ваш исчерпывающий поиск ключевого пространства намного легче (или количество образцов, в которых Вы нуждаетесь для своего криптоанализа, намного ниже). Например, (в настоящее время) невозможно работать 2^128 испытательные дешифрования для обнаружения, каков 128-разрядный ключ на самом деле. Если Вы знаете, что ключевой материал вышел из временной стоимости, которую Вы знаете в миллиарде галочек, то Ваш поиск просто стал в 340282366920938463463374607431 раз легче.

4
ответ дан 8 December 2019 в 05:58
поделиться

Это имеет отношение к некоторым основным причинам криптографии:

  • Удостоверьтесь, что сообщение не изменено в пути (Неизменное)
  • Удостоверьтесь, что сообщение не прочитано, в пути (Защищают)
  • Удостоверьтесь, что сообщение от того, кто оно говорит, что это от (Подлинного)
  • Удостоверьтесь, что сообщение не является тем же как один ранее отправленный (Никакое Воспроизведение)
  • и т.д.

Существует несколько вещей, которые необходимо включать, затем, чтобы удостовериться, что вышеупомянутое верно. Одной из важных вещей является случайное значение.

Например, если я шифрую "Слишком много секретов" с ключом, он мог бы выпустить "dWua3hTOeVzO2d9w"

Существует две проблемы с этим - взломщик смог повреждать шифрование более легко, так как я использую очень ограниченный набор символов. Далее, если я отправляю то же сообщение снова, оно собирается выйти точно то же. Наконец, и взломщик мог записать его и отправить сообщение снова, и получатель не будет знать, что я не отправил его, даже если взломщик не повредил его.

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

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

Плохой источник случайности ограничивает набор символов снова, таким образом, легче повредиться, и если легко предположить, или иначе ограниченный, затем у взломщика есть меньше путей для попытки при выполнении атаки перебором.

- Adam

1
ответ дан 8 December 2019 в 05:58
поделиться

Для дешифрования сообщения необходимо знать правильный ключ.

Чем более возможно ключи, которые необходимо попробовать, тем тяжелее это должно дешифровать сообщение.

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

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

Таким образом, нам нужна некоторая случайность для создания этого непредсказуемым, какой ключ Вы заканчиваете тем, что использовали. Как упоминания David Schmitt, Debian имел ошибку, которая заставила его генерировать только небольшое количество уникальных ключей, что означает, что для дешифрования сообщения, зашифрованного реализацией OpenSSL по умолчанию на Debian, я просто должен попробовать это меньшее число возможных ключей. Я могу проигнорировать огромное количество других допустимых ключей, потому что реализация SSL Debian никогда не будет генерировать их.

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

2
ответ дан 8 December 2019 в 05:58
поделиться

Довольно хорошая статья, которая обрисовывает в общих чертах, почему не быть осторожным со случайностью может привести к ненадежности:

Это описывает, как назад в 1995 ключевая реализация SSL браузера Netscape была уязвима для предположения ключей SSL из-за отбора задач PRNG.

0
ответ дан 8 December 2019 в 05:58
поделиться

Вот аналогия "карточной игры": Предположим, что мы играем несколько партий в игру с той же декой карт. Перестановка деки между раундами является основным источником случайности. Если бы мы не переставили правильно, то Вы могли бы победить игру путем предсказания карт.

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

1
ответ дан 8 December 2019 в 05:58
поделиться

Решите эту проблему от Euler Проекта, и она действительно донесет то, что "большая случайность" сделает для Вас. Когда я видел этот вопрос, который был первой вещью, которая появилась в мой ум.

Используя метод он говорит о там, можно легко видеть то, что "больше случайности" получило бы Вас.

0
ответ дан 8 December 2019 в 05:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: