Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритм електронного цифрового підпису Ель Гамаля (EGSA)

Надійний та зручний для реалізації на персональних комп’ютерах алгоритм цифрового підпису був розроблений у 1984 році американцем арабського походження Тахером Ель Гамалем. У 1991 році Національний інститут стандартів (НІСТ) США обґрунтував перед комісією Конгресу США вибір цього алгоритму як бази для відповідного національного стандарту. Найменування EGSA має походження від слів El Gamal Signature Algorithm (алгоритм цифрового підпису Ель Гамаля).

Ідея EGSA базується на тому, що для практичної неможливості фальсифікації ЕЦП може бути використана практично нерозв’язувана задача дискретного логарифмування.

Послідовно розглянемо алгоритм електронного цифрового підпису Ель Гамаля.

1). Відправник, який має підписати свій документ, вибирає деяке велике просте ціле число P. Це число є відкритим і передається усім отримувачам документів відправника. Реальні значення близькі до 2102410308).

Приклад. Відправник вибирає число P = 11.

2). Відправник вибирає також велике ціле число G, яке має задовольняти умовам 1 < G < P. Це число також є відкритим і передається усім отримувачам документів відправника. Реальні значення близькі до 251210154).

Приклад. Відправник вибирає число G = 2.

3). Відправник вибирає ціле число X, яке має задовольняти умовам 1 < X < P. Це число є секретним ключем відправника для підписування документів.

Приклад. Відправник вибирає секретний ключ X = 8.

4). Відправник обчислює число Y = GX mod P. Це число є відкритим ключем відправника, яке використовується отримувачами для перевірки його підпису. Це число також передається усім отримувачам документів відправника.

Приклад. Відправник обчислює число Y = GX mod P = 28 mod 11 = 3.

5). Відправник обчислює хеш-значення H свого документу M. Кількість біт хеш-значення має бути на одиницю меншою кількості біт значення P1. У загальному випадку хеш-значення H документу M відправника має задовольняти умовам 1 < H < (P1).

Приклад. Відправник обчислює хеш-значення H свого документу M і отримує H = 5. Згадані умови стосовно кількості біт виконуються. Дійсно, значення H = 5 має 3 біта, а значення P1 = 10 має 4 біта.

6). Відправник вибирає випадкове ціле число K, яке має задовольняти умовам 1 < K < (P1). Крім того, числа K і P1 мають бути взаємно простими, тобто їх найбільший спільний дільник НСД(K, P1) = 1. Це число також є секретним числом відправника для підписування його документу M.

Приклад. Відправник вибирає випадкове ціле число K = 9.

7). Відправник обчислює ціле число a = GK mod P. Це число є першою складовою електронного цифрового підпису його документу.

Приклад. Відправник обчислює число a = GK mod P = 29 mod 11 = 6.

8). Відправник знаходить ціле число b, використовуючи рівняння H = (X∙a + K∙b) mod (P – 1). Це число є другою складовою електронного цифрового підпису його документу.

Приклад. Відправник знаходить ціле число b із рівняння H = (X∙a + K∙b) mod (P – 1) або 5 = (8∙6 + 9∙b) mod 10. Це число можна знайти шляхом послідовного перебору:

b = 1; (8∙6 + 9∙1) mod 10 = 7;

b = 2; (8∙6 + 9∙2) mod 10 = 6;

b = 3; (8∙6 + 9∙3) mod 10 = 5.

Отримуємо b = 3.

9). Відправник передає отримувачу документ M, а також його електронний цифровий підпис у вигляді пари чисел S = (a, b).

Приклад. Відправник передає отримувачу документ M, а також його електронний цифровий підпис у вигляді пари чисел S = (6, 3).

Отримавши документ M, а також його електронний цифровий підпис S = (a, b), отримувач повинен перевірити, чи відповідає цей підпис документу.

1). Отримувач обчислює хеш-значення H отриманого документу M.

Приклад. Отримувач обчислює хеш-значення H документу M і отримує H = 5.

2). Отримувач обчислює ціле число A1 = (Ya ∙ab) mod P.

Приклад. Отримувач обчислює ціле число A1 = (Ya ∙ab) mod P = (36 ∙63) mod 11 = 10.

3). Отримувач обчислює ціле число A2 = GH mod P.

Приклад. Отримувач обчислює ціле число A2 = GH mod P = 25 mod 11 = 10.

4). Отримувач порівнює знайдені числа A1 і A2. Ці числа будуть рівні тоді і тільки тоді, коли електронний цифровий підпис відповідає документу, тобто відправником документу M є дійсно власник секретного ключа X, і що відправник підписав саме цей документ M.

Приклад. ЕЦП S = (6, 3) відповідає отриманому документу M.

Використання алгоритму електронного цифрового підпису Ель Гамаля вимагає вибору щоразу іншого випадкового цілого числа K. Інакше, якщо зловмисник розкриє повторно використовуване відправником число K, то він зможе розкрити і його секретний ключ X.

 

 

<== предыдущая лекция | следующая лекция ==>
Односторонні хеш-функції. | 
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 1239; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.