Ох, парень, с чего начать.
Большой, безусловно, черные ящики. Исследователи криптозащиты вокруг таких вещей, как проблема неосуществимости модели случайного Oracle. Исследователи безопасности находятся на другом краю и хотели бы, чтобы все использовалось как черный ящик, а не только хэш-функции. Это постоянный источник напряжения.
В качестве иллюстрации, если вы посмотрите на формальный анализ протоколов безопасности, например, логики BAN , вы увидите, что симметричное шифрование рассматривается как «идеальный блочный шифр». Здесь есть тонкое различие - логика BAN (и другие методы анализа протокола) не претендуют на доказательство безопасности; скорее они являются методами поиска недостатков. Поэтому не совсем верно, что здесь используется идеальная модель шифра. Однако эмпирически верно, что большая часть анализа безопасности имеет тенденцию ограничиваться формальной моделью, поэтому эффект тот же.
Мы еще даже не говорили о практикующих. Эти парни, как правило, даже не подозревают, что крипто-примитивы не предназначены для того, чтобы быть черными ящиками, и я сомневаюсь, что это когда-нибудь изменится - десятилетия попыток вбить это в их головы не имели значения.
Чтобы увидеть, насколько серьезна проблема, рассмотрите эту рекомендацию по безопасности, касающуюся подделки сигнатур API. Ошибка отчасти связана с атакой с удлинением длины в конструкции Меркле-Дамгарда (которая действительно очень проста) и затрагивает Flickr, DivShare, iContact, Mindmeister, Myxer, RememberTheMilk, Scribd, Vimeo, Voxel, Wizehhive и Zoomr. Авторы отмечают, что это далеко не полный список.
Я думаю, что практикующие заслуживают львиную долю вины за это печальное положение дел. С другой стороны, возможно, теоретики крипто-теории должны пересмотреть свою позицию. Их линия звучала так: «черные ящики невозможно построить; мы даже не собираемся пробовать». На что я говорю, поскольку ясно, что ваши конструкции все равно будут (неправильно) использоваться как черные ящики, почему бы хотя бы не попытаться сделать их как можно ближе к черным ящикам?
Газета « Возвращение Меркле-Дамгард» - отличный пример того, о чем я говорю. Они изучают понятие безопасности, что «хеш-функция произвольной длины H должна вести себя как случайный оракул, когда строительный блок фиксированной длины рассматривается как случайный оракул или идеальный блочный шифр». Этот вид теоретического исследования потенциально может быть чрезвычайно полезным на практике.
Теперь давайте перейдем к вашему примеру оценки цепи. Прошу не согласиться с вашим рассуждением. Это не так, как если бы вы взяли скомпилированный двоичный файл и вслепую превратили его в схему. Скорее, вы примените оценку схемы только к базовой функции сравнения, которая обычно довольно проста. Fairplay - это реализация схемы оценки. Мой коллега, который работал с этим, говорит мне, что это удивительно быстро. Хотя это правда, что эффективность - это проблема с оценкой схемы (и я знаю случаи из реальной жизни, когда она была отклонена по этой причине), она далека от демонстрации.
Вторая причина, по которой я с вами не согласен, заключается в том, что, если вы подумаете о некоторых типичных сценариях из реальной жизни, в которых вы, возможно, захотите провести неосведомленную оценку схемы - например, когда две компании выясняют, следует ли объединять, - вычислительные затраты участие тривиально по сравнению с общими человеческими усилиями и бюджетом.
Так почему же на практике никто не использует оценку общих безопасных функций? Отличный вопрос Это подводит меня ко второму различию между теорией и практикой: доверие действительно существует на практике! Не все должно быть сделано в параноидальной модели. Набор проблем, которые люди на самом деле хотят решить с помощью криптографии, намного, намного меньше, чем воображают криптографы.
Я знаю человека, который основал компанию, которая пыталась продавать безопасные многопартийные вычислительные услуги корпоративным клиентам. Угадайте, что - никто не хотел этого. Способ решения этих проблем заключается в подписании контракта с указанием того, что вы можете и не можете делать с данными, и что вы уничтожите данные после того, как закончите использовать их по назначению. В большинстве случаев это работает просто отлично.
Мое последнее различие между теорией и практикой касается PKI. В криптовалютах часто где-то вставляется предложение, в котором говорится: «мы предполагаем, что PKI». К сожалению, цифровые сертификаты для конечных пользователей (в отличие от веб-сайтов или сотрудников в корпоративном контексте, где существует естественная иерархия) никогда не материализуются. Этот классический документ описывает веселье, которое возникает, когда вы просите нормальных людей использовать PGP. Мне сказали, что программное обеспечение значительно улучшилось с тех пор, но основные дизайнерские и архитектурные проблемы и человеческие ограничения сегодня не сильно отличаются.
Я не думаю, что криптографы должны делать что-то по-другому из-за отсутствия реальной PKI, кроме как осознавать тот факт, что это ограничивает реальную применимость криптографических протоколов. Я бросил это, потому что это то, что я пытаюсь исправить.