- Главная
- Информатика
- Алгоритмы разделения секрета
Содержание
- 2. Тени получаются с помощью вычисления многочлена в n различных точках k i =F(x i) Другими словами,
- 3. Чтобы восстановить M по трем теням, например, k 2, k 3 и k 5, решается система
- 4. Это также безопасно, как одноразовый блокнот, попытка выполнить исчерпывающий поиск (то есть, перебор всех возможных шестых
- 5. Затем выбираются числа, меньшие p - d 1, d 2, . . . d n, для
- 6. Чтобы создать схему, в которой один из участников важнее других, ему выдается больше теней . Если
- 7. Для восстановления линейного выражения достаточны любые две тени участников делегации A, но независимо от того, сколько
- 8. Подсознательный канал Ong-Schnorr-Shamir, разработанный Густавусом Симмонсом (Gustavus Simmons), использует схему идентификации Ong-Schnorr-Shamir: отправитель (А) выбирает общедоступный
- 9. DSA Подсознательный канал существует и в DSA. На самом деле их даже может быть несколько. Простейший
- 10. Проверка подписи немного сложнее. Б выбирает два случайных числа, a и b, меньшие p, и отправляет
- 11. Можно улучшить алгоритмы, позволяющие отказаться от необходимости доверенного лица - распределителя. Подписи, подтверждаемые доверенным лицом Вот
- 12. Б выбирает два случайных числа, s и t, меньших p, и посылает А c = g
- 13. (3) Д посылает К u и v. К проверяет, что gu a v ≡ k (mod
- 14. Вычисления с зашифрованными данными Проблема дискретного логарифма Существует большое простое число p и генератор g. А
- 15. Бросание "честной" монеты: с помощью квадратных корней, с помощью возведения в степень по модулю р, с
- 16. Доказательство с нулевым знанием для дискретного логарифма Доказательство с нулевым знанием для возможности вскрыть RSA Слепые
- 17. Кроме того, вероятностное шифрование позволяет избежать даже частичной утечки информации об оригинальном сообщении. При использовании криптографии
- 18. Даже если он правильно угадает M, полученный при шифровании EK(M) результат будет совершенно другим шифротекстом C:
- 19. Генератор BBS основан на теории квадратичных остатков . Существуют два простых числа, p и q, конгруэнтных
- 20. Так как генератор BBS безопасен влево, значение xt бесполезно для криптоаналитика. Только тот, кому известны p
- 21. Квантовая криптография вводит естественную неопределенность квантового мира. С ее помощью можно создавать линии связи, которые невозможно
- 22. Если измерить одну из этих двух величин, сам акт измерения уничтожает всякую возможность измерить другую величину.
- 23. Пусть у вас есть импульс горизонтально поляризованных фотонов . Если они попробуют пройти через горизонтальный фильтр,
- 24. Если импульс фотонов поляризован в заданной системе координат, то при измерении в той же системе координат
- 25. Теперь, если Б правильно настроит свой детектор, он зарегистриру-ет правильную поляризацию. Если он настроит детектор на
- 26. Например, горизонтальная и леводиагональная могут означать единицу, а вертикальная и праводиагональная - ноль. В нашем примере
- 27. Итак, А и Б заканчивают протокол подобными действиями: (6) А и Б сравнивают несколько битов своих
- 28. Протокол управления секретными ключами компании IBM В конце 70-х годов IBM, используя только симметричную криптографию, разработала
- 29. Эти ключи используются для шифрования других ключей и для генерации новых ключей. У каждого терминала есть
- 30. И на сервере, и на терминале все шифрование и дешифрирование происходи именно в этом модуле. В
- 32. Скачать презентацию
Слайд 2Тени получаются с помощью вычисления многочлена в n различных точках k i
Тени получаются с помощью вычисления многочлена в n различных точках k i
Например, пусть M равно 11. Чтобы создать пороговую схему (3, 5), в которой любые трое из пяти человек могут восстановить M, сначала получим квадратичное уравнение (7 и 8 - случайно выбранные числа chosen randomly): F(x) = (7x 2 + 5x + 11) mod 13 Пятью тенями являются:
k1 = F(1) = 7 + 8 + 11≡ 0 (mod 13)
k 2 = F(2) = 28 + 16 + 11≡ 3 (mod 13)
k3 = F(3) = 63 + 24 + 11≡ 7 (mod 13)
k 4 = F(4) = 112 + 32 + 11≡ 12 (mod 13)
k 5 = F(5) = 175 + 40 + 11≡ 5 (mod 13)
Слайд 3Чтобы восстановить M по трем теням, например, k 2, k 3 и
Чтобы восстановить M по трем теням, например, k 2, k 3 и
a*2 2 + b*2 + M = 3 (mod 13)
a*3 2 + b*3 + M = 7 (mod 13)
a*5 2 + b*5 + M = 5 (mod 13)
Решением будут a = 7, b = 8 и M = 11. Итак, M получено.
Эту схему разделения можно легко реализовать для больших чисел . Если вы хотите разбить сообщение на 30 равных частей так, чтобы восстановить сообщение можно было, объединив любые шесть из них , выдайте каждому из 30 человек значения многочлена пятой степени. F(x) = ax 5 + bx 4 + cx 3 + dx 2 + ex + M (mod p)
Шесть человек могут шесть неизвестных (включая M), но пятерым не удастся узнать ничего об M.
Наиболее впечатляющим моментом совместного использования секрета является то, что, если коэффициенты выбраны случайным образом, пять человек даже при помощи бесконечных вычислительных мощностей не смогут узнать ничего, кроме длины сообщения (которая и так им известна).
Слайд 4Это также безопасно, как одноразовый блокнот, попытка выполнить исчерпывающий поиск (то есть,
Это также безопасно, как одноразовый блокнот, попытка выполнить исчерпывающий поиск (то есть,
Векторная схема. Джордж Блэкли (George Blakley) изобрел схему, использующую понятие точек в пространстве. Сообщение опреде-ляется как точка в m-мерном пространстве. Каждая тень - это уравнение (m-1)-мерной гиперплоскости, содержащей эту точку. Например, если для восстановления сообщения нужны три тени, то оно является точкой в трехмерном пространстве. Каждая тень представляет собой иную плоскость. Зная одну тень, можно утверждать, что точка находится где-то на плоскости. Зная две тени - что она находится где-то на линии пересечения двух плоскостей . Зная три тени, можно точно определить, что точка находится на пересечении трех плоскостей .
Asmuth-Bloom В этой схеме используются простые числа.
Для (m, n)-пороговой схемы выбирается большое простое число p, большее M.
Слайд 5Затем выбираются числа, меньшие p - d 1, d 2, . .
Затем выбираются числа, меньшие p - d 1, d 2, . .
Каждое d i взаимно просто с любым другим d i
d 1*d 2* . . .*d m > p*d n-m+2*d n-m+3*. . .*d n
Чтобы распределить тени, сначала выбирается случайное число r и вычисляется M' = M + r p. Тенями k i, являются k i = M' mod d i Объединив любые m теней, можно восстановить M, используя китайскую теорему об остатках, но это невозможно с помощью любых m-1 теней.
Karnin-Greene-Hellman В этой схеме используется матричное умножение.
Более сложные пороговые схемы
В предыдущих примерах показаны только простейшие пороговые схемы : секрет делится на n теней так, чтобы, объединив любые m из них, можно было раскрыть секрет. На базе этих алгоритмов можно создать намного более сложные схемы. Часто использу-ется алгоритм Шамира, хотя работают и все остальные.
Слайд 6Чтобы создать схему, в которой один из участников важнее других, ему выдается
Чтобы создать схему, в которой один из участников важнее других, ему выдается
Слайд 7Для восстановления линейного выражения достаточны любые две тени участников делегации A, но
Для восстановления линейного выражения достаточны любые две тени участников делегации A, но
Аналогично для делегации B: ее участники могут сложить три тени, восстанавливая квадратное выражение, но другую информацию, необходимую для восстановления секрета в целом, они получить не смогут .
Только перемножив свои выражения, участники двух делегаций смогут восстановить секрет . В общем случае, может быть реализована любая мыслимая схема разделения секрета . Потребуется только написать систему уравнений, соответствующих конкретной системе.
Разделение секрета с мошенниками Этот алгоритм изменяет стандартную пороговую схему (m, n) для обнаружения мошенников.
Слайд 8Подсознательный канал Ong-Schnorr-Shamir, разработанный Густавусом Симмонсом (Gustavus Simmons), использует схему идентификации Ong-Schnorr-Shamir:
Подсознательный канал Ong-Schnorr-Shamir, разработанный Густавусом Симмонсом (Gustavus Simmons), использует схему идентификации Ong-Schnorr-Shamir:
Если А нужно отправить подсознательное сообщение M в безобидном сообщении M', она сначала проверяет, что пары M' и n, а также M и n являются взаимно простыми числами.
А вычисляет S 1 = 1/2*((M'/M + M)) mod n
S 2 = 1/2*((M'/M - M)) mod n
Пара чисел S1 и S2 представляет собой подпись в традиционной схеме Ong-Schnortr-Shamir и одновременно является носителем подсознательного сообщения.
Другой предложенный Симмонсом подсознательный канал основан на схеме подписи ElGamal
Слайд 9DSA Подсознательный канал существует и в DSA. На самом деле их даже
DSA Подсознательный канал существует и в DSA. На самом деле их даже
А посылает Б 160-битовое подсознательное сообщение в каждой подписи DSA, а все остальные будут только проверять подпись А. Дополнительное усложнение: Так как k должно быть случайным, А и Б должны использовать общий одноразовый блокнот и шифровать подсознательное сообщение с помощью этого блокнота, генерируя k.
Неотрицаемые цифровые подписи Автором этого алгоритма неотрицаемой подписи является Дэвид Чаум (David Chaum) Сначала опубликовываются большое простое число p и примитивный элемент g, которые будут совместно использоваться группой подписывающих. У А есть закрытый ключ x и открытый ключ g x mod p. Чтобы подписать сообщение, А вычисляет
z = m x mod p. Это все, что А нужно сделать..
Слайд 10Проверка подписи немного сложнее.
Б выбирает два случайных числа, a и b,
Проверка подписи немного сложнее.
Б выбирает два случайных числа, a и b,
А вычисляет t=x -1 mod (p-1), и отправляет Б:
d = c t mod p
Б проверяет, что d ≡ m a g b (mod p) Если это так, он считает подпись истинной.
Алгоритм для преобразуемых неотрицаемых подписей, которые можно проверять, отменять и преобразовывать в обычные неотрицаемые подписи основан на алгоритме цифровых подписей El- Gamal.
Схемы неотрицаемых подписей можно объединить со схемами разделения секрета, создав распределенные преобразуемые неотрицаемые подписи. Кто-нибудь может подписать сообщение, а затем распределить возможность подтверждения правильности подписи. Он может, например, потребовать, чтобы в протоколе убеждения Б в правильности подписи участвовали трое из пяти обладателей возможность подтверждения правильности.
Слайд 11Можно улучшить алгоритмы, позволяющие отказаться от необходимости доверенного лица - распределителя.
Подписи,
Можно улучшить алгоритмы, позволяющие отказаться от необходимости доверенного лица - распределителя.
Подписи,
Сначала опубликовываются большое простое число p и примитив-ный элемент g, которые будут совместно использоваться группой пользователей. Также опубликовывается n, произведение двух простых чисел. У К есть закрытый ключ z и открытый ключ
h = g x mod p. В этом протоколе А может подписать m так, чтобы Б мог проверить правильность ее подписи, но не мог убедить в этом третью сторону.
А выбирает случайное x и вычисляет a = g x mod p
b = h x mod p А вычисляет хэш-значение m, H(m), и хэш-значение объединения a и b, H(a,b), а затем
j = (H(m) ⊕ H(a, b)) 1/3 mod n и посылает a, b и j -Б.
Слайд 12Б выбирает два случайных числа, s и t, меньших p, и посылает
Б выбирает два случайных числа, s и t, меньших p, и посылает
А выбирает случайное q, меньшее p, и посылает Б
d = g q mod p e = (cd) x mod p
Б посылает А s и t.
А проверяет, что g s h t ≡ c (mod p) затем она посылает Б q.
Б проверяет d ≡ g q mod p e/a q ≡ a s b t (mod p)
( H(m) ⊕ H(a,b)) = j 1/3 mod n
Если все тождества выполняются, то Б считает подпись истинной . Б не может использовать запись этого доказательства для убеждения Д в истинности подписи , но Д может выполнить протокол с доверенным лицом А, К. Вот как К убеждает Д в том, что a и b образуют правильную подпись.
Д выбирает случайные u и v, меньшие p, и посылает К
k = g u a v mod p
К выбирает случайное w, , меньшее p, и посылает Д
l = g w mod p y = (kl) z mod p
Слайд 13(3) Д посылает К u и v.
К проверяет, что gu a v
(3) Д посылает К u и v.
К проверяет, что gu a v
Затем она посылает Д w.
Д проверяет, что g w ≡ l (mod p)
y/h w ≡ hu b v (mod p)
Если все тождества выполняются, то Д считает подпись истинной. В другом протоколе К может преобразовать протокол доверенного лица в обычную цифровую подпись .
Слайд 14Вычисления с зашифрованными данными
Проблема дискретного логарифма Существует большое простое число p
Вычисления с зашифрованными данными
Проблема дискретного логарифма Существует большое простое число p
А выбирает случайное число r, меньшее p.
А вычисляет x' = xg r mod p
А просит Б решить g e' ≡ x' (mod p)
Б вычисляет e' и посылает его А.
А восстанавливает e, вычисляя e = (e' - r) mod (p - 1) Аналогичные протоколы используются для проблем квадратичных остатков и примитивных корней.
Слайд 15Бросание "честной" монеты: с помощью квадратных корней, с помощью возведения в степень
Бросание "честной" монеты: с помощью квадратных корней, с помощью возведения в степень
Существует простая функция однонаправленного сумматоры A(xi, y) = xi-1 y mod n. Числа n (являющееся произведением двух простых чисел) и x0 должны быть заранее согласованы. Тогда суммированием y1, y2 и y3 будет ((x0y0 mod n)y2 mod n) y3 mod n
Это вычисление не зависит от порядка y1, y2 и y3.
Раскрытие секретов "все или ничего"
Фиксированным битовым индексом (fixed bit index, FBI) x и y называется последовательность номеров совпадающих битов этих строк.
Например: x = 110101001011
y = 101010000110
FBI(x, y) = {1, 4, 5, 11}
Честные и отказоустойчивые криптосистемы
Честная схема Diffie-Hellman
Отказоустойчивая схема Diffie-Hellman
Слайд 16Доказательство с нулевым знанием для дискретного логарифма
Доказательство с нулевым знанием для возможности
Доказательство с нулевым знанием для дискретного логарифма
Доказательство с нулевым знанием для возможности
Слепые подписи использует алгоритм RSA.
Передача с забыванием
Безопасные вычисления с несколькими участниками
Понятие вероятностного шифрования было изобретено Шафи Голдвассером (Shafi Goldwasser) и Сильвией Микали. Идеей вероятностного шифрования является устранение утечки информации в криптографии с открытыми ключами. Так как криптоаналитик всегда может расшифровать случайные сообщения открытым ключом, он может получить некоторую информацию. При условии, что у него есть шифротекст C = E K(M), и он пытается получить открытый текст M, он может выбрать случайное сообщение M' и зашифровать его: C' = E K(M'). Если C' = C, то он угадал правильный открытый текст. В противном случае он делает следующую попытку .
Слайд 17Кроме того, вероятностное шифрование позволяет избежать даже частичной утечки информации об оригинальном
Кроме того, вероятностное шифрование позволяет избежать даже частичной утечки информации об оригинальном
При вероятностном шифровании алгоритм шифрования является вероятностным, а не детерминированным . Другими словами, многие шифротексты при расшифровке дают данный открытый текст , и конкретный шифротекст, используемый в любом конкретном шифровании, выбирается случайным образом.
C 1 = E K(M), C 2 = E K(M),...,Ci = EK(M)
M = D K(C1) = DK(C2) = DK(C3) = . . . = DK(Ci)
При вероятностном шифровании криптоаналитику больше не удастся шифровать произвольные открытые тексты в поисках правильного шифротекста. Для иллюстрации пусть у криптоаналитика есть шифротекст C i = E K(M).
Слайд 18Даже если он правильно угадает M, полученный при шифровании
EK(M) результат будет
Даже если он правильно угадает M, полученный при шифровании
EK(M) результат будет
Слайд 19Генератор BBS основан на теории квадратичных остатков . Существуют два простых числа,
Генератор BBS основан на теории квадратичных остатков . Существуют два простых числа,
x 0 служит стартовой последовательностью для генератора псевдослучайных битов BBS, а выход генератора используется в качестве потокового шифра. Побитно выполняется XOR M с выходом генератора. Генератор выдает биты b i (младший значащий бит xi, где x i = x i-1 2 mod n), поэтому
M=M1, M2, M3, . . . Mt
c = M1 ⊕ b1, M2 ⊕ b2, M3 ⊕ b3, . . . Mt ⊕ bt
где t - это длина открытого текста. Добавьте последнее вычисленное значение, xt, к концу сообщения, и дело сделано. Расшифровать это сообщение можно только одним способом - получить x0 и с этой стартовой последовательностью запустить генератор BBS, выполняя XOR выхода с шифротекстом.
Слайд 20Так как генератор BBS безопасен влево, значение xt бесполезно для криптоаналитика. Только
Так как генератор BBS безопасен влево, значение xt бесполезно для криптоаналитика. Только
Эту схему можно сделать еще быстрее, используя все известные безопасные биты xi, а не только младший значащий бит. С таким улучшением вероятностное шифрование Blum-Goldwasser оказывается быстрее RSA и не допускает утечки информации об открытом тексте. Кроме того, можно доказать, что сложность вскрытия этой схемы равна сложности разложения n на множители. С другой стороны, эта схема совершенно небезопасна по отноше-нию к вскрытию с выбранным шифротекстом. По младшим значащим битам правильных квадратичных остатков можно вычислить квадратный корень любого квадратичного остатка. Если это удастся, то удастся и разложение на множители.
Слайд 21Квантовая криптография вводит естественную неопределенность квантового мира. С ее помощью можно создавать
Квантовая криптография вводит естественную неопределенность квантового мира. С ее помощью можно создавать
Слайд 22Если измерить одну из этих двух величин, сам акт измерения уничтожает всякую
Если измерить одну из этих двух величин, сам акт измерения уничтожает всякую
Неопределенность является фундаментальным свойством квантового мира, и никуда от этого не денешься. Эту неопределен-ность можно использовать для генерации секретного ключа . Путешествуя, фотоны колеблются в определенном направлении, вверх-вниз, влево-вправо, или, что более вероятно, под каким-то углом . Обычный солнечный свет неполяризован, фотоны колеблются во всех возможных направлениях . Когда направление колебаний многих фотонов совпадает, они являются поляризованными. Поляризационные фильтры пропускают только те фотоны, которые поляризованы в определенном направлении, а остальные блокируются . Например, горизонтальный поляризационный фильтр пропускает только фотоны с горизонтальной поляризацией. Повернем этот фильтр на 90 градусов, и теперь сквозь него будут проходить только вертикально поляризованные фотоны.
Слайд 23Пусть у вас есть импульс горизонтально поляризованных фотонов . Если они попробуют
Пусть у вас есть импульс горизонтально поляризованных фотонов . Если они попробуют
Слайд 24Если импульс фотонов поляризован в заданной системе координат, то при измерении в
Если импульс фотонов поляризован в заданной системе координат, то при измерении в
А посылает Б последовательность фотонных импульсов. Каждый из импульсов случайным образом поляризован в одном из четырех направлений: горизонтальном, вертикальном, лево- и праводиагональном. Например, А посылает Б:
| | / — \ — | — /
У Б есть детектор поляризации. Он может настроить свой детектор на измерение прямоугольной или диагональной поляризации. Одновременно мерить и ту, и другую у него не получится, ему не позволит квантовая механика. Измерение одной поляризации не даст измерить другую. Итак, он устанавливает свои детекторы произвольным образом:
X + + X X X + X + +
Слайд 25Теперь, если Б правильно настроит свой детектор, он зарегистриру-ет правильную поляризацию. Если
Теперь, если Б правильно настроит свой детектор, он зарегистриру-ет правильную поляризацию. Если
/ | — \ / \ — / — |
Б сообщает А по незащищенному каналу, какие настройки он использовал .
А сообщает Б, какие настройки были правильными. В нашем примере детектор был правильно установлен для импульсов 2, 6, 7 и 9.
А и Б оставляют только правильно измеренные поляризации. В нашем примере они оставляют: * | * * * \ — * — * С помощью заранее приготовленного кода А и Б преобразуют в биты эти результаты измерений поляризации.
Слайд 26Например, горизонтальная и леводиагональная могут означать единицу, а вертикальная и праводиагональная -
Например, горизонтальная и леводиагональная могут означать единицу, а вертикальная и праводиагональная -
Итак, А и Б получили четыре бита. С помощью этой системы они могут генерировать столько битов, сколько им нужно. В среднем Б правильно угадывает в 50 процентах случаев, поэтому для генерации n битов А придется послать 2n фотонных импульсов. Они могут использовать эти биты как секретный ключ симмет-ричного алгоритма или обеспечить абсолютную безопасность, получив достаточно битов для использования в качестве одно-разового блокнота.
Замечательным является то, что Е не сможет подслушать. Как и Б, ей нужно угадать тип измеряемой поляризации, и, как и у Б, половина ее догадок будет неправильной. Так как неправильные измерения изменяют поляризацию фотонов, то при подслушивании она неминуемо вносит ошибки в передачу .
Если это так, А и Б получат различные битовые последовательно-сти.
Слайд 27Итак, А и Б заканчивают протокол подобными действиями:
(6) А и Б
Итак, А и Б заканчивают протокол подобными действиями:
(6) А и Б
Если строки не отличаются, то они отбрасывают использованные для сравнения биты и используют оставшиеся. Улучшения этого протокола позволяют А и Б использовать свои биты даже в присутствии Е. Они могут сравнивать только четность битовых подмножеств. Тогда, если не обнаружено расхождений, им придется отбросить только один бит подмножества. Это обнаруживает подслушивание с вероятностью 50 процентов, но если они сверят таким образом n различных битовых подмножеств, вероятность Е подслушать и остаться незамеченной будет равна
1/2 n . В квантовом мире не бывает пассивного подслушивания. Если Е попытается раскрыть все биты, она обязательно разрушит канал связи. Бенне и Брассар построили работающую модель квантового распределения ключей и обменялись безопасными битами на оптической скамье.
Слайд 28Протокол управления секретными ключами компании IBM В конце 70-х годов IBM, используя
Протокол управления секретными ключами компании IBM В конце 70-х годов IBM, используя
Слайд 29Эти ключи используются для шифрования других ключей и для генерации новых ключей.
Эти ключи используются для шифрования других ключей и для генерации новых ключей.
Главный ключ терминала (Master Terminal Key), KMT, который используется для обмена ключами с другими терминалами. KMT хранятся на серверах, зашифрованные ключом KM1. Все остальные ключи, например, используемые для шифрования файлов ключей (они называются KNF), хранятся в зашифрованной форме, закрытые ключом KM2. Главный ключ KM0 хранится в энергонезависимом модуле безопасности. Сегодня это может быть либо ключ в ПЗУ, либо магнитная карточка, или ключ может вводиться пользователем с клавиатуры (возможно как текстовая строка, преобразуемая в ключ ). KM1 и KM2 не хранятся где-нибудь в системе, а, когда понадобится, вычисляются по KM0. Сеансовые ключи для связи между серверами генерируются на сервере с помощью псевдослу-чайного процесса. Аналогичным образом генерируются ключи для шифрования хранимых файлов (KNF). Сердцем протокола служит устойчивый к вскрытию модуль, называемый криптографической аппаратурой (cryptographic facility).
Слайд 30И на сервере, и на терминале все шифрование и дешифрирование происходи именно
И на сервере, и на терминале все шифрование и дешифрирование происходи именно
— Обезопасить связь с помощью шифрованной почты .
— Обеспечить защиту личных файлов.
— Обеспечить возможность цифровой подписи.