Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Для создания пороговой схема Ади Шамир воспользовался уравнениями для многочленов в конечном поле [1414]. Выберем простое число р, которое больше количества возможных теней и больше самого большого из возможных секретов. Чтобы сделать секрет общим, сгенерируем произвольный многочлен степени от-1. Например, если нужно создать пороговую схему (3,й) (для восстановления М потребуется три тени), генерируется квадратичный многочлен
(ах2 + Ьх + Щтойр
где р - это случайное простое число, большее любого из коэффициентов. Коэффициенты а и Ъ выбираются случайным образом, они хранятся в тайне и отбрасываются после того, как распределяются тени. М - это сообщение. Простое число должно быть опубликовано. Тени получаются с помощью вычисления многочлена в п различных точках:
Другими словами, первой тенью может быть значение многочлена при х=\, второй тенью - значение многочлена при х = 2, и т.д.
Так как в квадратичных многочленах три неизвестных коэффициента, а, Ъ и М, для создания трех уравнений можно использовать любые три цели. Одной или двух теней не хватит, а четырех или пяти теней будет много.
Например, пусть М равно И. Чтобы создать пороговую схему (3, 5), в которой любые трое из пяти человек могут восстановить М, сначала получим квадратичное уравнение (7 и 8 - случайно выбранные числа chosen randomly):
F(x) = (7x 2 + 5x +ll) modl3
Пятью тенями являются:
кх = F(l) = 7 + 8 + 11=0 (mod 13)
к2 = F(2) = 28 + 16 + 11= 3 (mod 13)
k3 = F(3) = 63 + 24 + 11=7 (mod 13)
k4 = F(4) = 112 + 32 + 11= 12 (mod 13)
k5 = F(5) = 175 + 40 + 11= 5 (mod 13)
Чтобы восстановить М по трем теням, например, к2, к3 и к5, решается система линейных уравнений:
fl*22 + ft*2 + M = 3 (modl3)
fl*32 + ft*3 + M = 7 (modl3)
fl*52 + ft*5 + M = 5 (modl3)
Решением будут а = 1, 6 = 8 и М = 11. Итак, М получено.
Эту схему разделения можно легко реализовать для больших чисел. Если вы хотите разбить сообщение на 30 равных частей так, чтобы восстановить сообщение можно было, объединив любые шесть из них, выдайте каждому из 30 человек значения многочлена пятой степени.
F(x) = ах5 + bx4 + ex3 + dx2 + ex + M (mod/;)
Шесть человек могут шесть неизвестных (включая М), но пятерым не удастся узнать ничего об М.
Наиболее впечатляющим моментом совместного использования секрета является то, что, если коэффицие н-ты выбраны случайным образом, пять человек даже при помощи бесконечных вычислительных мощностей не смогут узнать ничего, кроме длины сообщения (которая и так им известна). Это также безопасно, как одноразовый блокнот, попытка выполнить исчерпывающий поиск (то есть, перебор всех возможных шестых теней) покажет, что любое возможное сообщение останется секретным. Это справедливо для всех представленных в этой книге схем разделения секр ета.
Векторная схема
Джордж Блэкли (George Blakley) изобрел схему, использующую понятие точек в пространстве [182]. Сообщение определяется как точка в от-мерном пространстве. Каждая тень - это уравнение (от-1)-мерной гиперплоскости, содержащей эту точку.
Например, если для восстановления сообщения нужны три тени, то оно является точкой в трехмерном пр о-странстве. Каждая тень представляет собой иную плоскость. Зная одну тень, можно утверждать, что точка находится где-то на плоскости. Зная две тени - что она находится где-то на линии пересечения двух плоскостей. Зная три тени, можно точно определить, что точка находится на пересечении трех плоскостей.
Дата публикования: 2014-11-18; Прочитано: 307 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!