Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Задача 2. Шифрование по алгоритму Шамира




Зашифровать сообщение по алгоритму Шамира для трех абонентов, взяв значение сообщения m и значение p из таблицы 2. По номеру i (предпоследняя цифра) студент выбирает сообщение для зашифровывания, по j – требуемые для реализации этого алгоритма число р. Выбор данных для других абонентов произвести циклически согласно процедуре (i + 1) и g.

Таблица 2 Исходные данные для выбора сообщений (m) и p=53

 

I      
Сообщение      
J      
p      

Решение:

Перейдем к описанию системы. Пусть есть два абонента А и В, соединенные линией связи. А хочет передать сообщение m абоненту Б так, чтобы никто не узнал его содержание. А выбирает случай­ное большое простое число р и открыто передает его В. Затем А выбирает два числа сА и dA, такие, что

сАdA mod (р - 1) = 1. (2.1)

Эти числа А держит в секрете и передавать не будет. В тоже вы­бирает два числа св dв, такие, что

св<dв mod (p - 1) = 1, (2.2)

и держит их в секрете.

После этого А передает свое сообщение m, используя трехсту­пенчатый протокол. Если m < р (m рассматривается как число), то сообщение т передается сразу, если же т р, то сообще­ние представляется в виде m1, m2,..., mt, где все mi < р, и затем передаются последовательно m1, m2,..., mt. При этом для кодиро­вания каждого mi лучше выбирать случайно новые пары (cA,dA) и (cB,dB) — в противном случае надежность системы понижается. В настоящее время такой шифр, как правило, используется для пере­дачи чисел, например, секретных ключей, значения которых меньше р. Таким образом, мы будем рассматривать только случай m < р.

 

Описание протокола.

Шаг 1. А вычисляет число: Х1 =mСА modp (2.3), где m — исходное сообщение, и пересылает х1 к В.

Шаг 2. В, получив х1, вычисляет число: X2 = х1CB mod p (2.4),

и передает х2 к А.

Шаг 3. А вычисляет число: X3 = х2dA mod p (2.5),

и передает его В.

Шаг 4. В, получив х3, вычисляет число X4 = x3dB mod p (2.6).

 

Утверждение (свойства протокола Шамира).

1) х4 = m, т.е. в результате реализации протокола от А к В действительно передается исходное сообщение;

2) злоумышленник не может, узнать, какое сообщение было пе­редано.

Доказательство. Вначале заметим, что любое целое число е 0 может быть представлено в виде е = k(р-1)+r, где r = е mod (p-1). Поэтому на основании теоремы Ферма: (2.7).

Справедливость первого пункта утверждения вытекает из следую­щей цепочки равенств:

(предпоследнее равенство следует из (2.7), а последнее выполняется в силу (2.1) и (2.2)).

Доказательство второго пункта утверждения основано на пред­положении, что для злоумышленника, пытающегося определить m, не существует стратегии более эффективной, чем следующая. Вна­чале он вычисляет CB из (2.4), затем находит dB и, наконец, вы­числяет Х4 = m по (2.6). Но для осуществления этой стратегии злоумышленник должен решить задачу дискретного логарифмиро­вания (2.4), что практически невозможно при больших р.

Опишем метод нахождения пар cA,dA и сB,dB, удовлетворя­ющих (2.1) и (2.2). Достаточно описать только действия для або­нента А. так как действия для В совершенно аналогичны. Число сA выбираем случайно так, чтобы оно было взаимно простым с р-1 (по­иск целесообразно вести среди нечетных чисел, так как р - 1 четно), Затем вычисляем dA с помощью обобщенного алгоритма Евклида.

Теорема Пусть a и b – два целых положительных числа. Тогда существуют целые (не обязательно положительные) числа x и y, такие, что

ax + by = gcd(a, b). (1)

 

Обобщенный алгоритм Евклида служит для отыскания gcd(a,b) и x,y, удовлетворяющих (1). Введем три строки U=(u1, u2, u3), V=(v1, v2, v3) и Т=(t1, t2, t3). Тогда алгоритм записывается следующим образом.

 

Решение:

Пусть А хочет передать В сообщение m = 22. А выбирает р = 53,

сАdA mod (р - 1) = 1.

сА = 101, dA = 173.

Аналогично, В выбирает параметры

свdв mod (p - 1) = 1

cB = 127 и dB = 199. Переходим к протоколу Шамира.

Шаг 1. x1 = 22101mod 53 =21.

Шаг 2. х2 = 21127 mod 53 = 19.

ШагЗ. x3= 19173 mod 53 = 32.

Шаг 4. х4 = 32199 mod 53 = 22.

Таким образом, В получил передаваемое сообщение m = 22.

Пусть B хочет передать C сообщение m = 24. B выбирает р = 57,

СBdB mod (р - 1) = 1.

СB =13, dB = 13.

Аналогично. C выбирает параметры

Сcdc mod (p - 1) = 1

Cc = 101 и dc = 173. Переходим к протоколу Шамира.

Шаг 1. x1 = 2413mod 57 = 36.

Шаг 2. х2 = 36101 mod 57 = 42.

ШагЗ. x3= 4213 mod 57 = 9.

Шаг 4. х4 = 9173 mod 57 =24.

Таким образом, C получил передаваемое сообщение m = 24.

1. Пусть С хочет передать A сообщение m = 26. C выбирает р = 29,

СRdR mod (р - 1) = 1.

СR = 3, dR = 19.

Аналогично. В выбирает параметры

СAdA mod (p - 1) = 1

CA = 3 и dA = 47. Переходим к протоколу Шамира.

Шаг 1. x1 = 263mod29 = 2.

Шаг 2. х2 = 23 mod 29 = 8

ШагЗ. x3= 819 mod 29 = 2.

Шаг 4. х4 = 247 mod 29 = 26.

Таким образом, A получил передаваемое сообщение m = 26.

 

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...