Рейтинг:1

Безопасное целочисленное сравнение SS/HE/GC/OT

флаг de

Я читал некоторые статьи, чтобы найти «более быстрый» способ сравнить два целых числа, не раскрывая их реальных значений. Но я думаю, что немного потерялся в этих бумагах из-за своих ограниченных знаний в криптографии. Есть несколько статей, сравнивающих эффективность протоколов на основе HE/GC/OT, например https://eprint.iacr.org/2016/544.pdf Жоффруа Куто (в данный момент мне все еще немного трудно понять статью). Мой самый большой вопрос сейчас: почему существующие документы редко сравниваются с методами, основанными только на обмене секретами? Я думаю, что совместное использование секретов — это довольно простой подход, есть ли что-то, что совершенно не замечает, но я просто упускаю из виду, что делает безопасное сравнение, основанное на совместном использовании секретов, неконкурентоспособным по сравнению с этими методами, основанными на HE / GC / OT? Я знаю, что мой вопрос может показаться довольно общим, но я здесь немного потерялся, и любые указатели помогут.

Geoffroy Couteau avatar
флаг cn
Привет! Если у вас есть вопрос о моей статье, не стесняйтесь, напишите мне письмо.Важный момент для рассмотрения: моя статья (и другие) имеет то преимущество, что не раскрывает результат сравнения в явном виде, а вместо этого предоставляет секретные доли результата вычисления, что очень полезно, если вы хотите использовать протокол как строительный блок в более крупном протоколе. Это собственность, которую вы хотите иметь? Кроме того, вы находитесь в режиме 2 вечеринок? Хотите получестный протокол? Вы рассматриваете одиночное исполнение или многократные? Все эти соображения могут повлиять на лучшее решение.
Geoffroy Couteau avatar
флаг cn
Кроме того: совместное использование секрета - это теоретико-информационное понятие, и безопасные двухсторонние вычисления с теоретико-информационной безопасностью невозможны. Вы принципиально должны использовать какое-то вычислительное предположение, такое как OT. Это помогает?
rzxh avatar
флаг de
@GeoffroyCouteau Вау! Очень рад получить ответ от вас напрямую. Я не могу следовать отсюда: SS является теоретико-информационно безопасным. Могу ли я принять это как: SS имеет более сильную гарантию безопасности? Если я не ошибаюсь, SS также очень быстр для безопасного сравнения (довольно много недавних работ по машинному обучению с сохранением конфиденциальности используют такие строительные блоки на основе SS вместо HE/GC, и скорость очень хорошая). я думаю), тогда протоколы сравнения на основе SS должны были быть конкурентоспособными по сравнению с методами, основанными на HE/GC/OT (хорошая производительность, лучшая безопасность)? Или я где-то что-то напутал?
Рейтинг:3
флаг cn

Я думаю, что есть путаница с терминологией «безопасное вычисление от совместного использования секрета». Позвольте мне попытаться уточнить.

Есть две основные настройки для безопасных вычислений: настройка честного большинства (из $n$ партии, максимум $(n-1)/2$ нечестны) и установка нечестного большинства (до $n-1$ стороны могут быть нечестными). У этих двух настроек есть очень важное различие: первая может быть достигнута без каких-либо вычислительных предположений, поскольку она может быть защищена даже от недобросовестных сторон с неограниченной вычислительной мощностью. С другой стороны, второй «платит» своей более сильной устойчивостью к коррупции, обязательно требуя вычислительных предположений (протокол MPC с нечестным большинством не может быть защищен от вычислительно неограниченных сторон).

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

Обмен секретами нет вычислительное предположение. Разделение секретов существует безоговорочно: например, разделение секретов Шамира — это просто полиномиальная интерполяция. Поэтому доказуемо невозможно создать безопасный двухсторонний протокол вычислений для сравнения, используя только совместное использование секрета. Все протоколы должен полагаться на вычислительное предположение, которое может быть гомоморфным шифрованием, забывчивой передачей или чем-то еще.

Я думаю, что источник путаницы, вероятно, происходит из общей терминологии в MPC: многие люди используют терминологию «MPC, основанный на совместном использовании секретов», даже в условиях нечестного большинства. Но эта терминология просто означает, что методы совместного использования секретов использовал в протоколе, обычно аналогично протоколу GMW. Однако это не означает, что протокол использует исключительно совместное использование секрета, поскольку это невозможно. Как правило, когда мы говорим «MPC на основе совместного использования секрета», мы имеем в виду протокол MPC, который на самом деле использует методы совместного использования секрета и передачу без ведома.

Итак, «методы, основанные на совместном использовании секрета» для безопасного сравнения, точно так же, как и в моей статье, — это методы, использующие забывчивую передачу в качестве вычислительного предположения. Если вы посмотрите на мою статью в разделе 1.5, я также сравнил свой протокол с «общим 2PC, примененным к [GSV07]». Здесь «универсальный 2PC» относится к стандартному 2PC в стиле GMW, который часто называют «MPC на основе совместного использования секретов». Протокол в стиле GMW требует логического представления схемы целевой функции; именно поэтому я сказал «применительно к [GSV07]», который обеспечивает именно такую ​​схему. Следовательно, я сравниваю свою работу с тем, что часто называют «секретным обменом MPC», но я просто не использовал терминологию, которая, кажется, является источником вашей путаницы.

rzxh avatar
флаг de
@GeoffreyCouteau Итак, в настройке 2pc мы должны использовать вычислительное предположение для выполнения безопасных вычислений. Затем, например, если я хочу использовать логическую схему для умножения, при вычислении вентиля И я использую бобровые тройки. две ситуации: 1. 2 вычислительные стороны могут использовать HE или OT для генерации троек, являются ли здесь HE и OT вычислительным предположением, на которое мы ссылаемся? 2. Мы также можем использовать доверенных дилеров для генерации этих троек, в чем разница между ситуацией 1/2? Если мы используем доверенных дилеров, предварительно сгенерировав триплеты и отправив акции 2 сторонам, я думаю, что онлайн-этап будет очень эффективным.

Ответить или комментировать

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