Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 [ 6 ] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

M = M + rp

Тенями, k,, являются k, = M mod d,

Объединив любые m теней, можно восстановить M, используя китайскую теорему об остатках, но это невозможно с помощью любых m-1 теней. Подробности приведены в [65].

Karnin-Greene-Hellman

В этой схеме используется матричное умножение [818]. Выбирается n+1 m-мерных векторов, К0, V1, . . . Кп, так, что ранг любой матрицы размером m*m, образованной из этих векторов, равен m. Вектор U - это вектор размерности m+1.

M - это матричное произведение и-К0. Тенями являются произведения U-F,, где , меняется от 1 до n.

Любые m теней можно использовать для решения системы линейных уравнений размерности m*m, неизвестными являются коэффициенты U. U-Vo можно вычислить по U. Используя любые m-1 теней, решить систему уравнений и, таким образом, восстановить секрет невозможно .

Более сложные пороговые схемы

В предыдущих примерах показаны только простейшие пороговые схемы : секрет делится на n теней так, чтобы, объединив любые m из них, можно было раскрыть секрет. На базе этих алгоритмов можно создать намного более сложные схемы. В следующих примерах будет использоваться алгоритм Шамира, хотя будут работать и все остальные.

Чтобы создать схему, в которой один из участников важнее других, ему выдается больше теней . Если для восстановления секрета нужно пять теней, и у кого-то есть три тени, а у всех остальных - по одной , этот человек вместе с любыми двумя другими может восстановить секрет . Без его участия для восстановления секрета потр е-буется пять человек.

По несколько теней могут получить два человека и более . Каждому человеку может быть выдано отличное число теней. Независимо от того, сколько теней было роздано, для восстановления секрета потребуется любые m из них. Ни один человек, ни целая группа не смогут восстановить секрет, обладая только m-1 тенями.

Для других схем представим сценарий с двумя враждебными делегациями . Можно распределить секрет так, чтобы для его восстановления потребовалось двое из 7 участников делегации A и трое из 12 участников делегации B. Создается многочлен степени 3, который является произведением линейного и квадратного выражений . Каждому участнику делегации A выдается тень, которая является значением линейного выражения, а участн и-кам делегации B выдаются значения квадратичного выражения.

Для восстановления линейного выражения достаточны любые две тени участников делегации A, но независимо от того, сколько других теней есть у делегации , ее участники не смогут ничего узнать о секрете . Аналогично для делегации B: ее участники могут сложить три тени, восстанавливая квадратное выражение, но другую информацию, необходимую для восстановления секрета в целом, они получить не смогут . Только перемножив свои выражения, участники двух делегаций смогут восстановить секрет .

В общем случае, может быть реализована любая мыслимая схема разделения секрета . Потребуется только написать систему уравнений, соответствующих конкретной системе. Вот несколько прекрасных статей на тему обобщенных схем разделения секрета [1462, 1463, 1464].

Разделение секрета с мошенниками

Этот алгоритм изменяет стандартную пороговую схему (m, n) для обнаружения мошенников [1529]. Я покажу его использование на базе схемы Лагранжа, но алгоритм работает и с другими схемами. Выбирается простое число p, большее n и большее

(s - 1)(m - 1)/e + m

где s - это самый большой возможный секрет, а e - вероятность успеха мошенничества. e можно сделать настолько малым, насколько это необходимо, это просто усложнит вычисления . Постройте тени как раньше, но вместо использования 1, 2, 3, . . . , n для x,, выберите случайным образом числа из диапазона от 1 до p-1.

Теперь, если Мэллори при восстановлении секрета заменит свою часть подделкой , его тень с высокой вероятностью окажется невозможной. Невозможный секрет, конечно же, окажется подделанным секретом . Математика этой схемы приведена в [1529].

К сожалению, хотя мошенничество Мэллори и будет открыто, ему удастся узнать секрет (при условии, что все остальные нужные тени правильны). От этого защищает другой протокол, описанный в [1529, 975]. Основ-



ной идеей является использование набора из k секретов, так чтобы никто из участников заранее не знал, какой из них правильный. Каждый секрет, за исключением настоящего, больше предыдущего. Участники объединяют свои тени, получая один секрет за другим, пока они не получат наименьшее значение секрета. Этот секрет и будет правильным.

В этой схеме мошенники легко выявляются еще до получения конечного секрета . Существует определенные сложности, если участники предъявляют свои тени по очереди, подробности можно найти в литературе . В следующих работах также рассматриваются обнаружение и предотвращение мошенничества в пороговых схемах [355, 114, 270].

23.3 Подсознательный канал

Ong-Schnorr-Shamir

Этот подсознательный канал (см. раздел 4.2), разработанный Густавусом Симмонсом (Gustavus Simmons) [1458, 1459, 1460], использует схему идентификации Ong-Schnorr-Shamir (см. раздел 20.5). Как и в оригинальной схеме отправитель (Алиса) выбирает общедоступный модуль n и закрытый ключ k так, чтобы n и k были взаимно простыми числами. В отличии от оригинальной схемы k используется совместно Алисой и Бобом, получателем в подсознательном канале. Открытый ключ вычисляется следующим образом :

h = -k2 mod n

Если Алисе нужно отправить подсознательное сообщение M в безобидном сообщении M, она сначала проверяет, что пары M и n, а также M и n являются взаимно простыми числами. Алиса вычисляет

51 = 1/2*((M/M + M)) mod n

52 = 1/2*((M/M - M)) mod n

Пара чисел S1 и S2 представляет собой подпись в традиционной схеме Ong-Schnortr-Shamir и одновременно является носителем подсознательного сообщения .

Тюремщик Уолтер (помните такого?) может проверить подлинность сообщения, как это принято в Ong-Schnorr-Shamir, но Боб может сделать еще кое-что. Он может проверить подлинность сообщения (Всегда возможно, что Уолтер попытается ему подсунуть поддельное сообщение ). Он проверяет, что

S12 - S22 = M (mod n)

Если подлинность сообщения доказана, получатель может извлечь и подсознательное сообщение, используя следующую формулу:

M=M/(S1+ S2k-1) mod n

Это работает, но не забывайте, что сама схема Ong-Schnorr-Shamir была взломана. ElGamal

Другой предложенный Симмонсом подсознательный канал [1459], описанный в [1407, 1473], основан на схеме подписи ElGamal см. раздел 19.6).

Генерация ключа выполняется также, как и в основной схеме подписи ElGamal. Сначала выбирается простое число p и два случайных числа, g и r, меньшие p. Затем вычисляется

K = gr mod p

Открытым ключом служат K, g и p. Закрытым ключом является r. Помимо Алисы r известно и Бобу, это число используется не только для подписи безобидного сообщения, но и в качестве ключа для отправки и чт е-ния подсознательного сообщения.

Чтобы послать подсознательное сообщение M в безобидном сообщении, M, M и p должны быть попарно взаимно простыми, кроме того, взаимно простыми должны быть M и p-1. Алиса вычисляет

X = gM mod ,p

и решает следующее уравнение для Y (с помощью расширенного алгоритма Эвклида): M = rX+ MY mod (p-1)

Как и в базовой схеме ElGamal, подписью является пара чисел: X и Y. Уолтер может проверить подпись El-Gamal. Он убеждается, что

KXXY = g (mod



Боб может восстановить подсознательное сообщение . Сначала он убеждается, что (gr)XXY - g (mod

Если это так, он считает сообщение подлинным (не подделанным Уолтером). Затем для восстановления M он вычисляет

M = (Y-1 (M - rX)) mod (p - 1)

Например, пусть p = 11, а g = 2. Закрытый ключ r выбирается равным 8. Это означает, что открытым ключом, который Уолтер может использовать для проверки подписи, будет gr mod p = 28 mod 11 = 3.

Чтобы отправить подсознательное сообщение M = 9, используя безобидное сообщение M = 5, Алиса проверяет, что 9 и 11, а также 5 и 11 попарно взаимно просты . Она также убеждается, что взаимно просты 9 и 11-1=10. Это так, поэтому она вычисляет

X = g (mod = 29 mod 11 = 6

Затем она решает следующее уравнение для Y:

5 = 8 6 + 9 Y mod 10

Y= 3, поэтому подписью служит пара чисел 6 и 3 (X и Y). Боб убеждается, что (gr)XXY - g (mod (28)663 - 25 (mod 11)

Это так (выполните арифметические действия самостоятельно, если вы мне не верите ), поэтому он может раскрыть подсознательное сообщение, вычисляя

M = (Y-1 (M - rX)) mod (p - 1)= 3-1(5 - 8*6) mod 10 = 7(7) mod 10 = 49 mod 10 = 9 ESIGN

Подсознательный канал можно добавить и к ESIGN [1460] (см. раздел 20.6). В ESIGN секретный ключ является парой больших простых чисел p и q, а открытым ключом служит n = p2q. Использовании подсознательного канала закрытым ключом являются три простых числа p, q и r, а открытым ключом - n, такое что

n = p qr

Переменная r - это дополнительные данные, нужные Бобу для прочтения подсознательного сообщения .

Чтобы подписать обычное сообщение, Алиса сначала выбирает случайное число x, меньшее pqr, и вычисляет:

w, наименьшее целое, которое больше или равно (H(m) - xk mod n) 7q

s = x + ((w/kxk"1 mod p) pq

H(m) - это хэш-значение сообщения, а k - параметр безопасности. Подписью является значение s.

Для проверки подписи Боб вычисляет sk mod n. Кроме этого, он вычисляет a, наименьшее целое, которое больше или равно удвоенному числу битов n, деленному на 3. Если H(m) меньше или равна sk mod n, и если sk mod n меньше H(m)+2a, то подпись считается правильной.

Для отправки подсознательного сообщения M с помощью безобидного сообщения M Алиса вычисляет s, используя M вместо of H(m). Это означает, что сообщение должно быть меньше, чем /2qr. Затем она выбирает случайное число u и вычисляет

x = M + ur

Затем это значение x используется в качестве "случайного числа" x при подписи M. Соответствующее значение s посылается в качестве подписи.

Уолтер может проверить, что s (второе s) является правильной подписью M Точно также проверить подлинность сообщения может и Боб. Но, так как ему известно и r, он может вычислить

s = x + ypqr = M + ur + ypqr - M (mod r)

Эта реализация подсознательного канала намного лучше двух предыдущих . В вариантах Ong-Schnorr-Shamir и ElGamal у Боба должен быть закрытый ключ Алисы. Боб сможет не только читать подсознательные сообщения Алисы, но и выдавать себя за Алису, подписывая обычные документы . Алиса ничего с этим не сможет поделать, устанавливая такой подсознательный канал, ей придется довериться Бобу .

Схема ESICN страдает от этой проблемы. Закрытым ключом Алисы служит набор трех простых чисел: p, q



0 1 2 3 4 5 [ 6 ] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25