Cryptology Academy · Урок

Проблема MPC и искажённые схемы Яо

Разберитесь в защищённых вычислениях двух сторон с помощью искажённых булевых схем

Урок 1 из 412 шагов

«Проблема MPC и искажённые схемы Яо» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.

Задача защищённых многосторонних вычислений

MPC позволяет n сторонам, каждая из которых владеет закрытым входным значением x_i, совместно вычислить f(x_1,...,x_n), не раскрывая друг другу свои входные данные, — как если бы вычисление выполняла доверенная третья сторона.

Классический пример: задача миллионеров

Задача миллионеров Яо 1982 года: Алиса и Боб хотят узнать, кто из них богаче, не раскрывая размер своего состояния. Доверенной третьей стороны нет. MPC решает эту задачу с криптографическими гарантиями.

Цели безопасности в MPC

1. Конфиденциальность: стороны узнают только результат и то, что могут из него вывести. 2. Корректность: результат остаётся правильным, даже если некоторые стороны скомпрометированы. 3. Существуют варианты для противников, следующих протоколу, и для злоумышленников.

Булевы схемы как модель вычислений

Любую функцию можно представить в виде булевой схемы с вентилями AND, XOR и NOT. Протоколы MPC часто работают на уровне схем, безопасно вычисляя каждый вентиль.

Построение искажённой схемы Яо

Алиса, формирующая искажённую схему, назначает каждому проводу две случайные метки: одну для 0 и одну для 1. Она шифрует таблицу истинности каждого вентиля с использованием меток входных проводов. Боб, вычисляющий схему, получает только метки для своих входов с помощью передачи с забыванием.

Вычисление искажённых вентилей

Боб получает искажённые таблицы — по 4 шифрования для каждого вентиля AND. Он расшифровывает ровно одну строку с помощью меток своих входов и получает метку выхода, не узнавая, представляет ли она 0 или 1.

Оптимизация «укажи и переставь»

Добавьте к каждой метке случайный «бит выбора». С помощью этих битов Боб находит правильную строку искажённой таблицы за O(1), вместо того чтобы пробовать все четыре расшифрования. Это сокращает объём вычислений в 4 раза.

Оптимизация Free-XOR

Kolesnikov и Schneider (2008): выберите глобальное смещение Δ. Тогда для каждого провода label_1 = label_0 ⊕ Δ. Вентили XOR становятся бесплатными — шифрование не требуется, что экономит примерно 30% пропускной способности.

Полусхемы: минимальное число вентилей AND

Zahur и др. (2015): для каждого вентиля AND требуется всего 2 шифротекста вместо 4. В сочетании с Free-XOR это вдвое уменьшает пропускную способность стандартных искажённых схем.

Искажение схем для двух и нескольких сторон

Классические искажённые схемы рассчитаны на 2 стороны. Расширения для нескольких сторон (например, протокол BMR) распараллеливают формирование схемы между всеми сторонами, но требуют обмена данными сложности O(n²). Это практически применимо при небольшом n.

Проверка знаний

Как в протоколе искажённой схемы Яо Боб получает метки проводов, соответствующие его закрытым входным битам?

Итоги урока

MPC позволяет сторонам совместно вычислять результат, не раскрывая входные данные. Искажённые схемы представляют булевы функции в виде зашифрованных таблиц истинности. Оптимизации (Free-XOR, полусхемы и «укажи и переставь») делают их практичными. OT позволяет Бобу конфиденциально получить метки для своих входов.

Можно начать бесплатно

Изучай Cryptology Academy с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
67
Уроки
261

Часто задаваемые вопросы

Урок «Проблема MPC и искажённые схемы Яо» бесплатный?

Да — полный текст урока «Проблема MPC и искажённые схемы Яо» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.

Чему я научусь в уроке «Проблема MPC и искажённые схемы Яо»?

Разберитесь в защищённых вычислениях двух сторон с помощью искажённых булевых схем Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cryptology Academy?

Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Проблема MPC и искажённые схемы Яо»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cryptology Academy?

Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Проблема MPC и искажённые схемы Яо
  2. Протокол GMW и забывчивая передача
  3. SPDZ и арифметический MPC над разделёнными секретами
  4. Применение MPC: пересечение частных множеств и машинное обучение
← Назад к Cryptology Academy