Вступ до шифрування відкритих ключів

Шифрування відкритого ключа також називається асиметричним шифруванням ключів. Як зазначає сама назва асиметричного ключа, для шифрування відкритого ключа використовуються два різні ключі. Один ключ використовується для процесу шифрування, а інший - для процесу дешифрування. Після того, як ключ вирішено для шифрування та розшифровки, жоден інший ключ не буде використовуватися. З цих двох клавіш один ключ називається відкритим, а інший - приватним.

Припустимо, що ви хочете спілкуватися з друзями через Інтернет, щоб безпечно почати спілкування, вам потрібно отримати як публічний, так і приватний ключ. Приватний ключ - це секретний ключ, ви повинні зберігати його як секретний. Якщо приватний ключ передається іншій стороні, є ймовірність нападу через третю сторону.

Припустимо, X хоче безпечно спілкуватися з Y, тоді і X, і Y мають мати відкритий ключ і приватний ключ.

  • X повинна зберігати її приватний ключ в секреті.
  • X повинна повідомити про її публічний ключ до Y.
  • Ви повинні зберігати її приватний ключ в секреті.
  • Y повинна повідомити її відкритий ключ до X.

Як працює шифрування відкритого ключа?

Робота шифрування відкритих ключів пояснюється нижче:

Випадок 1

Коли X хоче спілкуватися з Y, X використовує відкритий ключ Y для шифрування повідомлення, це можливо, оскільки Y надає свій відкритий ключ X.

  • X посилає Y зашифроване повідомлення.
  • Y отримує повідомлення від X.
  • Y розшифровує повідомлення, використовуючи її, тобто приватний ключ Y.

Примітка: Лише Y знає, що її приватний ключ та повідомлення можна розшифрувати за допомогою приватного ключа Y. Перевагою цього є те, що учасник не може розшифрувати повідомлення, оскільки він / вона не знає приватного ключа Y. Лише приватний ключ Y може розшифрувати повідомлення.

Випадок 2

Коли Y хоче спілкуватися з X, Y використовує відкритий ключ X для шифрування повідомлення. Це можливо, тому що X ділиться своїм відкритим ключем до Y.

  • Y передає зашифроване повідомлення X.
  • X отримує повідомлення від Y
  • X розшифровує повідомлення за допомогою її, тобто приватного ключа X.

Компоненти

Нижче наведено компоненти шифрування відкритого ключа:

  • Звичайний текст: Текст, який є у читаному форматі і може зрозуміти будь-хто, називається простим текстом. Простий текст використовується як вхід для процесу шифрування.
  • Шифротекст: Це текст, який перетворюється у читабельний формат у нечитабельному форматі за допомогою алгоритму шифрування, називається шифротекстом. Шифротекст є результатом процесу шифрування. Він у нечитабельному форматі і його ніхто не розуміє.
  • Відкритий ключ: ключ, який відомий всім, відомий як відкритий ключ. Відкритий ключ зазвичай використовується для процесу шифрування на стороні відправника.
  • Приватний ключ: ключ, який відомий не всім, який зберігається як секрет, відомий як приватний ключ. Приватний ключ використовується для процесу дешифрування на стороні приймача.
  • Алгоритм шифрування: Алгоритм, який використовується для перетворення простого тексту в текст шифру, відомий як алгоритм шифрування.
  • Алгоритм розшифровки: Алгоритм, який використовується для перетворення тексту шифру в звичайний текст, відомий як алгоритм дешифрування.

Алгоритми шифрування відкритого ключа

Нижче наведено Алгоритми шифрування відкритого ключа.

Алгоритм RSA

RSA - найпопулярніший алгоритм шифрування відкритим ключем. Алгоритм RSA заснований на математичних обчисленнях виявлення та множення великого простого числа просто, але важко підрахувати їхній фактор. Приватні та відкриті ключі, що використовуються в RSA, - це великі простої кількості.

Кроки до алгоритмів RSA:

  • Виберіть два великих прості числа X і Y.
  • Обчисліть добуток N = X * Y.
  • Виберіть відкритий ключ E таким, щоб він не був коефіцієнтом (X - 1) і (Y - 1).
  • Оберіть приватний ключ D таким, що наступне рівняння стає істинним.
  • (D * E) мод (X - 1) * (Y - 1) = 1
  • Для шифрування обчислюють CT як CT = PT E mod N.
  • Відправте КТ на одержувач.
  • Для дешифрування обчисліть PT як PT = CT D mod N.
Примітка. В алгоритмі RSA вибір і генерація відкритого ключа та приватного ключа є критичним завданням.

Алгоритм криптографії ElGamal

ElGamal - ще один популярний алгоритм шифрування відкритим ключем.

Покоління ключів ElGamal:

  • Виберіть велике просте число P як відкритий ключ, а Q - як приватний ключ.
  • Виберіть другий ключ шифрування як E1.
  • Виберіть третій ключ шифрування як E2, щоб E2 = E Q mod P Шифрував ключ ElGamal.
  • Виберіть випадкове число R.
  • Обчисліть шифротекст як CT = E1 R mod P.
  • Обчисліть другий текст шифру CT2 = (PT * E2 R) mod P Розшифровка ключа ElGamal
  • Обчисліть звичайний текст як PT = (CT2 * (CT Q) - 1) mod P.

Рекомендовані статті

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

  1. Що ви можете зробити із симетричним шифруванням ключа?
  2. Криптографія проти шифрування
  3. Види симетричних алгоритмів
  4. Основні особливості Dropbox