- •Криптологія
- •§ 1. Абетка
- •§ 2. Класичні методи: від античності до нового часу
- •§ 3. Дві пропозиції XX століття
- •§ 1. Формалізм
- •§2. Арифметика
- •§ 3. Афінні шифри
- •§ 2. Прямолінійні програми
- •§ 3. Рандомізація
- •§ 1. Арифметика II
- •§ 2. Тестування простоти
- •§ 3. Факторизація
- •Факторизація
- •§ 4. Розпізнавання квадратичності і добування квадратних коренів
- •§ 5. Обчислення функції Ойлера
- •§ 6. Первісні корені за простим модулем
- •8. Підсумок
- •§1. Концепція
- •§ 4. Ймовірнісне криптування
- •§5. Система ЕльГамала
- •§1. Важкооборотні функції
- •§ 2. Генератори псевдовипадкових бітів
- •§ 1. Обмін ключем
- •§ 2. Цифровий підпис
- •§ 3. Підкидання монети по телефону
- •4. Гра в карти заочно
- •§ 5. Розподіл таємниці
- •§ 6. Доведення без розголошення
- •§ 7. Ідентифікація
4. Гра в карти заочно
Аліса і Боб, знаходячись на відстані одне від одного, вирішили розважитись грою в покер. Хоча зв'язок між ними добре налагоджений, скажімо, за допомогою Інтернету, залишається проблема чесної роздачі карт. Однак і ця проблема вирішується за допомогою протоколу заочної гри в карти.
Описаний нижче протокол використовує довільну комутативну криптосистему. Алгоритми шифрування і дешифрування Аліси позначимо через Еа і Da, а Боба — через EB і DB • Комутативність кри-птосистеми означає, що для будь-якого повідомлення М справедлива рівність
ЕВ(ЕА(М)) = ЕА(ЕВ(М)).
Прикладом такої
системи Є
модифікація RSA, де модуль п
учасники вибирають спільно, а
шифруючі/дешифруючі експоненти е і d
-таємно одне від другого. Для іншого
варіанту комутативної криптосистеми
модуль п
вибирається простим. В обидвох випадках
учасник X вибирає пару із шифруючого
ключа еХ
і дешифруючого dХ
з властивістю
,
і здійснює шифрування/дешифрування за
формулами
ЕХ(М) = Мех mod n, DX(M) = Mdx mod n
Перейдемо до опису протоколу.
Аліса і Боб досягають згоди про кодування карт словами М1,...,М52, і домовляються, яка саме комутативна криптосистема буде використовуватись.
Обидвоє таємно одне від другого вибирають собі шифруючий та дешифруючий ключі.
Аліса зашифровує повідомлення М1,...,M52, перемішує випадковим чином криптотексти ЕА(М1),...,ЕА(М52) і посилає їх Бобові.
Боб вибирає випадкові п'ять криптотекстів, і посилає їх назад Алісі. Це карти, якими буде грати Аліса.
Коментар. Боб не може визначити карт Аліси, бо не знае її ключа.
Із карт, що залишилися, Боб вибирає ще п'ять ЕА(Мі1),...,ЕА(Мі5) для себе.
Коментар. Боб вибрав карти у зашифрованому вигляді і тепер повинен довідатись, які це власне карти. Це він може зробити лише за допомогою Аліси, але повинен подбати, щоб при цьому його карти не відкрилися і їй.
Боб зашифровує відібрані ЕА(Мі1),...,ЕА(Мі5) за допомогою власного ключа і криптотексти Ев(ЕА(Мі1)) = ЕА(Ев(Мі1)),...,Ев(ЕА(Мі5)) = ЕА(ЕВ(Мі5]} посилає Алісі.
Аліса дешифрує отримані криптотексти і повертає Бобові результат ЕB(Mі1),...,EВ(Mі5).
Коментар. Аліса, яка не знає ключів Боба, не може звідси визначити його карти.
Боб дешифрує надіслані Алісою EВ(Mі1,...,ЕВ(Мі5) і отримує свою п'ятірку карт Mі1,...,Мі5.
В кінці гри Аліса, і Боб обмінюються ключами і перевіряють, що ніхто з них не хитрував.
ВПРАВИ
4.1.
Припустимо,
що при роздачі карт Аліса і Боб
використовують комутативну криптосистему,
яка є котроюсь із двох згаданих модифікацій
системи RSA.
Аліса довіряє Бобові вибрати коди карт
М1,...,
М52
в
Zn.
Перші
чотири карти є
тузами,
і Боб "позначає" їх, вибравши коди
так, що
для і ≤ 4 і
для і
> 4. Яким
чином під час подальшого виконання
протоколу роздачі карт Боб зможе
розпізнавати тузи?
ЛІТЕРАТУРА
Протокол заочної гри в покер запропоновано в [59]. Криптоаналіз проведено в [115, 84].
§ 5. Розподіл таємниці
Аліса і Боб тримають у сейфі цінні папери, які є їхнім спільним надбанням. Сейф замикається на два замки. Один ключ зберігається в Аліси, а інший у Боба. Завдяки цьому Аліса і Боб можуть розпоряджатися цінностями лише за обопільною згодою.
Якщо цінності є у спільному володінні Аліси, Боба та Вітольда, і будь-яке рішення приймається більшістю голосів, то потрібен сейф складнішої конструкції. Замок повинен мати три отвори для трьох різних ключів, причому він повинен відкриватися будь-якою парою ключів, і не повинен відкриватися лише одним ключем.
Подібна ідея розподілу ключа між кількома особами покладена в основу протоколу розподілу секрету. Нехай натуральне число s є цінною секретною інформацією (номер рахунку у швейцарському банку, код команди на запуск балістичної ракети тощо). Завданням протоколу є так подрібнити секрет s на частини, по одній для кожного із п учасників, щоб будь-які k учасників могли відновити s, поєднавши свої частинки, але щоб ніяка група з k - 1 учасника цього зробити не могла. Формально йдеться про процедуру, яка б співставляла числу s послідовність чисел s1.,..., sn і при цьому виконувались такі дві умови:
s можна ефективно отримати з довільної k-елементної підпослідовності ss1,...,sik;
s в принципі не можна отримати ні з якої (k - 1) елементної послідовності.
Ми опишемо протокол, запропонований Аді Шаміром в [140].
Вибирають
досить велике просте число р
і
розглядають s
як
елемент поля ZР.
Покладають a0
=
s,
і
вибирають в Zp
випадковим
чином числа a1,...,ak-1.
Нехай
f(x)
-
многочлен
від змінної х
з
коефіцієнтами в Zp.
і-ий
учасник протоколу, де 1 ≤
I
≤
п, отримує
значення si
=
f(i).
