Шифрування з відкритим ключем: визначення, особливості та види алгоритмів

Шифрування і дешифрування

Далі процес шифрування і дешифрування є відносно простим і легко обчислюваним. Цікаво, що RSA безпосередньо не працює з рядками біт, як у випадку симетричного методу. Він працює з числами по модулю n. Отже, необхідно представити відкритий текст, як ряд чисел, менших n.

Шифрування RSA:

  • Припустимо, що відправник хоче відправити текстове повідомлення кому-то, відкритий ключ (n, e).
  • Потім відправник представляє відкритий текст як серію чисел менше n.
  • Зашифрувати перший відкритий текст P, який є номером за модулем n. Процес шифрування – це простий математичний крок, C = Pe mod n.
  • Іншими словами, зашифрований текст C дорівнює відкритого тексту P, помноженому на нього e раз, а потім зменшеному по модулю n. Це означає, що C також менше n. Повертаючись до прикладу генерації ключів з відкритим текстом P = 10, отримуємо шифрований текст: C = 105 mod 91.

    Розшифровка RSA:

  • Процес дешифрування RSA також дуже простий. Припустимо, що одержувач пари ключів (n, e) отримав текст C.
  • Одержувач піднімає значення C для ключа d. Результат по модулю n буде відкритим текстом P: Plaintext = Cd mod n.
  • Повертаємося знову до числового прикладу, шифрований текст C = 82 дешифрован до числа 10 з використанням закритого ключа 29: Plaintext = 8229 mod 91 = 10.
  • Безпека RSA залежить від сильних сторін двох окремих функцій. Криптосистема RSA є найпопулярнішою криптосистемой відкритого ключа, що ґрунтується на практичній складності факторизації великих чисел.

    Функція шифрування – вважається односпрямованої функцією перетворення відкритого тексту в зашифрований текст і може бути скасована лише з допомогою секретного ключа d. Складність визначення відкритого і закритого ключа шифрування RSA еквівалентна факторизації модуля n. Таким чином, зловмисник не може використовувати знання відкритого ключа RSA для визначення секретного ключа RSA, якщо тільки він не може визначити n. Це також одностороння функція, перехід від значень p & q до модулю n легко, але зворотне не представляється можливим.

    Якщо будь-яка з цих двох функцій буде не односторонньої, то RSA порушується. Фактично, якщо технологія факторингу ефективно розроблена, то RSA більше не буде в безпеці. Сила шифрування RSA різко знижується проти атак, якщо число p і q не є простими числами або вибраний відкритий ключ e є невеликим числом.