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

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

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

Основные положения

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

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

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

  1. Простая перестановка, которую относят к самым простым методам шифрования.
  2. Одиночная перестановка по ключу является близкой родственницей простой перестановки, но некоторые различия все же есть.
  3. Двойная перестановка поможет зашифровать уже обработанную один раз информацию для большей безопасности.
  4. «Магический квадрат» считается самым сложным, для него необходимо составлять квадратные таблицы.

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

Простая перестановка

Простейшей симметричной криптосистемой шифрования без применения ключа является простая перестановка. Ее выполняют так:

  1. Необходимую информацию записывают по столбикам в таблицу.
  2. Записанный колонками текст считывают строками.
  3. В таком измененном виде передают получателю.

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

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

Одиночная перестановка по ключу

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

На заметку! Шифрование с симметричным ключом гораздо надежнее, чем криптозащита без ключа.

Двойная перестановка

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

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

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

«Магический квадрат»

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

Изначально кажется, что предполагаемых вариантов шифрования будет недостаточно, но это не совсем так. Количество вариантов скрытия информации возрастает пропорционально увеличению столбцов в самом квадрате. Если фигура размером 3×3 всего одна, то при увеличении каждой их сторон всего на единицу, возможных вариантов становится 880; если же количество возрастает до 5 с каждой стороны, то и вариантов уже 250 000, что не так уже и мало.

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

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

При расшифровке программа генерирует, в соответствии с ключом выбирает необходимый «магический квадрат». Именно так и работает криптография с симметричным ключом

История

Криптография берет свое начало с седины веков, первый период ее начался еще в III веке до нашей эры. Уже тогда люди пытались заменить исходные знаки алфавита. Далее криптография развивалась неслаженно, на Ближнем Востоке полиалфавитные шифры вошли в обиход почти на шесть веков раньше, чем это произошло в Европе. Ал-Кинди уже в IX веке ввел понятие шифрования, Альберти донес это до европейцев лишь в XVI столетии.

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

Требования

Чтоб все работало в необходимом режиме, необходимо выполнение нескольких требований:

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

Совет! Условие f(a) xorf(b)== f(axorb) выполняться не должно.

Общая схема

Современные симметричные криптографические алгоритмы представляют собой два основных вида, которые имеют такие характеристики:

  1. Блочные шифры, которые осуществляют обработку информации блоками, от чего и получили свое название. Длина каждого из них бывает разной, чаще всего 64 или 128 бит каждый. Обработка базируется на применении к блоку ключа в установленном порядке, самыми применяемыми считаются перемешивание и подстановка несколькими циклами, которые получили название раунд. В результате получается «лавинный эффект», которому свойственно терять биты между открытыми блоками и зашифрованными данными.
  2. Поточные шифры основываются на гаммировании, для них характерно шифрование каждого бита, байта открытого текста. Поточные шифры часто создают, взяв за основу блочные, которые подвергаются запуску в определенном режиме. Ярким примером может быть ГОСТ-24147-89.

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

Все ключи подходов объединяют в «расписание ключей», которые впоследствии применяют для расшифровки данной информации. Его создание тоже непростое, применяемый ключ поддается определенным операциям, в том числе перестановке или подстановке.

Сеть Фейстеля признана типичным алгоритмом построения симметричных шифров, шифрование строиться на основе функции F(D, K).Dвыступает количеством данных, вдвое меньше самого блока шифрования, К будет «ключом прохода» для расшифровки данного прохода. Обратимость функции не обязательна, чаще всего итог обратимости не известен.

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

Далее рассмотрим более подробно каждую из операций:

  1. Применение некого закона перемешивает биты сообщения, в этом и есть суть операции перестановки. В аппаратных операциях она просто перепутывает проводников, именно таким способом и достигается «эффект лавины». Операция перестановки всегда линейна, выглядит это примерно так: f(a) xor f(b) == f(a xor b).
  2. Подстановка выполняется по принципу замены определенной части сообщения, предварительно выбирается частота в 4, 6 или 8 бит. Замену производят на жестко встроенное число в алгоритм, обращенное к константному массиву. Операция подстановки переводит алгоритм в нелинейность.

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

Параметры алгоритмов

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

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

Эти моменты обязательно должны присутствовать в симметричном шифровании.

Виды симметричных шифров

Чаще всего для шифрования информации применяют такие блочные шифры:

  • Американский стандарт шифрования, обозначается AES.
  • Советский и российский распознают по ГОСТ 28147-89.
  • DESявляется стандартом в шифровании данных США.
  • Международным алгоритмом шифрования оставили IDEA.

Так же популярны 3-WAY, Kuznechik, Khufu, Khnafre, Cast.

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

Сравнение с ассиметричными криптосистемами

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

Положительными качествами симметричного шифрования является:

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

Но не все так идеально, у способа есть и недостатки:

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

К особо важным недостаткам относят невозможность использования шифров в электронной цифровой подписи, так как код известен обеим сторонам.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: