Большинство современных методов криптографии зависят от сложности факторизации чисел, являющихся произведением двух больших простых чисел. Насколько я понимаю, это сложно только до тех пор, пока метод, использованный для генерации больших простых чисел, не может быть использован в качестве ярлыка для разложения на результирующее составное число (а само разложение на большие числа сложно).
Похоже, математики время от времени находят лучшие комбинации, и в результате системы шифрования должны периодически обновляться. (Существует также вероятность того, что квантовые вычисления в конечном итоге сделают факторизацию гораздо более легкой проблемой, но это никого не удивит, если технология догонит теорию.)
Некоторые другие проблемы оказались сложными. Два примера, которые приходят на ум, - это вариации проблемы рюкзака и проблемы коммивояжера.
Я знаю, что Меркл-Хеллман был сломан, что Насако-Мураками остается в безопасности, и что проблемы с ранцами могут быть устойчивы к квантовым вычислениям. (Спасибо, Википедия.) Я ничего не нашел об использовании задачи коммивояжера для криптографии.
Итак, почему пары больших простых чисел управляют криптографией?
- Это просто потому, что в настоящее время легко генерировать пары больших простых чисел, которые легко умножить, но сложно разложить?
- Не потому ли, что факторизация пар больших простых чисел оказывается достаточно предсказуемой и достаточно хорошей?
- Являются ли пары больших простых чисел полезными не для трудностей, а для работы как для шифрования, так и для криптографического подписания?
- Является ли проблема генерации наборов задач для каждого из других типов задач, которые достаточно сложны для самой криптографической цели, слишком сложна для практического применения?
- Являются ли свойства других типов проблем недостаточно изученными, чтобы доверять им?
- Другой.
Ответы:
Боаз Барак обратился к этому в блоге
Мой вывод из его поста (грубо говоря) состоит в том, что мы знаем только, как создавать криптографические примитивы, используя вычислительные задачи, которые имеют некоторую структуру, которую мы используем. Без структуры мы не знаем, что делать. При слишком большой структуре проблема становится эффективно вычисляемой (поэтому бесполезной для криптографических целей). Кажется, что структура должна быть правильной.
источник
Все, что я собираюсь сказать, хорошо известно (все ссылки на Википедию), но здесь это идет:
Подход, используемый в RSA с использованием пар простых чисел, также может быть применен в более общей структуре циклических групп, особенно в протоколе Диффи-Хелмана , который обобщает( З / п дZ )× произвольной группе, особенно эллиптические кривые, которые менее восприимчивы к атакам, которые работают на целые числа. Были рассмотрены другие групповые структуры , которые могут быть некоммутативными, но ни одна из них широко не используется AFAIK.
Существуют и другие подходы к криптографии, в частности криптография на основе решетки, которая основывается на некоторых сложных задачах на решетках (например, нахождение точек с малой нормой на решетке) для реализации криптографии с открытым ключом. Интересно, что некоторые из этих систем доказуемо сложны , то есть могут быть сломаны тогда и только тогда, когда может быть решена соответствующая трудная задача в теории решеток. Это противоречит, скажем, RSA, который не предоставляет такую же гарантию . Обратите внимание, что подход на основе решетки предположительно не является NP-сложным (но пока кажется сложнее, чем целочисленный факторинг).
Особое внимание уделяется обмену ключами, а именно секретному раскрытию , которое обладает очень интересными свойствами теории сложности. Я не знаю подробностей, но теория протоколов с нулевым знанием позволяет Алисе , чтобы показать Бобу свое знание секрета , который является NP трудно вычислить (график гамильтониан) , не раскрывая секрет самого (путь в данном случае).
Наконец, вы можете проверить страницу постквантовой криптографии, чтобы увидеть некоторые альтернативные подходы к криптосистемам с открытым ключом, которые полагаются на сложные проблемы.
источник