
- •Раздел 1. Электронная жеребьевка.............................................................4
- •Раздел 1. Электронная жеребьевка. 5
- •Раздел 1. Электронная жеребьевка. Задание к лабораторной работе №1: «Электронная жеребьевка».
- •Данные для самопроверки к разделу 1.
- •Раздел 2. Разделение секрета. Задание к лабораторной работе №2: «Разделение секрета».
- •Данные для самопроверки к разделу 2.
- •Раздел 3. Покер по телефону. Задание к лабораторной работе №3: «Покер по телефону».
- •Данные для самопроверки к разделу 3.
- •Раздел 4. Слепая подпись, протоколы рукопожатия, скрытый канал. Задание к лабораторной работе №4: «Слепая подпись, протоколы рукопожатия, скрытый канал».
- •Раздел 5. Протоколы идентификации с нулевым разглашением. Задание к лабораторной работе №5: «Протоколы идентификации с нулевым разглашением».
- •Данные для самопроверки к разделу 5.
- •Раздел 6. Электронная монета.
- •6.1. Схема Шаума с банкнотами одинакового достоинства.
- •6.2. Схема Шаума с банкнотами различного достоинства.
- •Задания к лабораторной работе №6: «Электронная монета».
- •Раздел 7. Электронные выборы.
- •7.1. Протокол голосования со слепыми подписями.
- •7.2. Протокол голосования с двумя центральными комиссиями.
- •Задание к лабораторной работе №7: «Электронные выборы».
- •Раздел 8. Управление ключами.
- •8.1. Протоколы с использованием симметричного шифрования.
- •8.2. Протоколы на основе двухключевой криптографии.
- •8.3. Протоколы для широковещательного распределения ключей.
- •Задание к лабораторной работе №8: «Управление ключами».
- •Данные для самопроверки к разделу 8.
- •Приложения
- •Подписано в печать _______ 2012 г. Тираж 100 экз. Объем 2 п.Л. Формат 60х84/16 Заказ № ________
- •625003, Г. Тюмень, ул. Семакова, 10.
Раздел 2. Разделение секрета. Задание к лабораторной работе №2: «Разделение секрета».
Разработать приложение, осуществляющее протокол разделения секрета согласно варианту. Программа должна:
формировать доли секрета для каждого участника из группы доступа;
формировать папку и заносить каждую долю в отдельный файл в этой папке;
восстанавливать секрет, запрашивая у пользователя файлы, содержащие доли секрета;
если пользователь предлагает доли неавторизованной группы, выдавать сообщение "невозможно восстановить секрет".
Вариант 1: схема Блекли.
Вариант 2: схема Шамира.
Для вариантов 1 и 2 пользователь должен задать секрет m, количество участников n и размер авторизованной группы k. Простое число p, используемое в протоколе, должно быть больше, чем любой секрет, разделяемый в этой схеме. Секрет m должен задаваться пользователем и быть целым положительным числом, меньшим p.
Вариант 3: схема на основе Китайской теоремы об остатках.
Пользователь должен задать секрет m, количество участников n и размер авторизованной группы k. Простые числа pi, используемые в протоколе, должны быть уникальными для каждого участника. Генерировать pi следует автоматически, значения pi должны быть из заданного диапазона значений, также эти числа должны быть ближе к нижней границе диапазона, чем к верхней. Примерный алгоритм:
Задаем нижнюю границу диапазона g=
.
Проверяем полученное число g на простоту.
Если число простое, то pi=g. Если нет, то к g прибавляем 1, если оно четное, или 2, если нечетное. Снова проверяем на простоту.
Повторять шаг 3, пока не наберется достаточное количество простых чисел.
Вариант 4: схема для произвольной группы доступа.
Количество участников в схеме n=5. Пользователь задает секрет и указывает все разрешенные группы. Программа должна удалить из структуры доступа все группы, не являющиеся минимальными. Доли участников должны быть того же размера, что секрет.
Для восстановления секрета пользователь указывает набор участников, производящих восстановление. Программа выбирает разрешенную группу, входящую в этот набор и восстанавливает секрет, используя доли этой группы. Если такой группы нет, программа выдает сообщение «невозможно восстановить секрет».
Данные для самопроверки к разделу 2.
Вариант 1.
Для проверки функции разделения секрета подставьте в программу значения p, n, k, секрет m, секретную точку Q и случайные коэффициенты участников ai1…akn из табл. 2.1 и сравните полученный результат с долями секрета bi…bn.
Для проверки функции восстановления секрета подставьте в программу значения bi…bn и сравните полученный результат с m, приведенным в табл. 2.1.
Таблица 2.1
№ |
m |
p |
(n,k) |
Q=(m,x2,…,xk) |
ai1…akn |
bi…bn |
1 |
5 |
11 |
(4,3) |
(5,2,1) |
(1,1,1); (3,2,7); (8,1,10); (2,3,9) |
(8,4,8,3) |
2 |
8 |
7 |
(3,3) |
(5,4,2) |
(2,3,5); (4,7,1); (3,4,2) |
(10,7,1) |
3 |
4 |
13 |
(3,2) |
(4,11) |
(2,11); (1,6); (9,4) |
(12,5,2) |
4 |
7 |
17 |
(3,3) |
(7,14,9) |
(2,6,11); (4,1,7); (5,9,3) |
(10,3,1) |
5 |
3 |
11 |
(4,2) |
(3,4) |
(4,1); (8,7); (3,10); (2,9) |
(5,8,5,9) |
6 |
9 |
5 |
(3,2) |
(9,3) |
(1,1); (4,2); (3,4) |
(2,2,4) |
7 |
11 |
19 |
(3,3) |
(11,15,8) |
(7,1,12); (3,9,5); (6,14,8) |
(7,4,10) |
8 |
15 |
23 |
(2,2) |
(15,19) |
(6,17); (11,2) |
(22,19) |
9 |
7 |
11 |
(3,3) |
(7,3,9) |
(2,1,7); (1,8,4); (9,2,6) |
(3,1,2) |
10 |
9 |
13 |
(3,2) |
(9,12) |
(4,11); (7,5) |
(12,6) |
Вариант 2.
Для проверки функции разделения секрета подставьте в программу значения p, n, k, секрет m и коэффициенты секретного полинома s1…sk-1 из табл. 2.2 и сравните полученный результат с долями секрета (1,S(1)), (2,S(2)), (3,S(3)) и (если есть) (4,S(4));
Для проверки функции восстановления секрета подставьте в программу значения (1,S(1)), (2,S(2)), (3,S(3)) и (если есть) (4,S(4)) и сравните полученный результат с m, приведенным в табл. 2.2.
Таблица 2.2
№ |
p |
n |
K |
m |
s1…sk-1 |
(1,S(1)) |
(2,S(2)) |
(3,S(3)) |
(4,S(4)) |
1 |
1027 |
4 |
3 |
156 |
(299,760) |
(1,188) |
(2,713) |
(3,704) |
(4,161) |
2 |
1047 |
4 |
4 |
124 |
(165,282,174) |
(1,745) |
(2,880) |
(3,526) |
(4,727) |
3 |
1075 |
4 |
4 |
666 |
(54,560,727) |
(1,932) |
(2,230) |
(3,772) |
(4,470) |
4 |
7391 |
4 |
3 |
4345 |
(4714,2003) |
(1,3671) |
(2,7003) |
(3,6950) |
(4,3512) |
5 |
4199 |
3 |
3 |
123 |
(2801,2998) |
(1,1723) |
(2,921) |
(3,1916) |
- |
6 |
1603 |
4 |
3 |
5422 |
(1446,1304) |
(1,157) |
(2,706) |
(3,657) |
(4,10) |
7 |
1903 |
4 |
4 |
867 |
(118,261,28) |
(1,1274) |
(2,468) |
(3,520) |
(4,1598) |
8 |
6427 |
3 |
3 |
1245 |
(6133,870) |
(1,1821) |
(2,4137) |
(3,1766) |
- |
9 |
8471 |
3 |
3 |
533 |
(6702,2631) |
(1,1395) |
(2,7519) |
(3,1963) |
- |
10 |
4363 |
4 |
4 |
876 |
(4353,60,346) |
(1,1272) |
(2,3864) |
(3,2002) |
(4,2125) |
Вариант 3.
Для проверки функции разделения секрета подставьте в программу значения m, n и k из табл. 2.3 и сравните полученный результат с n1(x,p), n2(x,p), n3(x,p), n4(x,p) и n5(x,p);
Для проверки функции восстановления секрета подставьте в программу значения n1(x,p), n2(x,p), n3(x,p), n4(x,p), n5(x,p) из табл. 2.3 и сравните полученный результат с m.
Таблица 2.3
№ |
m |
n |
k |
n1(x,p) |
n2(x,p) |
n3(x,p) |
n4(x,p) |
n5(x,p) |
1 |
123456 |
5 |
3 |
(19,53) |
(28,59) |
(53,61) |
(42,67) |
(58,71) |
2 |
19256292 |
5 |
3 |
(2,29) |
(22,31) |
(12,37) |
(27,41) |
(32,43) |
3 |
223456 |
5 |
4 |
(11,23) |
(11,29) |
(8,31) |
(13,37) |
(6,41) |
4 |
25324 |
4 |
4 |
(0,13) |
(11,17) |
(16,19) |
(1,23) |
- |
5 |
433566 |
5 |
4 |
(16,29) |
(0,31) |
(0,37) |
(32,41) |
(40,43) |
6 |
987542 |
5 |
3 |
(65,101) |
(81,103) |
(39,107) |
(2,109) |
(35,113) |
7 |
54332 |
4 |
3 |
(7,41) |
(23,43) |
(0,47) |
(7,53) |
- |
8 |
84123 |
3 |
3 |
(40,47) |
(12,53) |
(48,59) |
- |
- |
9 |
9942319 |
5 |
5 |
(17,29) |
(30,31) |
(12,37) |
(24,41) |
(31,43) |
10 |
1945819 |
5 |
3 |
(52,127) |
(76,131) |
(8,137) |
(97,139) |
(28,149) |
Вариант 4.
Для проверки функции исключения неминимальных групп задайте структуру доступа, состоящую из групп, указанных в 1-й колонке табл. 2.4. В результате работы функции, в структуре доступа должны остаться группы, перечисленные во 2-й колонке табл. 2.4.
Таблица 2.4
(A, B, C, E); (A, B, E); (A,B,D); (A,D,E); (A,C); (B, C, D, E) |
(A, B, E); (A, B, D); (A,D,E); (A,C); (B, C, D, E) |
(A, B); (A, C); (B, D); (D, E); (A, B, C, D); (A, B, D) |
(A,B); (A,C); (B,D); (D,E) |
(A, B); (B, D); (B); (B, D, E); (A, B, C) |
(B) |
(A, B, D); (A, B); (A, C, E); (A, B, E); (D, E); (B, D, E) |
(A, B); (A, C, E); (D, E) |
(B, D); (A, B, D); (C, D, E); (B, C, D) |
(B, D); (C, D, E) |
(A; E); (B, C, E); (A, B, D); (A, D, E) |
(A; E); (B, C, E); (A, B, D) |
Задать структуру доступа из табл. 2.5;
задать значение секрета m и долей первых 4 участников s1, s2, s3, s4, соответствующими табл. 2.5;
в результате правильной работы протокола участник №5 должен получить долю s5 из табл. 2.5.
Таблица 2.5
№ |
Структура доступа |
m |
s1 |
s2 |
s3 |
s4 |
s5 |
1 |
(A, B, D); (D, E); (C, E) |
23 |
(18,-,-) |
(9,-,-) |
(-,-,19) |
(12,9,-) |
(-,30,4) |
2 |
(A, B, C, D, E) |
111 |
27 |
95 |
23 |
84 |
104 |
3 |
(B, C, D); (B, D, E) |
150 |
(-,-) |
(2,105) |
(92,-) |
(200,91) |
(-,164) |
4 |
(A, B, C, D); (C, E) |
142 |
(14,-) |
(41,-) |
(40,107) |
(129,-) |
(-,229) |
5 |
(A, B, C, D, E) |
254 |
137 |
100 |
159 |
240 |
124 |
6 |
(A, B, C); (B, D); (D, E) |
435 |
(10,-,-) |
(225,389,-) |
(344,-,-) |
(-,54,114) |
(-.-.449) |
7 |
(A, C, D); (B, D, E) |
533 |
(102,-) |
(-,284) |
(528,-) |
(99,90) |
(-,851) |
8 |
(A, B, C, D, E) |
654 |
67 |
425 |
275 |
627 |
4 |
9 |
(A, B); (C, D) |
721 |
(35,-) |
(754,-) |
(-,624) |
(-,161) |
(-,-) |
10 |
(A, B, C, D, E) |
789 |
47 |
95 |
719 |
686 |
773 |