Лабораторные работы: «Электронная жеребьевка», «Разделение секрета», «Покер по телефону»

Лабораторная работа
в среде программирования Visual C# .NET 2010



Если Вы считаете, что данная страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи

Среда программирования: Visual C# .NET 2010

Название работы: Лабораторные работы: «Электронная жеребьевка», «Разделение секрета», «Покер по телефону»

Вид работы: Лабораторная работа

Описание: Задание к лабораторной работе №1: «Электронная жеребьевка».
Разработать программу, осуществляющую протокол подбрасывания монеты между двумя участниками. Программа должна состоять из двух частей (часть Алисы и часть Боба).
Вариант 4: протокол на основе симметричной.
Использовать алгоритм симметричной криптосистемы, реализованный ранее. Ключи для шифрования следует сгенерировать единожды, хранить в отдельном файле и использовать при каждом применении схемы подбрасывания монеты. Результат работы программы записывать в отдельный файл.
Данные для самопроверки к разделу 1.
Вариант 4.
Самопроверка производится следующим образом:
1. использовать алгоритм шифрования ГОСТ 28147-89, процедура генерации S-блоков представлена в приложении 2;
2. так как бит догадки b уже добавлен к случайной строке R, необходимо зашифровать эту строку ключом К из табл. 1.4;
3. сравнить полученный результат с колонкой Y в табл. 1.4;
4. заменив R+b или K на любое другое значение, получить отрицательный результат.
Таблица 1.4
№ b R+b K Y (R,b)=Dk(Y)
1 1 98102469 editqwertyuiopasdfghjklzxcvbnmkl 1|ТЗEpЬ$ да
2 1 59033187 1fgrtyunhdgsfacqwertylmk76895poi Pyл·t™9њ да
3 0 32080638 34rtyhnfkdju78aservbgx[0oik675hn y^bЊ12ЮЫ да
4 1 20680553 iop59867kmlytrewqcafsgdhnuytrgf1 q¬ЖЭoё;Х да
5 0 42924248 1fgrtyunhdgsfacqwertylmk76895poi UЪRoTє[‰ да
6 1 86295617 34rtyhnfkdju78aservbgx[0oik675hn 3¦ЬЊ?оФе да
7 1 27510833 iop59867kmlytrewqcafsgdhnuytrgf1 LPNo&7є^ да
8 1 03319505 editqwertyuiopasdfghjklzxcvbnmkl (Ќсp4cо! да
9 0 58240170 34rtyhnfkdju78aservbgx[0oik675hn @сe8"hУ да
10 0 47020144 1fgrtyunhdgsfacqwertylmk76895poi cбµэqW»; да

Приложение 2. Процедура генерации S-блоков алгоритма шифрования ГОСТ 28147-89 к тестовым данным для протокола подбрасывания монеты на основе симметричной криптосистемы.

procedure TGOST.GreateSBlocks;
var i,j:integer;
const
s1:array[0..15]of byte=(4,10,9,3,13,8,0,14,6,11,1,12,7,15,5,2);
s2:array[0..15]of byte=(4,10,9,2,13,8,0,14,6,11,1,12,7,15,5,3);
begin
for i:=0 to 15 do
SBlock[0,i]:=s1[i];
for j:=1 to 7 do
for i:=0 to 15 do
SBlock[j,i]:=s2[i];
end;


Задание к лабораторной работе №2: «Разделение секрета».
Разработать приложение, осуществляющее протокол разделения секрета согласно варианту. Программа должна:
• формировать доли секрета для каждого участника из группы доступа;
• формировать папку и заносить каждую долю в отдельный файл в этой папке;
• восстанавливать секрет, запрашивая у пользователя файлы, содержащие доли секрета;
• если пользователь предлагает доли неавторизованной группы, выдавать сообщение "невозможно восстановить секрет".

Вариант 4: схема для произвольной группы доступа.
Количество участников в схеме n=5. Пользователь задает секрет и указывает все разрешенные группы. Программа должна удалить из структуры доступа все группы, не являющиеся минимальными. Доли участников должны быть того же размера, что секрет.
Для восстановления секрета пользователь указывает набор участников, производящих восстановление. Программа выбирает разрешенную группу, входящую в этот набор и восстанавливает секрет, используя доли этой группы. Если такой группы нет, программа выдает сообщение «невозможно восстановить секрет».
Данные для самопроверки к разделу 2.
Вариант 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)
1. Задать структуру доступа из табл. 2.5;
2. задать значение секрета m и долей первых 4 участников s1, s2, s3, s4, соответствующими табл. 2.5;
3. в результате правильной работы протокола участник №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


Задание к лабораторной работе №3: «Покер по телефону».
Разработать программу, осуществляющую протокол честной раздачи карт на основе шифра Шамира:
52 карты кодируются целыми числами. Пользователь выбирает n – количество игроков от 2 до 5, которым будут сдаваться карты по 10 карт на игрока. В результате работы программы должна появиться папка с n текстовыми файлами (с именами A.txt, B.txt и т.д.).
В файле A.txt должны быть записаны карты, сданные игроку A (в виде "Д пик", "В червей", "10 треф"), в файле B.txt – карты, сданные игроку B и т.д.
Использовать класс больших чисел, разработанный ранее. Простое число p, используемое в протоколе, должно быть доказуемо простым. Секретные ключи участников (Ci, Di) записывать в отдельный файл.
Данные для самопроверки к разделу 3.
Карты задаются числовыми значениями, начиная с 2 и заканчивая тузом, следующим образом:
1. буби – 101-113;
2. черви – 201-213;
3. крести – 301-313;
4. пики – 401-413.
Задаем параметры протокола, представленные в табл. 3.1.
Таблица 3.1
p k (C1, D1) (C2, D2) (C3, D3) (C4, D4) (C5, D5)
599 5 (177,473) (457,475) (387,17) (381,361) (185,139)

Если при задании Ci из таблицы 3.1, программа выдает значение Di, отличное от приведенного здесь, то следует проверить работу процедуры генерации ключей.

Год: 2014

Данный заказ (лабораторная работа) выполнялся нашим сайтом в 2014-м году, в рамках этого заказа была разработана программа в среде программирования Visual C# .NET 2010. Если у Вас похожее задание на программу, которую нужно написать на Visual C# .NET 2010, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2014-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".

Купить эту работу

Тел.: +79374242235
Viber: +79374242235
Telegram: kursovikcom
ВКонтакте: kursovikcom
WhatsApp +79374242235
E-mail: info@kursovik.com
Skype: kursovik.com