Безопасные многосторонние вычисления

редактировать

Безопасные многосторонние вычисления (также известные как безопасные вычисления, многостороннее вычисление (MPC), или вычисление с сохранением конфиденциальности ) - это подполе криптография с помощью методов создания сторонних дополнительных вычислений функции над своими входными данными сохраняя конфиденциальность этих данных. В отличие от криптографических задач, где криптография обеспечивает безопасность и целостность связи или хранения, а злоумышленник находится за пределами системы участников (перехватчик на отправителе и получателе), криптография в этой модели участников конфиденциальность друг от друга.

Основа безопасных многосторонних вычислений началась в конце 1970-х годов с работы над ментальным покером, криптографической работы, которая имитирует игровые / вычислительные задачи на расстоянии без необходимости использования доверенной третьей стороны. Обратите внимание, что традиционно криптография заключается в том, что этот новый тип вычислений используется в качестве нового типа вычислений и протокола является частичной информацией о данных при вычислениях из многих источников и правильного получения результатов.

Содержание
  • 1 История
  • 2 Определение и обзор
  • 3 Определения безопасности
  • 4 Протоколы
    • 4.1 Двусторонние вычисления
    • 4.2 Многосторонние протоколы
    • 4.3 Другие протоколы
  • 5 Практические системы MPC
    • 5.1 Протоколы на основе Yao
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
История

Протоколы специального назначения для конкретных задач, запущенных в конец 1970-х. Позже безопасные вычисления были официально представлены как безопасные двусторонние вычисления (2PC) в 1982 году (для так называемой проблемы миллионеров, конкретная логическая предикатом), и в целом (для любых рисов вычислений) в 1986 г. Эндрю Яо. Эта область также называется оценкой функции безопасности (SFE). За двухпартийным случаем последовало достижение многопартийности Голдрайхом, Микали и Вигдерсоном. Вычисления основаны на секретном совместном использовании всех входных данных и доказательств с нулевым разглашением для настоящего злонамеренного случая, когда большинство крупных игроков в случае злонамеренного выполнения заверяют, что плохое поведение выполняются. В этой работе была предложена очень простая схема, которой должны следовать все будущие многосторонние протоколы для безопасных вычислений. Протоколы, которые позволяют одной из безоговорочно использовать методы использования одной из сторон общих ресурсов. скрывать свой ввод. Приведенные выше численные модели, в которой противник ограниченми вычислениями за полиномиальное время и наблюдает за всеми коммуникациями, и поэтому модель называется "вычислительной моделью". Кроме того, было показано протокол передачи без внимания для этих задач. Приведенные выше результаты показали, что с помощью описанных выше вариантов достижения можно безопасных вычислений, когда большинство пользователейны.

Следующий вопрос, который нужно было решить, касался безопасных каналов связи, когда двухточечная связь недоступна злоумышленнику; в этом случае показано, что решения могут быть достигнуты, если до 1/3 сторон ведут себя неправильно и злонамеренно, и в решениях не используются криптографические инструменты (как безопасная связь). Добавление широковещательного канала позволяет изучать в книге Совершенно безопасная передача сообщений.

На протяжении многих лет концепции универсального многоцелевого протокола -party стали плодной областью основных свойств и общих проблем протокола, таких как альная универсальная компонуемость или мобильный злоумышленник, как в секрет упреждающее совместное использование.

. 2000-х годов и, конечно же, с 2010 года и далее, протоколов общего назначения переместилась в сторону повышения эффективности протоколов с учетом практических приложений. Были предложены все более эффективные протоколы для MPC, и теперь MPC можно рассматривать как практическое решение различных реальных проблем (особенно тех, которые требуют только линейного разделения секретов и, в основном, локальных операций на общих ресурсах с небольшим совместием между сторонами.) распределенное голосование, частные торги и аукционы, совместное использование подписи или функции дешифрования и поиск частной информации. Первое крупномасштабное и практическое применение многосторонних вычислений (применяемое на реальной аукционной задаче) имело место в Дании в январе 2008 г. Очевидно, что необходимы теоретические понятия и исследования, так и прикладные конструкции (например, условия для переноса MPC в условиях повседневного бизнеса защищена и представлена ​​в).

Определение и обзор

В MPC, заданное количество участников, p 1, p 2,..., p N, каждый имеет личные данные, соответственно d 1, d 2,..., d N. Участники хотят вычислить публичные функции на этих частных данных: F (d 1, d 2,..., d N), сохраняя свои собственные вводы секретны.

Например, предположим, что у нас есть три стороны, Алиса, Боб и Чарли, с входными данными x, y и z, обозначающими их зарплаты. Они предлагают самую большую из трех зарплат, не раскрывает друг другу. Математически это означает, что они вычисляют:

F (x, y, z) = max (x, y, z)

Если бы была какая-то доверенная сторонняя сторона (скажем, у них был общий друг Тони, которого они знали, могли сохранить в секрете), каждый из них мог вычислить свою зарплату Тони, он мог вычислить максимум и сообщить это число всем им. Цель MPC - разработанный протокол, в котором, обмениваясь сообщениями только друг с другом, Алиса, Боб и Чарли могут выучить F (x, y, z), не раскрывая, кто делает, полагаясь на Тони. Они не узнавать больше, участвуя в своем протоколе, чем они узнали бы, взаимодействуя с неподкупным, абсолютно заслуживающим доверия Тони.

В частности, все, что стороны могут узнать, - это то, что они могут узнать из результатов и их собственных входов. Итак, в приведенном выше примере, если на выходе получается z, тогда Чарли узнает, что его z является максимальным значением, тогда как Алиса и Боб узнают (если x, y и z различны), что их вход не равен максимуму, и что удерживает максимум равен z. Базовый сценарий можно легко обобщить на случай, когда стороны имеют несколько входов и выходов, а функция выдает разные значения разными сторонам.

Неформально говоря, используются свойства, которые стремятся обеспечить протокол многосторонних вычислений, - это:

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

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

Определения безопасности

Протокол многосторонних вычислений должен быть безопасным, чтобы быть безопасным. В современной криптографии безопасности протокола связ с доказательством безопасности. Доказательство безопасности - это математическое доказательство, в котором протокол сводится к безопасности его базовых примитивов. Тем не менее, не всегда возможно формализовать проверку безопасности криптографического протокола на основе знания стороны и правильности протокола. Для протоколов MPC среда, в которой работает протокол, связана с парадигмой реального / идеального мира. Нельзя сказать, что стороны ничего не узнают, так как им нужно узнать результат операции, а результат зависит от входов. Кроме того, правильный вывод не гарантируется, поскольку правильный вывод зависит от вводов сторон, и следует предполагать, что вводы повреждены.

Парадигма реального мира / идеального мира утверждает два мира: (i) В модели идеального мира существует неподкупная доверенная сторона, которой каждый участник протокола отправляет свои входные данные. Эта доверенная сторона вычисляет функцию самостоятельно и отправляет каждую соответствующую эффективную функцию. (ii) Напротив, в реальной модели нет доверенной стороны, и все стороны могут обмениваться сообщениями друг с другом. Протокол безопасным, если можно узнать о частных входах каждой стороны в настоящем мире не больше, чем можно узнать в идеальном мире. В идеальном мире между сторонами не происходит обмена сообщениями, поэтому может раскрыть какую-либо секретную информацию.

Парадигма реального мира / идеального мира обеспечивает простую абстракцию сложностей MPC, позволяющую создать идеальное приложение под предом того, что протокол MPC в его ядре на самом деле является настоящим исполнением. Оно безопасно в идеальном случае, когда вместо него запускается настоящий протокол.

Требования безопасности к протоколу MPC строги. Тем не, в 1987 году было установлено, что любая функция может быть менее вычислена с защитой от злоумышленников и других начальных работ, упомянутых ранее. Несмотря на это использование, MPC не разработан для того, чтобы быть эффективным для практического использования в то время. Безоговорочно или теоретически безопасный протокол совместного использования секрета , безопасного использования секрета (VSS), который многие защищенные протоколы MPC используют против активных противников.

В отличие от криптографических приложений, шифрование или подпись, следует предполагать, что противник в протоколе MPC является одним из игроков, вовлеченных в систему (или контролирующих внутренние стороны). Эта коррумпированная сторона стороны или вступить в сговор с целью нарушения безопасности протокола. n {\ displaystyle n}n будет сторон в протоколе, а t {\ displaystyle t}t быть сторон, которые могут быть противоборствующими. Протоколы и решения для случая t < n / 2 {\displaystyle t{\ displaystyle t <n / 2} (т.е. когда основное положение) отличаются от тех, где такое предположение не делается. Этот последний случай включает важный случай двухсторонних вычислений, когда один из участников может быть поврежден, и общий случай, когда неограниченное количество участников повреждено и вступает в сговор, чтобы атаковать честных участников.

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

  • Получестная (пассивная) безопасность: в этом случае, что коррумпированные стороны просто сотрудничают для сбора информации из протокола, но не отклоняться от спецификации протокола. Это наивная модель безопасности, защищающая слабая безопасность в ситуации. Однако протоколы безопасности, обеспечивающие такой уровень безопасности, предотвращают непреднамеренную утечку информации между (в противном случае, предотвращающие сообщения) и поэтому полезны, если это единственная проблема. Кроме того, протоколы в получестной модели довольно эффективны и часто являются важным шагом для достижения более высокого уровня безопасности.
  • Вредоносная (активная) безопасность: в этом случае злоумышленник может произвольно отклониться от выполнения протокола в попытке. Протоколы, обеспечивающие безопасность в этой модели, очень высокую гарантию безопасности. В случае сотрудничества недобросовестных сторон: Единственное, что может сделать противник в случае нечестного сотрудничества, - это заставить честные стороны «прекратить» обнаружение мошенничества. Если честные стороны действительно получают результат, то им гарантируется, что он правильный. Их конфиденциальность всегда сохраняется.

Защита от активных злоумышленников обычно приводит к снижению эффективности, что приводит к скрытой форме безопасности, ослабленной форме активной безопасности. Скрытая система безопасности фиксирует более реалистичные ситуации, когда активные противники способны обмануть, но только если их не поймают. Например, может быть нанесен ущерб их репутации, что помешает будущему сотрудничеству с другими честными сторонами. Таким образом, протоколы, являются скрыто защищенными, механизмами, гарантирующими, что если некоторые сторонние сторонние инструкции следуют инструкциям, это будет замечено с высокой вероятностью, скажем, 75% или 90%. В некотором смысле скрытые противники - это активные противники, которые вынуждены действовать пассивно из-за внешних не криптографических проблем (например, деловых) проблем. Этот механизм устанавливает между двумя моделями в надежде найти протоколы.

Как и многие криптографические протоколы, безопасность протокола MPC может зависеть от различных допущений:

  • Он может быть вычислительным (т. Е. Основанным на каком-либо математическом задаче, например, факторинг) или безусловным, а именно, полагаясь на физическую доступность сообщений в канале (обычно с некоторой вероятностью ошибки, которая может быть сделана сколь угодно малой).
  • Модель может предполагать, что участники используют синхронизированную сеть, где сообщение отправлено в «тик», всегда приходит в следующий «тик», или что существует безопасный и надежный широковещательный канал, или что существует защищенный канал связи между каждой парой участников, где злоумышленник не может читать, генерировать сообщения в канале и т. д.

Набор честных сторон, которые могут выполнять вычислительную задачу, связаны с концепцией структуры доступа. может быть статическим, когда противник выбирает своих начала многосторонних вычислений, или динамическим, когда он выбирает своих жертв в ходе выполнения многосторонних вычислений, что усложняет защиту. Противоборствующая структура может быть определена как пороговая структура или как более сложная структура. В пороговой структуре злоумышленник может испортить или прочитать ряд участников до некоторого порога. Между тем, в сложной структуре может влиять на заранее выдвижные подмножества участников, моделируя возможные сговоры.

Протоколы

Между протоколами, предложенными для двухсторонних вычислений (2PC) и многосторонних вычислений (MPC), имеются существенные различия. Кроме того, часто для важных протоколов специального назначения существует специальный протокол, который отличается от общих протоколов (голос, аукционы, платежи и т. Д.)

Двусторонние вычисления

Два Настройка вечеринки особенно интересна не только с точки зрения приложений, но также потому, что в двухсторонней настройке методы специальные, которые не применяются в случае многосторонней связи. Действительно, безопасное многостороннее вычисление (ограниченное случай безопасной функции, когда оценивается только одна функция) впервые было представлено в двухсторонней настройке. Оригинальная работа часто цитируется как одна из двух статей Яо; хотя документы на самом деле не содержат того, что теперь известно как протокол искаженных схем Яо.

базовый протокол Яо защищен от получестных противников и чрезвычайно эффективен с точки зрения количества раундов, которое является постоянным и не зависит от оцениваемая целевая функция. Функция рассматривается как логическая схема с двоичными входами фиксированной длины. Логическая схема - это набор вентилей, соединенных тремя разными типами проводов: проводами ввода схемы, проводами вывода схемы и промежуточными проводами. Каждый вентиль получает два входных провода и один выходной провод, который может быть разветвлен (то есть пройти к нескольким воротам на следующем уровне). Простая оценка схемы выполняется путем оценки каждого элемента по очереди; при условии, что ворота упорядочены топологически. Элемент представлен в виде таблицы истинности, так что для каждой возможной пары битов (исходящих из ворот входных проводов) таблица назначает уникальный выходной бит; это значение выходного провода ворот. Результатами оценки являются биты, полученные в выходных проводах схемы.

Яо объяснил, как исказить схему (скрыть ее структуру) так, чтобы две стороны, отправитель и получатель, могли узнать выход схемы и ничего больше. На высоком уровне отправитель подготавливает искаженную схему и отправляет ее получателю, который не обращает внимания на схему, изучая кодировки, соответствующие как его выходу, так и выходу отправителя. Затем он просто отправляет обратно кодировки отправителя, позволяя отправителю вычислить свою часть вывода. Отправитель отправляет отображение кодировок выходных данных получателя в биты получателю, позволяя получателю получить их выходные данные.

Более подробно искаженная схема вычисляется следующим образом. Главный компонент - это схема симметричного шифрования с двойным ключом. Для заданного элемента схемы каждое возможное значение его входных проводов (0 или 1) кодируется случайным числом (меткой). Значения, полученные в результате оценки логического элемента для каждой из четырех возможных пар входных битов, также заменяются случайными метками. Искаженная таблица истинности логического элемента состоит из шифрования каждой выходной метки с использованием ее входных меток в качестве ключей. Положение этих четырех шифров в таблице истинности рандомизировано, поэтому информация о шлюзе не просачивается.

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

Входные биты отправителя (т. Е. Создателей схемы) могут быть просто отправлены в качестве кодирования оценщику; тогда как кодировки получателя (то есть оценщиков цепей), соответствующие его входным битам, получаются через протокол 1-из-2 Oblivious Transfer (OT). Протокол OT 1-из-2 позволяет отправителю, обладающему двумя значениями C1 и C2, отправить то, которое запрошено получателем (значение ba в {1,2}) таким образом, чтобы отправитель не знает, какое значение было передано, а получатель узнает только запрошенное значение.

Если рассматривается злонамеренный злоумышленник, необходимо предоставить дополнительные механизмы для обеспечения правильного поведения обеих сторон. По конструкции легко обеспечить безопасность отправителя, поскольку все, что может сделать получатель, - это оценить искаженную схему, которая невозможность добраться до выходных проводов схемы, если он отклонится от инструкций. Совершенно иная ситуация со стороны отправителя. Например, он может послать неверную неправильную схему, вычисляющую функцию, раскрывающую вход получателя. Это означало бы, что конфиденциальность больше не сохраняется, но поскольку искажена, приемник не нарушена схема.

Многосторонние протоколы

Большинство протоколов MPC, в отличие от протоколов 2PC, особенно при безусловной настройке частных каналов, используют совместное использование секретов. В методах, основанных на совместном использовании секретов, стороны не основных ролей (как в Яо - разработчиках и оценщиках). Вместо этого используются данные, определяемые между каждым узлом, через каждый протокол. Функция теперь определяется как «схема» над конечным схемным полем, в отличие от двоичных, используемых для Яо. Такая схема в литературе называется арифметической схемой, она состоит из «ворот» сложения и умножения, в которых оперируемые значения в конечном поле.

Разделение позволяет распределять секреты между частными участками распределения между каждой стороной. Обычно используются два типа схем разделения секрета; Совместное использование секретов Шамира и дополнительный разделение секретов. В обоих случаях являются случайными элементами конечного поля, которые составляют секрет в поле; интуитивно безопасность достигается, потому что любой неквалифицированный набор выглядит распределенным случайным образом.

С помощью различных схем, противник может быть пассивным или активным, и предположения сделаны относительно мощности противник. Схема совместного использования секрета Shamir защищена от пассивного задействованного, когда t < n 2 {\displaystyle t<{\frac {n}{2}}}{\ displaystyle t <{\ frac {n} {2}}} , и активное, когда t < n 3 {\displaystyle t<{\frac {n}{3}}}{\ displaystyle t <{\ frac {n} {3}}} , при этом достигается теоретико-информационная безопасность, что означает, что даже противник имеет неограниченные вычислительные мощности, он не может узнать никакой информации о секрете, лежащем в основе доля. Протокол BGW, определяет, как вычислять сложение и умножение на секретных ресурсов общих ресурсов, часто используется для функций с секретными долями Шамира. Чтобы злоумышленник контролировал сторону, кроме того, что есть t < n {\displaystyle t{\ displaystyle t <n} , сохраняя при этом ограниченную вычислительную мощность. Для некоторых протоколов требуется этап настройки, который может быть защищен только от вычислительно ограниченного компонента.

В ряде систем реализованы различные формы ППС со разделением секрета. Самым популярным является SPDZ, который реализует MPC с дополнительными секретными разделами и защищен от активных злоумышленников.

Другие протоколы

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

Практические системы MPC

За последние годы в системах 2PC и MPC было сделано много успехов.

Протоколы на основе Yao

Одна из основных проблем при работе с протоколами на основе Yao заключается в том, что функция, которая должна быть надежно оценена (которая может быть произвольной программой), должна быть представлена В виде схемы, обычно состоящий из вентилей XOR и AND. Практически без использования программ циклы и сложных структур данных, это весьма нетривиальная задача. Система Fairplay была первым инструментом, разработанным для решения этой проблемы. Fairplay состоит из двух основных компонентов. Первый из них - это компилятор, позволяющий писать программы на простом языке высокого уровня и выводить эти программы в виде логической схемы. Затем выполнить второй программный сценарий и выполнить протокол для надежной оценочной схемы. Помимо двухсторонних вычислений на основе протокола Яо, Fairplay также может выполнять многосторонние протоколы. Это используется с использованием протокола BMR, который расширяет пассивно защищенный протокол Yao на активный случай.

За годы, прошедшие после введения Fairplay, в базовый протокол Yao было создано множество улучшений в виде повышения эффективности, так и методов активной безопасности. Метод XOR, который позволяет значительно проще оценивать XOR, сокращает искаженные строки, уменьшает размер искаженных таблиц с двумя входами на 25%.

Подход, который до сих пор кажется наиболее плодотворным в получении безопасности, необходим сочетание техники искажения и парадигмы «вырезать и выбрать». Эта комбинация, кажется, делает конструкции более эффективными. Чтобы избежать вышеупомянутых проблем, связанных с нечестным поведением, одним и тем же схемы отправления от конструктора к оценщику. Затем, подавляющее большинство основных закрытых из них с большой вероятностью верны, открывается для проверки согласованности. Результат - большинства голосов всех оценок. Обратите внимание, что здесь требуется большая часть вывода. Если есть разногласия по выходным данным, получатель знает, что отправитель жульничает, но он не может жаловаться, поскольку в случае это приведет к утечке информации на его входе.

Этот подход к активной безопасности был предложен Линделлом и Пинкасом. Этот метод был реализован Pinkas et al. в 2009 г. была проведена первая активно защищенная двухсторонняя схема Advanced Encryption Standard (AES), рассматриваемая как очень сложная (состоящая из около 30 000 логических элементов AND и XOR), нетривиальная функция (также с потенциальными приложениями), на вычисление уходит около 20 минут и требуется 160 для получения 2-40 схем {\ displaystyle 2 ^ {- 40}}{\ displaystyle 2 ^ {- 40}} вероятности обмана.

оценивает набор схем стороны (включая получателя) должны фиксировать свои входные данные, чтобы во всех итерациях использовались одни и те же значения. Эксперименты Пинкаса и др. Сообщается, что узкое место протокола заключается в проверках согласованности. Чтобы оценить схему AES, им пришлось отправить по сети около 6 553 600 обязательств с различными ценностями. В недавних результатах эффективность активно защищенных реализаций на основе Yao была улучшена, потребовалось всего 40 и схем меньше обязательств, чтобы получить 2-40 {\ displaystyle 2 ^ {- 40}}{\ displaystyle 2 ^ {- 40}} Вероятность обмана. Усовершенствовано выполнение счет новых методологий выполнения выборки по переданным цепям.

В последнее время уделяется высокопараллельным реализациям, основанным на искаженных схемах, предназначенных для работы на ЦП с большим количеством ядер. Кройтер и др. описать, работающую на 512 ядрах мощного кластерного компьютера. Используя эти ресурсы, они смогли оценить функцию 4095-битного расстояния редактирования, схема которой включает почти 6 миллиардов вентилей. Для этого они разработали специальный, лучше оптимизированный компилятор схем, чем Fairplay, и несколько новых оптимизаций, таких как конвейерная обработка, при которой передача искаженной схемы сети начинается, в то время как остальная часть схемы все еще генерируется. Время вычисления AES было сокращено до 1,4 секунды в активном случае использования кластерного компьютера с 512 узлами и до 115 секунд при использовании одного узла. Шелат и Шен улучшили это, используя обычное оборудование, до 0,52 секунды на блок. В той же статье сообщается о пропускной способности 21 блок в секунду, но с задержкой 48 секунд на блок.

Между другой группой исследователей использование графических процессоров потребительского уровня для достижения аналогичных уровней параллелизма. Они используют расширения OT и некоторые другие новые методы для разработки своего протокола, специфичного для графического процессора. Похоже, что этот подход обеспечивает сопоставимую эффективность с реализацией кластерных вычислений с использованием аналогичного количества ядер. Однако авторы сообщают только о реализации схемы AES, имеющей около 50 000 ворот. С другой стороны, здесь устройство гораздо более привлекательно, как на настольных компьютерах или игровых консолях людей. Авторы выполняют синхронизацию 2,7 секунды на блоке AES на стандартном рабочем столе со стандартным графическим процессором. Если они позволяют снизить уровень безопасности до уровня, они получают время выполнения 0,30 секунды на блок AES. В случае пассивной безопасности имеются сообщения об обработке схем с 250 миллионами вентилей и скоростью 75 миллионов вентилей в секунду.

См. Также
Ссылки
Внешние ссылки
  • Простое описание Проблема миллионера
  • Ссылки Хельгера Липмаа о многосторонних вычислениях
  • Ник Сабо, «Протоколы Бога» на Wayback Machine (архивировано 30 декабря 2006 г.)
  • EMP-toolkit - Эффективный набор инструментов для многосторонних вычислений. Включает контроль базовых примитивов ПДК, а также протоколов с получестной безопасностью и безопасностью.
  • Решатели защищенного распределенного CSP (DisCSP) - веб-приложение с апплетом-интерпретатором для разработки и запуска собственного полнофункционального развитые многосторонние вычисления (на основе декларативного языка SMC). Использует безопасную арифметическую оценку схемы и смешанные сети.
  • VMCrypt Библиотека Java для масштабируемых безопасных вычислений. Автор Лиор Малка.
  • Проект Fairplay - Включает программный пакет для безопасных двусторонних вычислений, где функция определяет использование языка функций высокого уровня и оценивается с использованием протокола Яо для безопасной оценки логических логических схем.
  • Проект SIMAP ; Безопасное управление и обработка информации (SIMAP) - это проект, спонсируемый Датским национальным исследовательским агентством, направленный на безопасных многосторонних вычислений.
  • Язык безопасных многосторонних вычислений - проект по разработке «предметно-ориентированного языка программирования для безопасных многосторонних вычислений» и связанная с ним криптографическая среда выполнения.
  • VIFF: Virtual Ideal Functionality Framework - Framework для асинхронных многосторонних вычислений (код доступа под LGPL ). Предлагает арифметические операции с секретными общими значениями, включая безопасное сравнение.
  • MPyC : безопасное многостороннее вычисление в Pythonзаписные книжки Jupyter ) - пакет с открытым исходным кодом для MPC с использованием настраиваемого типа сопрограмм Python, поддерживающий расширенные приложения такие как деревья решений ID3, линейное программирование, нейронные сети CNN / MLP, AES, односторонние хэш-цепочки и многое другое. Запущен в мае 2018 года.
  • SCALE-MAMBA MPC: алгоритмы безопасных вычислений от LEuven - платформа для различных протоколов MPC, включая семейство SPDZ (код доступен в рамках BSD ). Предлагает арифметические операции с секретными общими значениями, включая безопасное сравнение и поддержку арифметики с фиксированной и плавающей запятой.
  • Sharemind: анализируйте конфиденциальные данные без ущерба для конфиденциальности - распределенная виртуальная машина с возможностью выполнять операции с сохранением конфиденциальности. Имеет сохраняющий конфиденциальность язык программирования для инструментов интеллектуального анализа данных. Включает инструменты разработчика.
  • MPCLib: библиотека многосторонних вычислений - библиотека, написанная на C # и C ++, которая реализует несколько строительных блоков, необходимых для реализации безопасных протоколов многосторонних вычислений. MPCLib имеет механизм моделирования дискретных событий, который можно использовать для моделирования протоколов MPC в виртуальных сетях.
  • Виртуальные стороны в SMC Протокол для виртуальных сторон в SMC (безопасные многосторонние вычисления)
  • MPC на основе Java реализация Реализация протокола MPC на основе Java, основанная на теореме Michael.B, Shafi.G и Avi.W («Теоремы полноты для некриптографических отказоустойчивых распределенных вычислений») с алгоритмом кода исправления ошибок Велча-Берлекампа в коды BCH. Поддерживает несколько игроков и идентификацию «читеров» по ​​византийскому протоколу. Авторы: Эрез Алон, Дорон Фридланд и Яэль Смит.
  • SEPIA Библиотека Java для SMC, использующая совместное использование секретов. Базовые операции оптимизированы для большого числа параллельных вызовов (код доступен в разделе LGPL ).
  • Introduction to SMC на GitHub
  • Myst Project - апплет JavaCard, реализующий безопасное многостороннее создание ключей, подпись и дешифрование.
  • Основная библиография Безопасные многосторонние вычисления
Последняя правка сделана 2021-06-07 08:33:08
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте