- •Лекция Криптографические протоколы
- •В настоящее время многие коммерческие сделки и деловые операции выполняются через Интернет, причем
- •2 Скрытный канал
- •3.2 Коллективная
- •3.4 «Слепая» ЦП
- •5 Доказательство с
- •7Тайное
- •10 Отслеживание
- •2. Протокол «разделения секрета (данных)»
- •Простейшая схема разделения секретов – «Все или никто»,
- •Пороговой схема
- •Схема разделения секрета на основе интерполяции полиномов над конечными полями (схема Шамира)
- •Пусть основной секрет
- •Затем ki
- •Если же число теней оказывается менее m, то они не будут содержать никакой
- •Предположим, что числа 2 и 10 оказались случайно выбранными
- •Имеется множество различных обобщений [14] для пороговых схем разделения секретов, например:
- •(n,m)-cхема разделения секрета Асмуса- Блума
- •Затем доверенный центр выбирает случайное число r и вычисляет число M’
- •Восстановление секрета
- •Теперь попробуем восстановить исходный секрет, имея на руках доли (ki, kj, ks,): {
- •Проверяемое разделение секрета
- •Разделение секрета (схема Фельдмана)
- •Протокол проверяемого разделения секрета Фельдмана
- •Пример протокола Фельдмана
- •Номер участника 3
- •Стойкость протокола Фельдмана
- •Протокол проверяемого разделения секрета Педерсена
- •Пример протокола Педерсена
- •Оценка стойкости
- •Примерный порядок распределения долей ключа
- •3.Протокол поручительства информации или
- •Поручительство (способ 1)
- •Поручительство (способ 2)
- •Протокол: доказательство с нулевым разглашением секрета
- •Простой пример доказательства с нулевым разглашением секрета
- •Базовый протокол доказательства с нулевым разглашением секрета
- •Пример трудной задачи
- •Задача коммивояжера
- •Изоморфизм графов
- •Протокол доказательства с нулевым разглашением принимает для данной задачи следующий вид:
- •Если P знает ГЦ на графе G, то он сможет правильно выполнить задания
- •Идентификация (аутентификация) пользователей при помощи протокола с нулевым разглашением
- ••2. Протоколы идентификации на основе симметричных
- •2. Протоколы идентификации на основе симметричных алгоритмов
- •Аутентификация пользователя в стандарте мобильной связи
- •3. Способы идентификации на основе использования цифровой подписи
- •4. Идентификация пользователей на основе протокола с нулевым разглашением
- •Достоинство протокола идентификации с нулевым разглашением (НР) по сравнению с алгоритмом ЭЦП, в
- •Протоколы доказательства на основе равенства логарифмов
- •Метод доказательства ZKP
- •Криптосистема Эль -Гамаля
- •Доказательство, что для расшифрования использовался закрытый ключ, соответствующий известному открытому ключу
10 Отслеживание |
Платные TВ-программы могут быть зашифрованы |
|
при помощи ключей, которые передаются |
||
|
||
предателей |
легальным подписчикам этих программ. |
|
(нечестных |
Однако существует опасность, что некоторые из |
|
таких нечестных подписчиков (предателей) могут |
||
|
||
клиентов) |
продать эти ключи другим пользователям, не |
|
|
оплатившим эти программы. |
|
|
Протокол обеспечивает возможность поиска таких |
|
|
предателей в случае, когда TВ-декодер |
|
|
пользователей может быть открыт для |
|
|
необходимого контроля. |
11 Честные |
Необходимо обеспечить конфиденциальность |
криптосистемы |
сообщений, однако по постановлению суда эти |
|
сообщения должны просто расшифровываться |
11
|
|
|
|
|
12 |
Анонимное |
Группа пользователей некоторой сети передает в |
||
|
широковещание |
ней |
широковещательные |
сообщения, |
|
|
определенным пользователям, |
и только они могут |
|
|
|
дешифровать эти сообщения. Условие этого |
||
|
|
протокола заключается в том, что никто, кроме |
||
|
|
отправителя и легального получателя сообщений, |
||
|
|
не может определить этих пользователей, в том |
||
|
|
числе и при помощи анализа телетрафика. |
||
|
|
|
|
12 |
|
|
|
|
|
2. Протокол «разделения секрета (данных)»
Разделение секрета необходимо для исключения возможности несанкционированного использования этих данных одной персоной.
В качестве секретных данных могут рассматриваться, например, команды по применению ядерного оружия, либо ключи к зашифрованным файлам, содержащим важную информацию по рецептуре продуктов различного рода, «ноу хау» промышленных процессов и т. п.
Разделение данных предполагает, что для выделения основного секрета необходимо объединение частных секретов (теней) нескольких лиц, причем в количестве не менее некоторой заданной величины.
Очевидно, что тайный сговор или ошибочное решение достаточно большой группы лиц, владеющих частными секретами для получения основного секрета, значительно менее вероятно, чем неправомерные действия одного лица. Это и обусловливает необходимость создания протокола разделения секретов.
13
Простейшая схема разделения секретов – «Все или никто»,
В ней только объединение частных секретов всех их обладателей позволит им вычислить основной секрет.
Cекрет = k.
Схема просто реализуется при помощи чисто случайного генерирования двоичных цепочек секретов ki , i 1, 2, ..., n 1 , всех пользователей, кроме одного, который получает частный секрет следующего вида:
kn in 11ki k
где k – основной секрет, а означает побитовое суммирование по mod 2. Восстановление секрета
n 1
kk1 k2 kn 1 ( ki k)
i 1
Однако в этом случае отсутствие (или потеря) даже одного из частных секретов приведет к невозможности восстановления основного секрета.
14
Пороговой схема
для восстановления основного секрета достаточно объединить только m из n частных секретов.
Определение 1. Пороговой (n, m)-схемой называется такой алгоритм формирования частных секретов ki, i 1, 2, ..., n (теней), по основному секрету k, что при объединении m или более таких теней существует алгоритм, позволяющий восстановить в точности основной секрет, тогда как объединение менее чем m теней не дает абсолютно никакой информации об основном секрете k (рис. 1).
Рис. 1. Пороговая (n, m)-схема
Существует множество различных способов построения пороговых схем. 15
Схема разделения секрета на основе интерполяции полиномов над конечными полями (схема Шамира)
•
Пусть основной секрет |
|
k GF( p) , где |
GF( p) |
– конечное простое поле, что |
||||||||||||||
всегда возможно для любого k |
при выборе необходимой величины p. |
|
|
|
||||||||||||||
Пусть |
|
m 1 |
|
|
|
|
m 2 |
|
|
|
|
|
|
|
|
|
|
|
|
a x |
a |
|
x |
a x a |
|
|
|
|
|
|
|||||||
h x |
|
|
2 |
|
|
|
|
|
|
|
||||||||
|
m 1 |
|
|
|
m |
|
|
|
|
1 |
0 |
|
|
|
|
m 1 |
||
полином степени m-1, |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
||||
a , , a |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
GF |
p |
|
|
|
|
|
|
|
||||||
|
|
|
|
1 |
|
m 1 |
|
|
|
|
|
|
|
|
|
|
||
Выберем коэффициент a |
полинома при его постоянном члене равным |
|
||||||||||||||||
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
основному секрету k, а остальные его коэффициенты |
a , , a |
GF |
p |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
выберем чисто случайными. |
|
(a0<p) |
|
|
|
1 |
m 1 |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|||||||||||
Полином ( m-1)-й степени однозначно определяется всеми этими коэффициентами
|
|
|
|
,i 1, 2, , n, |
xi GF p |
|
|
|
|
||
Частные секреты (тени) вычисляются по формуле: ki h xi |
|||||
x i |
n p |
. |
|
|
|
где, в частности, можно взятьi , |
, |
|
|
|
|
17
Затем ki |
передаются каждому из n пользователей по секретным каналам. |
|||
Если m (или более) пользователей i1, i2, ..., im объединят свои |
||||
индивидуальные секреты ki |
, ki |
, ..., ki |
, то они смогут восстановить полином |
|
|
1 |
2 |
m |
|
, используя интерполяционную формулу. Лагранжа [14]:
|
|
|
|
|
|
|
|
|
m |
|
m |
x x |
|
|
|
||
|
|
|
i j |
|
|
|||
h x k |
|
|
|
|
|
mod p |
||
|
|
|
|
|||||
s 1 |
is |
j 1 |
x |
x |
|
|||
|
||||||||
|
|
s j |
|
is |
|
i j |
|
|
Тогда основной секрет легко может быть найден как |
|
x js ' |
|||||
|
m |
|
Cs |
m |
|
||
a0 |
h 0 ksCs mod p |
, где |
|
|
|
|
|
x |
x |
js ' |
|||||
|
s 1 |
|
|
s ' 1 |
|
js |
|
|
|
|
|
s s ' |
|
|
|
js - номер пользователя,
18
Если же число теней оказывается менее m, то они не будут содержать никакой
информации о коэффициенте a |
, поскольку для любого значения |
a GF( p) |
|||
всегда найдется полином (m –1)-й степени |
~ |
, удовлетворяющий |
0 |
||
уравнениям |
0 |
|
(x) |
||
|
|
h |
|
||
~ |
|
|
|
|
|
h(xi) ki, i 1, 2, ..., m 1 . |
|
|
|
|
|
Пример Пусть требуется создать пороговую схему (5, 3) предназначенную для пяти пользователей, в которой для восстановления основного секрета требуется три или более теней.
Тени получаются при помощи вычисления многочлена в пяти различных точках. В частном случае первой тенью может быть значение многочлена при
x 1 |
x 2 |
, второй тенью – значение многочлена при |
и т. д. |
Пусть секрет k равно 13. Чтобы создать пороговую (5, 3)-схему, в которой |
|
|
p 17 |
любые три из пяти пользователей смогут восстановить k, сначала выберем |
|
простое число |
. |
(оно больше количества теней и больше основного секрета в данном примере).
19
Предположим, что числа 2 и 10 оказались случайно выбранными
коэффициентами полинома, который в этом случае будет равен h(x) 2x2 10x 13
Пятью тенями оказываются тогда следующие числа: k1 h(1) (2 10 13)mod17 8
k2 h(2) (8 20 13)mod17 7
k3 h(3) (18 30 13)mod17 10 k4 h(4) (32 40 13)mod17 0
k5 h(5) (50 50 13)mod17 11
Эти тени распределяются среди пяти участников протокола. Допустим, 1-й, 3-й и 5-й из них, собрав свои тени, хотят восстановить основной секрет. Используя интерполяционную формулу Лагранжа, они находят
|
8 (x 3) (x 5) |
10 (x 1) (x 5) |
11 (x 1) (x 3) |
|
mod17 |
||
h x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(1 3) (1 5) |
|
(3 1) (3 5) |
|
(5 1) (5 3) |
|
|
|
|
|
|
|
|
|
|
20
|
h(x) 2x2 10x 13 |
Произведя все вычисления по модулю 17, получаем |
. |
Свободный член в полученном полиноме 13 и есть восстановленный основной секрет.
Основное преимущество пороговой схемы на основе интерполяционных полиномов Лагранжа состоит в том, что при появлении новых пользователей не надо менять основной секрет, и если, например, он является ключом, на котором зашифрованы некоторые данные, то их не надо перешифровывать, а достаточно лишь вычислить для основного ключа дополнительные индивидуальные секреты.
21
