Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Алгоритм RSA




Алгоритм RSA стоїть біля витоків джерел асиметричної криптографії. Він був запропонований трьома дослідниками-математиками Рональдом Рівестом (R. Rivest), Аді Шаміром (A. Shamir) і Леонардом Адльманом (L. Adleman) у 1977-78 роках.

Першим етапом будь-якого асиметричного алгоритму є створення пари ключів: відкритого і закритого та поширення відкритого ключа “в усьому світі”. Для алгоритму RSA етап створення ключів складається з наступних операцій:

1. Вибираються два простих (!) числа p та q

2. Обчислюється їхній добуток n(=p*q)

3. Вибирається довільне число e (e<n), таке, що НОД(e,(p-1)(q-1))=1, тобто e повинно бути взаємно простим із числом (p-1)(q-1).

4. Методом Евкліда зважується в цілих числах (!) рівняння e*d+(p-1)(q-1)*y=1. Тут невідомими є змінні d та y – метод Евкліда саме і знаходить множину пар (d, y), кожна з яких є рішенням рівняння в цілих числах.

5. Два числа (e, n) – публікуються як відкритий ключ.

6. Число d зберігається в найсуворішій таємниці – це і є закритий ключ, що дозволить читати всі послання, зашифровані за допомогою пари чисел (e, n).

Як же здійснюється власне шифрування за допомогою цих чисел:

1. Відправник розбиває своє повідомлення на блоки, рівні k = [log2(n)] біт, де квадратні дужки позначають узяття цілої частини від дробового числа.

2. Подібний блок, як Ви знаєте, може бути інтерпретований як число з діапазону (0; 2k-1). Для кожного такого числа (назвемо його mi) обчислюється вираження ci=((mi)e)mod n. Блоки ci і є зашифроване повідомлення Їх можна спокійне передавати по відкритому каналі, оскільки операція підняття в степінь по модулі простого числа, є необоротною математичною задачею. Зворотна їй задача зветься “логарифмування в скінченому полі” і є на кілька порядків більш складною задачею. Тобто навіть якщо зловмисник знає числа e і n, те по ci прочитати вихідні повідомлення mi він не може ніяк, крім як повним перебором mi.

А от на прийомній стороні процес дешифрування все-таки можливий, і допоможе нам у цьому збережене в таємниці число d. Досить давно була доведена теорема Ейлера, окремий випадок якої стверджує, що якщо число n представимо у вигляді двох простих чисел p і q, то для будь-якого x має місце рівність (x(p-1)(q-1))mod n = 1. Для дешифрування RSA-повідомлень скористаємося цією формулою.

Піднімемо обидві її частини до степені (-y): (x(-y)(p-1)(q-1))mod n = 1(-y) = 1. Тепер помножимо обидві частини на x: (x(-y)(p-1)(q-1)+1)mod n = 1*x = x.

А тепер згадаємо як ми створювали відкритий і закритий ключі. Ми підбирали за допомогою алгоритму Евкліда d таке, що e*d+(p-1)(q-1)*y=1, тобто e*d=(-y)(p-1)(q-1)+1. А отже в останньому виразі попереднього абзацу ми можемо замінити показник степені на число (e*d). Одержуємо (xe*d)mod n = x. Тобто для того щоб прочитати повідомлення ci=((mi)e)mod n досить звести його в степінь d за модулем m: ((ci)d)mod n = ((mi)e*d)mod n = mi.

Насправді операції підняття до степені великих чисел досить трудомісткі для сучасних процесорів, навіть якщо вони здійснюються за оптимізованими за часом алгоритмами. Тому звичайно весь текст повідомлення кодується звичайним блоковим шифром (набагато більш швидким), але з використанням ключа сеансу, а от сам ключ сеансу шифрується саме асиметричним алгоритмом за допомогою відкритого ключа одержувача і поміщається в початок файлу.

Питання для самоконтролю

1. В чому полягає захист інформації від несанкціонованого доступу?

2. Що вивчає наука криптографія?

3. Дайте характеристику симетричних криптографічних систем.

4. Охарактеризуйте асиметричні криптографічні системи.

5. Що таке електронний цифровий підпис?

6. Чим регулюється правове забезпечення електронного цифрового підпису в Україні?

7. Для чого призначена сертифікація ключів?

8. У чому полягає процедура аутентифікації та авторизації користувачів?

9. Які вимоги ставляться до паролів?

10. Комп’ютерні віруси та антивірусні програми.

11. Програмні засоби захисту та резервування інформації





Поделиться с друзьями:


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


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



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




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