11-06-2018 15:11

Симметричное и асимметричное шифрование: определение понятия, применение, примеры

Чтобы обмениваться посланиями и скрыть содержание от третьих лиц, применяют шифрование. Оно используется там, где необходим повышенный уровень защиты. Есть две схемы шифрования: симметричная и асимметричная.

Что такое шифрование

Шифрование будет полезно тогда, когда нужно скрыть некоторую информацию от посторонних лиц и предоставить секретные данные авторизованным пользователям.

Особенностью такого вида передачи данных является использование ключа.

Оперативная память доступна не вся: как задействовать ее полный объем?Вам будет интересно:Оперативная память доступна не вся: как задействовать ее полный объем?

Есть три состояния безопасности:

  • скрытие информации от посторонних;
  • предотвращение изменений;
  • сохранение целостности информации;
  • идентификация отправителя.

Для чтения информации, кроме ключа, требуется дешифратор. Именно это обеспечивает невозможность получения данных злоумышленниками, ведь перехватив данные, но не имея ключа, прочесть их невозможно.

Бывают два вида шифрования: симметричный и асимметричный.

Главной целью шифрования является хранение информации. Это позволяет работать с некоторыми данными из ненадежных источников, передавать сообщения по незащищенным каналам. Отправка информации происходит так:

  • отправитель шифрует данные;
  • получатель расшифровывает.

Javascript-метод Array.slice: тонкости использованияВам будет интересно:Javascript-метод Array.slice: тонкости использования

Каждое преобразование реализуется с помощью алгоритмов, для решения которых используются ключи. Симметричные и асимметричные методы шифрования отличаются криптостойкостью.

Криптостойкость

Симметричные и асимметричные системы шифрования имеют такую характеристику, которая отвечает за сложность получения несанкционированного доступа.

Существует 2 основных типа криптостойкости системы шифрования.

  • Абсолютно стойкая система не может быть раскрыта, даже при наличии бесконечно больших вычислительных ресурсов. Характеризуется тем, что для каждого сообщения генерируется свой отдельный ключ. Его длина равна или больше длины сообщения.
  • Достаточно стойкие системы применяются в криптографической системе гражданского назначения. Такой алгоритм сложно расшифровать, но при наличии соответствующих ресурсов это становится возможным.
  • Сравнение криптостойкости некоторых систем шифрования

    Максимальный размер ключа RSA - 4096 бит.

    Он используется для шифрования и подписи. Криптостойкость можно описать как 2,7•1028 для ключа 1300 Бит. Схема применяется во многих стандартах, принцип шифрования RSA один из первых асимметричных алгоритмов.

    Как на сайте убрать подчеркивание ссылок на CSS?Вам будет интересно:Как на сайте убрать подчеркивание ссылок на CSS?

    Размер ключа схемы Эль-Гамаля равен RSA - 4096 Бит. Он используется и для шифрования, и для цифровой подписи. Криптостойкость этой системы не отличается от RSA при одинаковом размере ключа.

    В методе DSA используется значительно меньшей ключ - 1024 бита. Применяется он исключительно для цифровой подписи.

    Симметричное и асимметричное шифрование

    Эти два вида шифрования отличаются количеством ключей и уровнем устойчивости к взлому.

    Если для кодирования и раскодирования используется один ключ, то это шифрование симметричное. Асимметричное шифрование подразумевает использование одного ключа для каждого алгоритма.

  • Открытым ключом шифруется некоторый код, который представляет собой определенное послание. Ключ известен обеим сторонам, он передается по незащищенному каналу, может быть перехвачен. Важнейшей задачей сохранения информации является защита ключа от перехвата.
  • Закрытый используется для расшифровывания. Известен только одной стороне. Не может быть перехвачен, так как все время находится у одного собеседника.
  • Цель шифрования определяет метод сохранения конфиденциальности. Одним из первых было симметричное, асиметричное шифрование изобретено позже для обеспечения большей надежности.

    Особенности симметричного шифрования

    Симметричная система защита имеет следующие достоинства.

  • Высокая скорость и простота реализации.
  • Для обеспечения стойкости шифра используется малая длина ключа.
  • К недостаткам относится следующее:

    • сложность управления ключами в большой сети;
    • сложность обмена ключами;
    • потребность в поиске надежного канала для передачи ключа сторонам;
    • невозможность использования для цифровой подписи, сертификатов.

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

    Особенности асимметричного шифрования

    Применение пары открытый-закрытый ключ можно использовать как:

    • самостоятельное средство защиты информации;
    • средство распределения ключей;
    • средства аутентификации пользователей.

    Имеет такие преимущества:

    • сохранение секретного ключа в надежном месте, вместо которого по открытому каналу передается открытый;
    • ключ дешифрования известен только одной стороне;
    • в большой асимметричной системе используйте меньшее количество ключей в отличие от симметричной.

    В таких алгоритмах сложно внести какие-либо изменения. Подобная система имеет длинные ключи. Если симметричный ключ имеет размер 128 Бит, то ключ RSA - 2304 Бит. Из-за этого страдает скорость расшифровывания - она в 2-3 раза медленнее. Для расшифровки требуются большие вычислительные ресурсы.

    Существует очень много примеров симметричной и асимметричной систем шифрования.

    Симметричное шифрование - как выглядит?

    Пример симметричного шифрования и схема реализации ниже.

  • Есть два собеседника, которые планируют обменяться конфиденциальной информацией.
  • Первый собеседник генерирует ключ d, алгоритмы шифрования E и дешифрования D. Затем посылает эту информацию второму собеседнику.
  • Сообщение дешифруется ключом d.
  • Главным недостатком является невозможность установить подлинность текста. В случае перехвата ключа злоумышленник расшифрует секретную информацию.

    Существуют классические методы.

  • Простая и двойная перестановка.
  • Магический квадрат.
  • Одиночная перестановка.
  • Первый метод является одним из простейших, в схеме которого не используется ключ. Отправитель и получатель договариваются о некотором ключе, представленным в виде размера таблицы. Передаваемое сообщение записывается в столбцы таблицы, но считывается по строкам. Зная размер таблицы, получатель расшифровывает сообщение.

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

    “Магический квадрат” - более сложная структура, которая представляет собой матрицу. В клетки вписываются натуральные числа таким образом, чтобы сумма чисел по каждому столбцу, строке, диагонали была одинаковой. Каждое число соответствует букве сообщения. Полученный текст выписывается в строку, сопоставляя числа и символы.

    Примеры асимметричного шифрования

    В данном случае открытый ключ отправляется по открытому каналу и теоретически может быть перехвачен злоумышленниками.

    В отличие от симметричных, асимметричные ключи шифрования разные. Для шифровки применяется открытый ключ, для расшифровки послания - закрытый. Использование двух ключей решает проблему возможности перехвата, которая была в симметричном методе. Реализуется так.

  • Первый собеседник выбирает алгоритмы шифрования и дешифрования, пару ключей. Открытый ключ посылает второму собеседнику.
  • Второй собеседник шифрует информацию с помощью полученного ключа. Отправляет информацию первому собеседнику, который расшифровывает сообщение с помощью закрытого ключа.
  • Существует такие основные методы асинхронного шифрования.

  • RSA.
  • DSA.
  • Шифр Эль-Гамаля.
  • RSA

    RSA - первый криптографический алгоритм, используемый и для шифрования, и для цифровой подписи.

    Описывается так.

  • Выбирается два простых числа, например, 3 и 7.
  • Вычисляется модуль n - произведение двух чисел. Получается 21.
  • Вычисляется функция Эйлера φ=(p-1)×(q-1)=2×6=12.
  • Вычисляется любое простое число e меньше φ и простое с φ. Доступные варианты: 5, 7, 11.
  • Пара чисел e, n (5, 21) - открытый ключ. Теперь вычисляются числа d и n закрытого ключа. Число d удовлетворяет условие (d×е) mod φ=1 и равняется 17. В итоге вторая пара чисел 17 и 21 - закрытый ключ. Шифрование выполняется следующим образом: сообщение возводится в степень e, берется остаток от деления на n, при этом результат должен быть меньше числа n. Получается 10 - это будут закодированные данные. Для раскодировки e возводится в степень d, вычисляется остаток от деления на n.

    DSA

    DSA (в отличие от RSA) используется только для цифровой подписи, но не для шифрования. Заданная подпись может быть проверена публично. Есть два алгоритма для создания подписи и проверки. Шифруется именно хеш-сообщение, которое представляет текст в цифровом виде. Поэтому для избежания коллизий выбирается сложная хэш-функция. Построение цифровой подписи состоит из следующих шагов.

  • Выбор криптографической хэш-функции H(x).
  • Битность простого числа q должна равняться значению хэш-функции H(x).
  • Подбор такого простого числа p, чтобы p-1 делился без остатка на q.
  • Вычисление числа g = h (p-1)/q mod p. h должно быть произвольным числом в диапазоне от 1 до p-1.
  • Выбирается случайное число k от 0 до q.
  • Вычисляется r = (gk mod p) mod q.
  • Затем s = k-1(H(m) + xr)) mod q.
  • Если r=0 или s=0, выбирается другое число k.
  • Схема Эль-Гамаля

    Шифрование по схеме Эль-Гамаля используется для цифровых подписей. Является продолжением алгоритма Диффи-Хеллмана.

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

    Генерация ключей происходит следующим образом.

  • Выбирается случайное простое число p.
  • Число g должно быть первообразным корнем p.
  • Число x должно быть больше 1 и меньше p-1. Это будет закрытый ключ.
  • Затем вычисляется открытый ключ y по формуле g^x mod p.
  • При шифровании текста M выбирается системный ключ K. Он больше единицы и меньше p-1. Затем вычисляются числа a и b, которые являются шифротекстом, a = g^k mod p и b = y^k M mod p.



    Источник