Искаженная схема
Эта статья может быть слишком технической для понимания большинства читателей . ( январь 2017 г. ) |
Искаженная схема — это криптографический протокол , который обеспечивает двусторонние безопасные вычисления , в которых две недоверчивые стороны могут совместно оценивать функцию на основе своих частных входных данных без присутствия доверенной третьей стороны. В протоколе искаженной схемы функция должна быть описана как булева схема .
История искаженных цепей сложна. Изобретение искаженной схемы было приписано Эндрю Яо , поскольку Яо представил эту идею во время устной презентации статьи. [1] в ФОКС '86. Это было задокументировано Одедом Гольдрейхом в 2003 году. [2] Первый письменный документ об этой технике был написан Голдрейхом, Микали и Вигдерсон в STOC '87. [3] Термин «искаженная схема» впервые был использован Бивером, Микали и Рогавеем в STOC'90. [4] Протокол Яо, решающий «Проблему миллионеров Яо», был первым примером безопасных вычислений, однако он не имеет прямого отношения к искаженным схемам.
Предыстория [ править ]
Незаметный трансфер [ править ]
В протоколе искаженной цепи мы используем не обращающую внимания передачу . При забывчивой передаче строка передается между отправителем и получателем следующим образом: отправитель имеет две строки. и . Получатель выбирает и отправитель отправляет с забывчивым протоколом передачи, таким, что
- получатель не получает никакой информации о неотправленной строке ,
- ценность не раскрывается отправителю.
Обратите внимание, что хотя получатель не знает значений, на практике получатель знает некоторую информацию о том, что кодирует так, чтобы получатель не делал слепой выбор . То есть, если кодирует ложное значение, кодирует истинное значение, и получатель хочет получить закодированное истинное значение, получатель выбирает .
Незаметную передачу можно реализовать с использованием асимметричной криптографии, такой как криптосистема RSA .
Определения и обозначения [ править ]
Оператор строк это конкатенация . Оператор это побитовое XOR . k — параметр безопасности и длина ключей. Оно должно быть больше 80 и обычно устанавливается на уровне 128.
Протокол искаженной цепи [ править ]
Протокол состоит из 6 шагов следующим образом:
- Основная функция (например, в задаче миллионеров функция сравнения) описывается как булева схема с двумя входными вентилями. Схема известна обеим сторонам. Этот шаг может быть выполнен заранее третьей стороной.
- Алиса искажает (шифрует) схему. Мы называем Алису обманщицей .
- Алиса отправляет искаженную схему вместе со своими зашифрованными входными данными. Бобу
- Чтобы рассчитать схему, Бобу также необходимо исказить свои собственные входные данные. Для этого ему нужна помощь Алисы, ведь только шифровальщик умеет шифровать. Наконец, Боб может зашифровать вводимые данные посредством неконтролируемой передачи. Согласно определению, данному выше, Боб является получателем, а Алиса — отправителем при этой не обращающей внимания передаче.
- Боб оценивает (расшифровывает) схему и получает зашифрованные выходные данные. Мы называем Боба оценщиком .
- Алиса и Боб общаются, чтобы узнать результат.
Генерация схемы [ править ]
Булеву схему для небольших функций можно сгенерировать вручную. Обычно схему составляют из двухвходовых «исключающее ИЛИ» и «И» логических элементов . Важно, чтобы сгенерированная схема имела минимальное количество вентилей И (см. Свободная оптимизация XOR ). Существуют методы, которые генерируют оптимизированную схему с точки зрения количества логических элементов И, используя логического синтеза . технику [5] Схема «Задачи миллионеров» представляет собой схему цифрового компаратора (которая представляет собой цепочку полных сумматоров, работающих как вычитатель и выдающих флаг переноса ). Схема полного сумматора может быть реализована с использованием только одного вентиля И и нескольких вентилей исключающее ИЛИ . Это означает, что общее количество логических элементов И для схемы «Задачи миллионеров» равно разрядности входов.
Garbling[editИскажение
На этом этапе Алиса (искажитель) шифрует логическую схему , чтобы получить искаженную схему . Алиса назначает две случайно сгенерированные строки, называемые метками, каждому проводу в схеме: одну для логической семантики 0 и одну для 1. (Метка имеет длину k бит, где k — параметр безопасности и обычно имеет значение 128.) Далее она идет ко всем элементам схемы и заменяет 0 и 1 в таблицах истинности соответствующими метками. В таблице ниже показана таблица истинности для логического элемента И с двумя входами. и вывод :
а | б | с |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Алиса заменила 0 и 1 соответствующими метками:
а | б | с |
---|---|---|
Затем она шифрует выходную запись таблицы истинности соответствующими двумя входными метками. Зашифрованная таблица называется искаженной таблицей. Это сделано для того, чтобы расшифровать искаженную таблицу можно было только в том случае, если у него есть две правильные входные метки. В таблице ниже, с двойным ключом — это симметричное шифрование , в котором k — секретный ключ, а X — значение, подлежащее шифрованию (см. Блочный шифр с фиксированным ключом ).
Искаженный стол |
---|
После этого Алиса случайным образом переставляет таблицу так, что выходное значение невозможно определить по строке. имя протокола Искаженное получено из этой случайной перестановки.
Передача данных [ править ]
Алиса отправляет Бобу вычисленные искаженные таблицы для всех элементов схемы. Бобу нужны метки ввода, чтобы открыть искаженные таблицы. Таким образом, Алиса выбирает метки, соответствующие ее входным данным. и отправляет их Бобу. Например, если ввод Алисы , затем она отправляет , , , , и Бобу. Боб ничего не узнает о вкладе Алисы. , поскольку метки генерируются Алисой случайным образом и для Боба они выглядят как случайные строки.
Бобу также нужны метки, соответствующие его входным данным. Он получает свои ярлыки путем не обращая внимания на передачу каждого бита своего ввода. Например, если входные данные Боба , Боб сначала спрашивает между ярлыками Алисы и . 1 из 2 Через невнимательную передачу он получает и так далее. После забывчивых передач Алиса ничего не узнает о вводе Боба, а Боб ничего не узнает о других метках.
Оценка [ править ]
После передачи данных у Боба остаются искаженные таблицы и метки входных данных. Он проходит через все ворота один за другим и пытается расшифровать строки в их искаженных таблицах. Он может открыть одну строку для каждой таблицы и получить соответствующую выходную метку: , где . Он продолжает оценку, пока не достигнет выходных меток.
Выявление результатов [ править ]
После оценки Боб получает выходную метку: , и Алиса знает его сопоставление с логическим значением, поскольку у нее есть обе метки: и . Либо Алиса может поделиться своей информацией с Бобом, либо Боб может раскрыть выходные данные Алисе, так что один или оба из них изучат выходные данные.
Оптимизация [ править ]
Точка и перестановка [ править ]
В этой оптимизации Алиса генерирует случайный бит, , называется битом выбора для каждого провода . Она устанавливает первый бит метки 0, к и первый бит метки 1, , к ( НЕ из ). Она делает то же самое с проволокой . Затем она, вместо случайных перестановок, сортирует искаженную таблицу в соответствии с входными битами выбора. Таким образом, Бобу не нужно проверять все четыре строки таблицы, чтобы найти правильную, поскольку он получает биты указателя с каждой меткой провода и может найти правильную строку и расшифровать ее за одну попытку. Это снижает нагрузку на оценку в 4 раза. Он также ничего не раскрывает о выходном значении, поскольку биты выбора генерируются случайным образом. [6]
Сокращение строк [ править ]
Эта оптимизация уменьшает размер искаженных таблиц с 4 до 3 строк. Здесь вместо случайной генерации метки для выходного провода вентиля Алиса генерирует ее, используя функцию входных меток. Она генерирует выходные метки так, что первая запись в искаженной таблице становится нулевой и ее больше не нужно отправлять: [7]
Бесплатный XOR [ править ]
В этой оптимизации Алиса генерирует глобальное случайное (k-1)-битное значение. который держится в секрете. Во время искажения входных ворот и , она только генерирует метки и вычисляет другие метки как и . Используя эти значения, метка выходного провода элемента XOR с входными проводами , установлено на . Доказательство безопасности случайной модели Oracle для этой оптимизации приведено в статье Free-XOR. [8]
Значение [ править ]
Свободная оптимизация XOR подразумевает важный момент: объем передачи данных (коммуникации), а также количество операций шифрования и дешифрования (вычислений) протокола искаженной схемы зависит только от количества логических элементов И в логической схеме, а не от логических элементов исключающего ИЛИ . Таким образом, между двумя логическими схемами, представляющими одну и ту же функцию, предпочтительна схема с меньшим количеством логических элементов И.
Блок-шифр с фиксированным ключом [ править ]
Этот метод позволяет эффективно искажать и оценивать логические элементы AND с использованием AES с фиксированным ключом вместо дорогостоящей криптографической хэш-функции , такой как SHA-2 . В этой схеме искажения, совместимой с методами Free XOR и Row Reduction , выходной ключ шифруется входным токеном и используя функцию шифрования , где , представляет собой блочный шифр с фиксированным ключом (например, созданный с помощью AES ), и это уникальный номер для каждого шлюза (например, идентификатор шлюза), называемый tweak . [9]
Половина И [ править ]
Эта оптимизация уменьшает размер искаженной таблицы для логических элементов AND с 3 строк при сокращении строк до 2 строк. Показано, что это теоретический минимум числа строк в искаженной таблице для определенного класса методов искажения. [10]
Безопасность [ править ]
Искаженный контур Яо защищен от получестного противника. Злоумышленники этого типа следуют протоколу и не совершают никаких злонамеренных действий, но пытаются нарушить конфиденциальность ввода другой стороны, тщательно проверяя сообщения, передаваемые по протоколу.
Гораздо сложнее обеспечить защиту этого протокола от злонамеренного противника, который отклоняется от протокола. Одним из первых решений, позволяющих защитить протокол от злоумышленников, является использование доказательства с нулевым разглашением для предотвращения вредоносных действий во время протокола. [11] В течение многих лет этот подход рассматривался скорее как теоретическое решение, чем практическое решение, из-за его сложности. Но показано, что его можно использовать с небольшими накладными расходами. [12] Другой подход заключается в использовании нескольких сборщиков мусора для схемы и проверке правильности подмножества из них, а затем использовании остальных для вычислений в надежде, что, если искажитель был злонамеренным, он будет обнаружен на этапе проверки. [13] Другое решение состоит в том, чтобы сделать схему искажения аутентифицированной, чтобы оценщик мог проверить искаженную схему. [14] [15]
См. также [ править ]
Ссылки [ править ]
- ^ Яо, Эндрю Чи-Чи (1986). «Как генерировать и обмениваться секретами». 27-й ежегодный симпозиум по основам информатики (SFCS, 1986) . стр. 162–167. дои : 10.1109/SFCS.1986.25 . ISBN 978-0-8186-0740-0 .
- ^ Гольдрейх, Одед (2003). «Криптография и криптографические протоколы» . Распределенные вычисления: доклады по случаю 20-летия PODC . 16 (2–3): 177–199. CiteSeerX 10.1.1.117.3618 . дои : 10.1007/s00446-002-0077-1 . S2CID 9966766 .
- ^ Гольдрейх, Одед; Микали, Сильвио; Вигдерсон, Ави (1987). «Как играть в ЛЮБУЮ умственную игру». Материалы девятнадцатой ежегодной конференции ACM по теории вычислений - STOC '87 . стр. 218–229. дои : 10.1145/28395.28420 . ISBN 978-0897912211 . S2CID 6669082 .
- ^ Бивер, Дональд; Микали, Сильвио; Рогауэй, Филипп (1990). «Круглая сложность безопасных протоколов». Материалы двадцать второго ежегодного симпозиума ACM по теории вычислений - STOC '90 . стр. 503–513. CiteSeerX 10.1.1.697.1624 . дои : 10.1145/100216.100287 . ISBN 978-0897913614 . S2CID 1578121 .
- ^ Сонгори, Ибрагим М; Хусейн, Сиам У; Садеги, Ахмад-Реза; Шнайдер, Томас; Кушанфар, Фариназ (2015). «TinyGarble: сильно сжатые и масштабируемые последовательные искаженные схемы». Симпозиум IEEE 2015 по безопасности и конфиденциальности . стр. 411–428. дои : 10.1109/СП.2015.32 . ISBN 978-1-4673-6949-7 . S2CID 5346323 .
- ^ Бивер, Дональд; Микали, Сильвио; Рогауэй, Филипп (1990). «Круглая сложность безопасных протоколов». Материалы двадцать второго ежегодного симпозиума ACM по теории вычислений - STOC '90 . стр. 503–513. CiteSeerX 10.1.1.697.1624 . дои : 10.1145/100216.100287 . ISBN 978-0897913614 . S2CID 1578121 .
- ^ Наор, Мони; Пинкас, Бенни; Самнер, Рубан (1999). «Аукционы с сохранением конфиденциальности и конструкция механизмов». Материалы 1-й конференции ACM по электронной коммерции . стр. 129–139. CiteSeerX 10.1.1.17.7459 . дои : 10.1145/336992.337028 . ISBN 978-1581131765 . S2CID 207593367 .
- ^ Колесников Владимир; Шнайдер, Томас (2008). «Улучшенная искаженная схема: бесплатные вентили XOR и приложения». Автоматы, языки и программирование . Конспекты лекций по информатике. Том. 5126. стр. 486–498. CiteSeerX 10.1.1.160.5268 . дои : 10.1007/978-3-540-70583-3_40 . ISBN 978-3-540-70582-6 .
- ^ Белларе, Михир; Хоанг, Вьеттунг; Килвидхи, Шрирам; Рогауэй, Филипп (2013). «Эффективное искажение блочного шифра с фиксированным ключом». Симпозиум IEEE 2013 по безопасности и конфиденциальности . стр. 478–492. CiteSeerX 10.1.1.299.2755 . дои : 10.1109/СП.2013.39 . ISBN 978-0-7695-4977-4 . S2CID 1351222 .
- ^ Захур, Сами; Росулек, Майк; Эванс, Дэвид (2015). Две половинки составляют целое (PDF) .
- ^ Гольдвассер, С; Микали, С; Ракофф, К. (1 декабря 1985 г.). «Сложность знаний интерактивных систем доказательств» . Материалы семнадцатого ежегодного симпозиума ACM по теории вычислений - STOC '85 . Провиденс, Род-Айленд, США: Ассоциация вычислительной техники. стр. 291–304. дои : 10.1145/22145.22178 . ISBN 978-0-89791-151-1 . S2CID 8689051 .
- ^ Абаскаль, Джексон; Фагихи Серешги, Мохаммед Хосейн; Хазай, Кармит; Ишаи, Юваль; Венкитасубраманиам, Мутурамакришнан (30 октября 2020 г.). «Практична ли классическая парадигма GMW? Случай неинтерактивной двухкомпьютерной системы с активной защитой» . Материалы конференции ACM SIGSAC 2020 года по компьютерной и коммуникационной безопасности . ККС '20. Виртуальное мероприятие, США: Ассоциация вычислительной техники. стр. 1591–1605. дои : 10.1145/3372297.3423366 . ISBN 978-1-4503-7089-9 . S2CID 226228208 .
- ^ Линделл, Иегуда; Пинкас, Бенни (2007). «Эффективный протокол для безопасных двусторонних вычислений в присутствии злонамеренных противников». В Наоре, Мони (ред.). Достижения в криптологии – EUROCRYPT 2007 . Конспекты лекций по информатике. Том. 4515. Берлин, Гейдельберг: Springer. стр. 52–78. Бибкод : 2007LNCS.4515...52L . дои : 10.1007/978-3-540-72540-4_4 . ISBN 978-3-540-72540-4 .
- ^ Ишаи, Юваль; Кушилевиц, Эяль; Островский, Рафаил; Прабхакаран, Манодж; Сахай, Амит (2011). «Эффективные неинтерактивные безопасные вычисления». В Патерсоне, Кеннет Г. (ред.). Достижения в криптологии – EUROCRYPT 2011 . Конспекты лекций по информатике. Том. 6632. Берлин, Гейдельберг: Springer. стр. 406–425. дои : 10.1007/978-3-642-20465-4_23 . ISBN 978-3-642-20465-4 .
- ^ Хазай, Кармит; Ишаи, Юваль; Венкитасубраманиам, Мутурамакришнан (2017). «Активная защита искаженных цепей с постоянными издержками связи в простой модели» . В Калаи, Яэль; Рейзин, Леонид (ред.). Теория криптографии . Конспекты лекций по информатике. Том. 10678. Чам: Springer International Publishing. стр. 3–39. дои : 10.1007/978-3-319-70503-3_1 . ISBN 978-3-319-70503-3 .
Дальнейшее чтение [ править ]
- «Искаженная схема Яо» (PDF) . CS598 . Иллинойс.edu . Проверено 18 октября 2016 г.