Введение в шифрование с открытым ключом

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

Предположим, что вы хотите общаться с друзьями через Интернет, для безопасного начала общения вам необходимо получить как открытый, так и закрытый ключ. Закрытый ключ - это секретный ключ, вы должны хранить его в секрете. Если закрытый ключ будет передан другой стороне, существует вероятность атаки через третью сторону.

Предположим, что X хочет безопасно общаться с Y, тогда и X, и Y должны иметь открытый ключ и закрытый ключ.

  • Х должна держать свой секретный ключ в секрете.
  • Х должна сообщить свой открытый ключ к Y.
  • 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) mod (X - 1) * (Y - 1) = 1
  • Для шифрования рассчитайте CT как CT = PT E mod N.
  • Отправьте КТ получателю.
  • Для расшифровки вычислите PT как PT = CT D mod N.
Примечание. В алгоритме RSA выбор и генерация открытого ключа и закрытого ключа является критически важной задачей.

Алгоритм криптографии Эль-Гамаля

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

ЭльГамал Генерация ключей:

  • Выберите большое простое число P в качестве открытого ключа и Q в качестве личного ключа.
  • Выберите второй ключ шифрования как E1.
  • Выберите третий ключ шифрования как E2, так что E2 = E Q mod P ElGamal Key шифрование.
  • Выберите случайное число 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