Проблема MPC и искажённые схемы Яо
Разберитесь в защищённых вычислениях двух сторон с помощью искажённых булевых схем
«Проблема 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 — локальная установка не требуется.
Все уроки этого курса
- Проблема MPC и искажённые схемы Яо
- Протокол GMW и забывчивая передача
- SPDZ и арифметический MPC над разделёнными секретами
- Применение MPC: пересечение частных множеств и машинное обучение