Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пкр_лекции / 34 ПК ПЗ№4 (3.3)2012.docx
Скачиваний:
68
Добавлен:
14.04.2015
Размер:
97.56 Кб
Скачать

Розв’язок

Спочаткуперевіримо, чи є М=15 первісним елементомGF(23). Для цього він повинензадовільняти вимогам:

  1. або ;

  2. , де а – один з множників канонічного розкладу числа Р.

Проведеморозрахунки для заданихзначеньР та М:

- перша умовавиконується. Далізнайдемоканонічнийрозклад числа Р та перевіримо другу умову:

23 - 1 = 22 = 2 ∙ 11- отже, а1 = 2 і а2 = 11.

Таким чином умов 2 такожвиконується, а, отже, М – первіснийелемент у поліGF(23)/

Відкритий ключ Yасиметричної пари (x, Y) можна знайти за формулою Y = МХmodN. Підставимо задані значення M, x та N:

Y = 1520mod23 = 332525673007965087890625mod 23 = 9

ЗАДАЧА 3.11.11 Зашифруйте та розшифруйте повідомлення М=(13,17), використовуючи направлений шифр в групі точок ЕК, якщо Р=23, a=1, b=1 (крива y2=(x3+x2+1)mod23), G=(17,20), n=7.

Решение:

Отправитель сообщения выбирает случайное (k=3).

Расчитывают одноразовый открытый ключ

C1=k*G=3*(17;20)

λ=(3+a)/2y1(mod 23)=(3*17*17+1)/40(mod 23)=848/40(mod 23)=1

2G=(13;7)

λ=(y2-y1)/(x2-x1)(mod 23)=(7-20)/(13-7)(mod 23)=9

3G=(5;19)

Одноразовый открытый ключ=(5;19)

Q=d*G-открытый ключ получателя

d-долговременный собственный ключ (d=2)

Q=2G=2*(17;20)=(13;7)

C2=M+k*Q=(13;7)+3*(13;7)

2(13;7)=(5;4)

3(13;7)=(17;3)

Получателю посылают открытый ключ и зашифрованный текст

Расшифрование :

Получатель вычисляет d*= 2(5;19)

- d*= (11;22)- (17; 3)= (11;22)+(17;-3)=(11;22) + (17;20)

ЗАДАЧА 3.11.12.

Сформуйте пропозиції та реалізуйте алгоритм направленого шифрування в групі точок еліптичних кривих, якщо порівняння кривої має вигляд:

y2=(x3+x+6)mod11, G=(2,7),

особистий ключ хi=7.

Знайдіть відкритий ключ Аi користувача. Виробіть криптограму СМ , якщо М=(10,9), k=3. Сформуйте пропозиції та здійсніть розшифрування криптограми СМ.

Розв’язок задачі

Направлене шифрування повідомлення М буде здійснюватися наступним чином:

С2 = M + kQ

де k — сеансовий ключ (обирається випадково при початку нового сеансу)

Q — відкритий ключ користувача А, котрому адресується повідомлення.

Також обчислюється відкритий ключ сеансу:

С1 = kG

де G — базова точка.

Таким чином криптограма складається з двох точок на еліптичній кривій: (С1, С2).

Розшифрування відбувається наступним чином:

Користувач А, котрому була адресована криптограма впевнюється, що пара точок (С1, С2) належать еліптичній кривій. Далі отримується початкове повідомлення як:

M’ = C2 - dC1 = M + kQ - dkG = M + kdG - dkG = M

Таким чином криптоперетворення є зворотнім та однозначним.

Тепер нехай рівняння кривої має вигляд y2 = x3+x+6, а базова точка G=(2,7).

Здійснимо шифрування повідомлення М = (10,9) згідно алгоритму, наведеного вище, використовуючи ключ сеансу k=3. Розрахуємо відкритий ключ абонента:

Q = dG = 7(2, 7) = (7, 2)

Далі зашифруємо повідомлення:

C2 = M+kQ = (10, 9) + 3(7, 2) = (10, 9) + (3, 5) = (10, 2)

А також відкритий ключ сеансу:

C1 = kG = 3(2, 7) = (8, 3)

Таким чином, зашифроване повідомлення представляє собою пару точок (С1, С2) = ((8, 3), (2, 7)).

Тепер розшифруємо повідомлення:

M’ = C2 - dC1 = (10, 2) - 7(8, 3) = (10, 2) - (3, 5) = (10, 9)

Як видно, М та М’ співпадають, отже розшифрування відбулося вірно.

Соседние файлы в папке пкр_лекции