Схема Миньотта — пороговая схема разделения секрета, построенная с использованием простых чисел. Позволяет разделить секрет (число) между сторонами таким образом, что его смогут восстановить любые участников, но участников восстановить секрет уже не смогут. Схема основана на китайской теореме об остатках.
Впервые схема была предложена в 1982 году французским учёным Морисом Миньоттом в качестве одного из вариантов использования -пороговой схемы, описанной Ади Шамиром. Сам Шамир предлагал решение с применением интерполяции полинома на конечном поле, где секретом являлся сам полином. Миньотт же смог предоставить более простое решение, заложив в основу модулярный подход - секретом является некоторое число, а частичным секретом - его вычет по некоторому модулю. Доработанной схемой Миньотта является схема Асмута-Блума. В обеих схемах для восстановления секрета используется китайская теорема об остатках, формулировка которой определяет единственное решение (секрет)[1].
В основе схемы лежит использование китайской теоремы об остатках, которая позволяет пользователям, имеющим некоторую долю секрета, восстановить сам секрет, причём единственным образом. Существует несколько версий теоремы, назовём следующую общей: Пусть . Тогда система уравнений
имеет решения в тогда и только тогда, когда . Более того, если приведенная система имеет решения в , она имеет единственное решение в определяет наименьшее общее кратное . В случае, если , китайскую теорему об остатках называют стандартной[2].
Допустим, имеется n пользователей, пронумерованных от до , и набор групп , где - все подгруппы группы . Фактически, -схема разделения секрета – это метод генерации секретов таких, что:
будем называть структурой доступа, – секретом, а – тенями . Наборы элементов из назовём группами авторизации. В идеальной схеме разделения секрета тени любой группы, не являющейся группой авторизации, не даёт информации (с точки зрения теории информации) о секрете. Доказано, что в любой идеальной схеме разделения секрета размер каждой из теней должен быть не меньше размера самого секрета. Естественным является условие о том, что структура доступа должна быть монотонной, то есть: . Любая структура доступа хорошо описывается с помощью минимального набора групп авторизации: . Можно описать и структуру доступа, не обладающую свойствами авторизации: . Её хорошо описывает максимальный набор групп "неавторизации":
В первых схемах разделения секрета только количество участников являлось важным при восстановлении секрета. Такие схемы были названы пороговыми схемами разделения секрета. Пусть , тогда структура доступа называется -пороговой структурой доступа.
Стоит учесть также, что для -пороговых структур доступа.:
.
Все -схемы разделения секрета также назовём -пороговыми схемами разделения секрета[1].
Пороговая схема разделения секрета Миньотта использует специальные последовательности чисел, названные последовательностями Миньотта. Пусть – целое, , и . -последовательность Миньотта – последовательность взаимно простых положительных таких, что Последнее утверждение также равносильно следующему: [1]
Имея открытый ключ-последовательность Миньотта, схема работает так:
Секретом является решение приведенной выше системы, более того, лежит в пределах , т.к. . С другой стороны, имея всего различных теней , можно сказать, что , где – единственное решение по модулю исходной системы (в данном случае: .[1] Для того, чтобы получить приемлемый уровень безопасности, должны быть использованы последовательности Миньотта с большим значением [3] Очевидно, что схема Миньотта не обладает значительной криптографической стойкостью, однако может оказаться удобной в приложениях, где компактность теней является решающим фактором.
Допустим, необходимо разделить секрет между пользователями так, чтобы любые могли его восстановить.
.
Из формулировки китайской теоремы об остатках знаем, что решение будет единственным.
Для данной пороговой схемы элементы последовательности не обязательно являются взаимно простыми. Пусть – целое, . Обобщённой -последовательностью Миньотта называют такую последовательность положительных целых чисел, что . Нетрудно видеть, что любая -последовательность Миньотта является обобщённой -последовательностью Миньотта. Более того, если умножить каждый элемент обобщённой последовательности на фиксированный элемент , также получим обобщённую -последовательность Миньотта. Расширенная схема Миньотта работает так же, как и обыкновенная для и .В данном случае для нахождения секрета необходимо использовать обобщённый вариант китайской теоремы об остатках.[4]
Схема также может быть применена для реализации схемы со взвешенным разделением секрета. В равновесных схемах, которой и является классическая схема Миньотта, каждый участник получает тень одинаковой ценности. Однако, схему можно доработать так, чтобы участникам с тенью большего веса требовалось меньше других теней, нежели участникам с тенью меньшего веса.
Пусть - секрет, где - веса теней пользователей. Сгенерируем -последовательность Миньотта, где . Тогда , где - произвольное разбиение множества такое, что
Можно заметить, что существует однозначное соответствие между размером и весом тени: например, бит — это тень весом 1, тень весом будет весить битов. Реализация схемы Миньотта со взвешенным разделением секрета не является целесообразной, так как генерация последовательности Миньотта и взвешенной пороговой структуры доступа является трудо- и ресурсоемкой задачей. Существуют более простые и эффективные схемы со взвешенным разделением секрета, в которых также устранена зависимость между весом и размером тени.[5]
и вычислить S, применив китайскую теорему об остатках. Так как размер составляет битов, размер произведения модулей состоит из, по меньшей мере, , можно видеть, что , пока . Именно это позволяет вычислить секрет единственным образом. Можно ослабить условие на сумму весов долей до , тогда в случае длина составляет, как минимум, , поэтому необходимо ограничить до битов. Если же это невозможно, можно сохранить работоспособность схемы, введя дополнительный элемент, модуль которого - наименьшее простое число из битов, доля элемента - . Этот элемент можно использовать, как дополнительное уравнение в приведенной выше системе, в таком случае , поэтому секрет можно будет восстановить единственным образом. В данной схеме устранён один из главных недостатков обыкновенной схемы с разделением взвешенного секрета - любую долю можно описать точкой , причём эта точка не обладает зависимостью между собственным весом и размером.
Данную схему можно также изменить для работы с несколькими секретами. Допустим, необходимо разделить секреты , каждый секрет состоит из битов. Сложим секреты вместе, получив один секрет длиной битов. Необходимо рассмотреть три случая:
Значительную часть времени выполнения схемы отнимает генерация последовательностей Миньотта и взаимно простых модулей. Допустим, имеются доли с весами соответственно. Общий вес долей составит , вес, необходимый для раскрытия секрета - , размер числа - битов.
Таким образом, общая сложность генерации последовательности Миньотта составляет .
Схема не обладает хорошей производительностью, так как возможно модифицировать её и тем самым избавиться от необходимости генерации последовательностей Миньотта. На графиках приведены результаты анализа производительности схемы, основанной на схеме Миньотта со взвешенном разделением секрета и самой схемы. Для построения графика была выбрана -пороговая схема с одним секретом, и соответственно[5].
Можно выделить две схемы, описывающих поведение злоумышленников в пороговых схемах: модель CDV, в которой злоумышленники знают секрет и пытаются передать другим участникам ложные данные, и модель OKS, в которой злоумышленники не знают секрета заранее. В обыкновенной схеме Миньотта один злоумышленник всегда может обмануть пользователей в модели CDV и с большой вероятностью - в модели OKS. Допустим, участники разделили секрет, и пользователь решает сжульничать. Следовательно, он должен изменить свою тень на так, чтобы . Пусть . Используя китайскую теорему об остатках, получим , то есть, представим в виде . Так как последовательность Миньотта известна, можно найти . Можно выбрать , откуда
В модели CDV злоумышленник знает секрет, поэтому используя выражение он может удостовериться в том, что (рис.1), существование гарантировано, если участников не могут определить секрет. Следовательно, злоумышленник может обмануть участников схемы с вероятностью 1. Более того, в этой модели злоумышленник может контролировать значение , вычисляя напрямую из : , где
В модели OKS, так как злоумышленник не знает секрет, он не может проверить истинность неравенств и . В таком случае он всегда может использовать . Единственный вариант, при котором обман может быть раскрыт - , откуда (рис.2) или (рис.3). Следовательно, вероятность успешного обмана составляет [7]
Пусть . Тогда для секрета будут сгенерированы тени . Допустим, участники 1,2,3 объединили свои доли, и участник 1 хочет сжульничать. Тогда он вычисляет и изменяет свою долю так, что . В таком случае, после решения системы уравнений участники восстановят неверный секрет , также находящийся между и . При этом пользователь 1 может получить настоящий секрет: [7]
Для того, чтобы избежать подобных махинаций, можно сделать следующее:
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .