Симметричные шифры – .

Содержание

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

Шифр Виженера. Это шифр Цезаря с переменной величиной сдвига, которая определяется ключевым словом.

Ключевое слово «ВАЗА», каждая буква своим номером в алфавите указывает величину сдвига, т.о., последовательность сдвигов букв открытого текста:

3 1 9 1 3 1 9 1 3 1 …

При таком способе шифрования открытый текст КРИПТОГРАФИЯ преобразуется в шифротекст НССРХПЛСГХСА.

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

Шифр «Сциталь». Сциталь – это стержень, имеющий N граней. На него наматывают ленту.

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

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

Квадрат Полибия

 

1

2

3

4

5

6

7

8

 

 

 

 

 

 

 

 

 

1

А

Б

В

Г

Д

Е

Ж

З

 

 

 

 

 

 

 

 

 

2

И

Й

К

Л

М

Н

О

П

 

 

 

 

 

 

 

 

 

3

Р

С

Т

У

Ф

Х

Ц

Ч

 

 

 

 

 

 

 

 

 

4

Ш

Щ

Ъ

Ь

Э

Ю

Я

 

 

 

 

 

 

 

 

 

 

Каждая буква кодируется двумя цифрами – номерами соответствующих строки и столбца. Например, слово КРИПТОГРАФИЯ будет зашифровано как 23 31 21 28 33 27 14 31 11 35 21 48.

Схема применения нессиметричных алгоритмов

ключ 1 (открытый)

текст

 

шифрограмма

 

 

шифратор

канал связи

 

 

 

 

отправитель (передатчик)

ключ 2 (секретный)

дешифратор текст

получатель (приемник)

studfiles.net

4.2. Традиционные симметричные криптосистемы

В симметричных криптосистемах (криптосистемах с секретным ключом) шифрование и дешифрование информации осуществляется на одном ключе

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

Функциональная схема взаимодействия участников симметричного криптографического обмена приведена на рис. 4.1.

Рис. 4.1. Функциональная схема симметричной криптосистемы

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

В настоящее время симметричные шифры — это:

  • блочные шифры. Обрабатывают информацию блоками определенной длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемымираундами. Результатом повторения раундов является лавинный эффект- нарастающая потеря соответствиябитовмежду блоками открытых и зашифрованных данных.

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

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

  • стойкость;

  • длина ключа;

  • число раундов;

  • длина обрабатываемого блока;

  • сложность аппаратной/программной реализации.

Распространенные алгоритмы симметричного шифрования:

  • DESиTripleDES(3DES)

  • AES(Rijndael)

  • ГОСТ 28147-89

В частности, AES — симметричный алгоритм блочного шифрования, принятый в качестве американского стандарташифрованияправительством СШАв 2002году, до него c 1977 года официальным стандартом США был алгоритм DES. По состоянию на2006год AES является одним из самых распространённых алгоритмов симметричного шифрования.

Шифры традиционных симметричных криптосистем можно разделить на следующие основные виды [5,10]:

1. Шифры замены.

2. Шифры перестановки.

3. Шифры гаммирования.

4.2.1. Шифрование методом замены

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

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

Рассмотрим наиболее известные шифры моноалфавитной замены.

Шифрование методом Цезаря

Свое название данный шифр получил по имени римского императора Гая Юлия Цезаря, который использовал этот шифр при переписке с Цицероном (около 50 г. до н.э).

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

K. При достижении конца алфавита выполняется циклический переход к его началу.

Общая формула шифра Цезаря имеет следующий вид:

где P – номер символа открытого текста, С – соответствующий ему номер символа шифротекста, K – ключ шифрования (коэффициент сдвига), M – размер алфавита (для русского языка M = 32)

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

Пример 4.1

Таблица подстановок для символов русского текста при ключе

K=3 представлена в таблице 4.1. Данной таблице соответствует формула

Табл. 4.1. Табл. подстановок шифра Цезаря для ключа K=3

А

Г

Р

У

Б

Д

С

Ф

В

Е

Т

Х

Г

Ж

У

Ц

Д

З

Ф

Ч

Е

И

Х

Ш

Ж

Й

Ц

Щ

З

К

Ч

Ь

И

Л

Ш

Ы

Й

М

Щ

Ъ

К

Н

Ь

Э

Л

О

Ы

Ю

М

П

Ъ

Я

Н

Р

Э

А

О

С

Ю

Б

П

Т

Я

В

Согласно формуле (4.2) открытый текст «БАГАЖ» будет преобразован в шифротекст «ДГЖГЙ».

Дешифрование закрытого текста, зашифрованного методом Цезаря согласно (4.1), осуществляется по формуле:

studfiles.net

Симметричные криптосистемы Википедия

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

Классическими примерами таких алгоритмов являются симметричные криптографические алгоритмы, перечисленные ниже:

  • Простая перестановка
  • Одиночная перестановка по ключу
  • Двойная перестановка
  • Перестановка «Магический квадрат»

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

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

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

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

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

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

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

Магическими квадратами называются квадратные таблицы со вписанными в их клетки последовательными натуральными числами от 1, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число. Подобные квадраты широко применялись для вписывания шифруемого текста по приведенной в них нумерации. Если потом выписать содержимое таблицы по строкам, то получалась шифровка перестановкой букв. На первый взгляд кажется, будто магических квадратов очень мало. Тем не менее, их число очень быстро возрастает с увеличением размера квадрата. Так, существует лишь один магический квадрат размером 3 х 3, если не принимать во внимание его повороты. Магических квадратов 4 х 4 насчитывается уже 880, а число магических квадратов размером 5 х 5 около 250000. Поэтому магические квадраты больших размеров могли быть хорошей основой для надежной системы шифрования того времени, потому что ручной перебор всех вариантов ключа для этого шифра был немыслим.

В квадрат размером 4 на 4 вписывались числа от 1 до 16. Его магия состояла в том, что сумма чисел по строкам, столбцам и полным диагоналям равнялась одному и тому же числу — 34. Впервые эти квадраты появились в Китае, где им и была приписана некоторая «магическая сила».

163213
510118
96712
415141

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

16.3 и2 р13 д
5 з10 е11 г8 ю
9 С6 ж7 а12 о
4 е15 я14 н1 П

После этого шифрованный текст записывается в строку (считывание производится слева направо, построчно):
.ирдзегюСжаоеянП

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

ruwikiorg.ru

Симметричные криптосистемы | Контроль Разума

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

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

    В настоящее время симметричные шифры — это:

    • блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.
    • поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.

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

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

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

    Распространенные алгоритмы Править

    • DES (Data Encryption Standard, стандарт шифрования данных)
    • 3DES (Triple-DES, тройной DES)
    • AES (Advanced Encryption Standard, улучшенный стандарт шифрования)
    • RC2 (Шифр Ривеста (Rivest Cipher))
    • Blowfish
    • Twofish
    • NUSH
    • IDEA (International Data Encryption Algorithm, интернациональный алгоритм шифрования данных)
    • CAST (по инициалам разработчиков Carlisle Adams и Stafford Tavares)
    • ГОСТ 28147-89

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

    Достоинства Править

    • скорость (по данным Applied Cryptography — на 3 порядка выше)
    • простота реализации (за счёт более простых операций)
    • меньшая требуемая длина ключа для сопоставимой стойкости
    • изученность (за счёт большего возраста)

    Недостатки Править

    • сложность управления ключами в большой сети. Означает квадратичное возрастание числа пар ключей, которые надо генерировать, передавать, хранить и уничтожать в сети. Для сети в 10 абонентов требуется 45 ключей, для 100 уже 4950, для 1000 — 499500 и т. д.
    • сложность обмена ключами. Для применения необходимо решить проблему надёжной передачи ключей каждому абоненту, так как нужен секретный канал для передачи каждого ключа обеим сторонам.

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

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

    ca:Criptografia simètrica

    cs:Symetrická kryptografie de:Symmetrisches Kryptosystem en:Symmetric-key algorithm es:Criptografía simétrica eu:Kriptografia simetriko fr:Cryptographie symétrique he:צופן סימטרי it:Crittografia simmetrica ja:共通鍵暗号 lt:Simetrinio rakto kriptografija nl:Symmetrische cryptografie pl:Kryptografia symetryczna pt:Algoritmo de Chave-simétrica

    mind-control.fandom.com

    Симметричное шифрование Википедия

    Симметри́чные криптосисте́мы (также симметричное шифрование, симметричные шифры) (англ. symmetric-key algorithm) — способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование. Ключ алгоритма должен сохраняться в тайне обеими сторонами, осуществляться меры по защите доступа к каналу, на всем пути следования криптограммы, или сторонами взаимодействия посредством криптообьектов, сообщений, если данный канал взаимодействия под грифом «Не для использования третьими лицами». Алгоритм шифрования выбирается сторонами до начала обмена сообщениями.

    Основные сведения

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

    Классическими примерами таких алгоритмов являются симметричные криптографические алгоритмы, перечисленные ниже:

    • Простая перестановка
    • Одиночная перестановка по ключу
    • Двойная перестановка
    • Перестановка «Магический квадрат»

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

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

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

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

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

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

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

    Магическими квадратами называются квадратные таблицы со вписанными в их клетки последовательными натуральными числами от 1, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число. Подобные квадраты широко применялись для вписывания шифруемого текста по приведенной в них нумерации. Если потом выписать содержимое таблицы по строкам, то получалась шифровка перестановкой букв. На первый взгляд кажется, будто магических квадратов очень мало. Тем не менее, их число очень быстро возрастает с увеличением размера квадрата. Так, существует лишь один магический квадрат размером 3 х 3, если не принимать во внимание его повороты. Магических квадратов 4 х 4 насчитывается уже 880, а число магических квадратов размером 5 х 5 около 250000. Поэтому магические квадраты больших размеров могли быть хорошей основой для надежной системы шифрования того времени, потому что ручной перебор всех вариантов ключа для этого шифра был немыслим.

    В квадрат размером 4 на 4 вписывались числа от 1 до 16. Его магия состояла в том, что сумма чисел по строкам, столбцам и полным диагоналям равнялась одному и тому же числу — 34. Впервые эти квадраты появились в Китае, где им и была приписана некоторая «магическая сила».

    163213
    510118
    96712
    415141

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

    16.3 и2 р13 д
    5 з10 е11 г8 ю
    9 С6 ж7 а12 о
    4 е15 я14 н1 П

    После этого шифрованный текст записывается в строку (считывание производится слева направо, построчно):
    .ирдзегюСжаоеянП

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

    История

    Требования

    Полная утрата всех статистических закономерностей исходного сообщения является важным требованием к симметричному шифру. Для этого шифр должен иметь «эффект лавины» — должно происходить сильное изменение шифроблока при 1-битном изменении входных данных (в идеале должны меняться значения 1/2 бит шифроблока).

    Также важным требованием является отсутствие линейности (то есть условия f(a) xor f(b) == f(a xor b)), в противном случае облегчается применение дифференциального криптоанализа к шифру.

    Общая схема

    В настоящее время симметричные шифры — это:

    • блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.
    • поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.

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

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

    Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна — f(a) xor f(b) == f(a xor b)

    Операции подстановки выполняются как замена значения некоей части сообщения (часто в 4, 6 или 8 бит) на стандартное, жестко встроенное в алгоритм иное число путём обращения к константному массиву. Операция подстановки привносит в алгоритм нелинейность.

    Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора значений в таблицах подстановки (S-блоках). Как минимум считается нежелательным наличие неподвижных элементов S(x) = x, а также отсутствие влияния какого-то бита входного байта на какой-то бит результата — то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите.

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

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

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

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

    блочные шифры
    • AES (англ. Advanced Encryption Standard) — американский стандарт шифрования
    • ГОСТ 28147-89 — советский и российский стандарт шифрования, также является стандартом СНГ
    • DES (англ. Data Encryption Standard) — стандарт шифрования данных в США
    • 3DES (Triple-DES, тройной DES)
    • RC2 (Шифр Ривеста (Rivest Cipher или Ron’s Cipher))
    • RC5
    • Blowfish
    • Twofish
    • NUSH
    • IDEA (International Data Encryption Algorithm, международный алгоритм шифрования данных)
    • CAST (по инициалам разработчиков Carlisle Adams и Stafford Tavares)
    • CRAB
    • 3-WAY
    • Khufu и Khafre
    • Kuznechik
    потоковые шифры
    • RC4 (алгоритм шифрования с ключом переменной длины)
    • SEAL (Software Efficient Algorithm, программно-эффективный алгоритм)
    • WAKE (World Auto Key Encryption algorithm, всемирный алгоритм шифрования на автоматическом ключе)

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

    Достоинства

    • скорость
    • простота реализации (за счёт более простых операций)
    • меньшая требуемая длина ключа для сопоставимой стойкости
    • изученность (за счёт большего возраста)

    Недостатки

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

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

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

    Литература

    • Гатчин Ю. А., Коробейников А. Г. Основы криптографических алгоритмов. Учебное пособие. — СПб.: СПбГИТМО(ТУ), 2002.
    • Кон П. Универсальная алгебра. — М.: Мир. — 1968.
    • Коробейников А. Г. Математические основы криптографии. Учебное пособие. СПб: СПб ГИТМО (ТУ), 2002.

    Ссылки

    wikiredia.ru

    Симметричные криптосистемы Википедия

    Симметри́чные криптосисте́мы (также симметричное шифрование, симметричные шифры) (англ. symmetric-key algorithm) — способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование. Ключ алгоритма должен сохраняться в тайне обеими сторонами, осуществляться меры по защите доступа к каналу, на всем пути следования криптограммы, или сторонами взаимодействия посредством криптообьектов, сообщений, если данный канал взаимодействия под грифом «Не для использования третьими лицами». Алгоритм шифрования выбирается сторонами до начала обмена сообщениями.

    Основные сведения

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

    Классическими примерами таких алгоритмов являются симметричные криптографические алгоритмы, перечисленные ниже:

    • Простая перестановка
    • Одиночная перестановка по ключу
    • Двойная перестановка
    • Перестановка «Магический квадрат»

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

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

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

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

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

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

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

    Магическими квадратами называются квадратные таблицы со вписанными в их клетки последовательными натуральными числами от 1, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число. Подобные квадраты широко применялись для вписывания шифруемого текста по приведенной в них нумерации. Если потом выписать содержимое таблицы по строкам, то получалась шифровка перестановкой букв. На первый взгляд кажется, будто магических квадратов очень мало. Тем не менее, их число очень быстро возрастает с увеличением размера квадрата. Так, существует лишь один магический квадрат размером 3 х 3, если не принимать во внимание его повороты. Магических квадратов 4 х 4 насчитывается уже 880, а число магических квадратов размером 5 х 5 около 250000. Поэтому магические квадраты больших размеров могли быть хорошей основой для надежной системы шифрования того времени, потому что ручной перебор всех вариантов ключа для этого шифра был немыслим.

    В квадрат размером 4 на 4 вписывались числа от 1 до 16. Его магия состояла в том, что сумма чисел по строкам, столбцам и полным диагоналям равнялась одному и тому же числу — 34. Впервые эти квадраты появились в Китае, где им и была приписана некоторая «магическая сила».

    163213
    510118
    96712
    415141

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

    16.3 и2 р13 д
    5 з10 е11 г8 ю
    9 С6 ж7 а12 о
    4 е15 я14 н1 П

    После этого шифрованный текст записывается в строку (считывание производится слева направо, построчно):
    .ирдзегюСжаоеянП

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

    История

    Требования

    Полная утрата всех статистических закономерностей исходного сообщения является важным требованием к симметричному шифру. Для этого шифр должен иметь «эффект лавины» — должно происходить сильное изменение шифроблока при 1-битном изменении входных данных (в идеале должны меняться значения 1/2 бит шифроблока).

    Также важным требованием является отсутствие линейности (то есть условия f(a) xor f(b) == f(a xor b)), в противном случае облегчается применение дифференциального криптоанализа к шифру.

    Общая схема

    В настоящее время симметричные шифры — это:

    • блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.
    • поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.

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

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

    Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна — f(a) xor f(b) == f(a xor b)

    Операции подстановки выполняются как замена значения некоей части сообщения (часто в 4, 6 или 8 бит) на стандартное, жестко встроенное в алгоритм иное число путём обращения к константному массиву. Операция подстановки привносит в алгоритм нелинейность.

    Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора значений в таблицах подстановки (S-блоках). Как минимум считается нежелательным наличие неподвижных элементов S(x) = x, а также отсутствие влияния какого-то бита входного байта на какой-то бит результата — то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите.

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

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

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

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

    блочные шифры
    • AES (англ. Advanced Encryption Standard) — американский стандарт шифрования
    • ГОСТ 28147-89 — советский и российский стандарт шифрования, также является стандартом СНГ
    • DES (англ. Data Encryption Standard) — стандарт шифрования данных в США
    • 3DES (Triple-DES, тройной DES)
    • RC2 (Шифр Ривеста (Rivest Cipher или Ron’s Cipher))
    • RC5
    • Blowfish
    • Twofish
    • NUSH
    • IDEA (International Data Encryption Algorithm, международный алгоритм шифрования данных)
    • CAST (по инициалам разработчиков Carlisle Adams и Stafford Tavares)
    • CRAB
    • 3-WAY
    • Khufu и Khafre
    • Kuznechik
    потоковые шифры
    • RC4 (алгоритм шифрования с ключом переменной длины)
    • SEAL (Software Efficient Algorithm, программно-эффективный алгоритм)
    • WAKE (World Auto Key Encryption algorithm, всемирный алгоритм шифрования на автоматическом ключе)

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

    Достоинства

    • скорость
    • простота реализации (за счёт более простых операций)
    • меньшая требуемая длина ключа для сопоставимой стойкости
    • изученность (за счёт большего возраста)

    Недостатки

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

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

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

    Литература

    • Гатчин Ю. А., Коробейников А. Г. Основы криптографических алгоритмов. Учебное пособие. — СПб.: СПбГИТМО(ТУ), 2002.
    • Кон П. Универсальная алгебра. — М.: Мир. — 1968.
    • Коробейников А. Г. Математические основы криптографии. Учебное пособие. СПб: СПб ГИТМО (ТУ), 2002.

    Ссылки

    wikiredia.ru

    Симметричные криптосистемы — Википедия

    Симметри́чные криптосисте́мы (также симметричное шифрование, симметричные шифры) (англ. symmetric-key algorithm) — способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование. Ключ алгоритма должен сохраняться в секрете обеими сторонами. Алгоритм шифрования выбирается сторонами до начала обмена сообщениями.

    Основные сведения[править]

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

    Классическими примерами таких алгоритмов являются симметричные криптографические алгоритмы, перечисленные ниже:

    • Простая перестановка
    • Одиночная перестановка по ключу
    • Двойная перестановка
    • Перестановка «Магический квадрат»

    Простая перестановка[править]

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

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

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

    Двойная перестановка[править]

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

    Перестановка «Магический квадрат»[править]

    Магическими квадратами называются квадратные таблицы со вписанными в их клетки последовательными натуральными числами от 1, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число. Подобные квадраты широко применялись для вписывания шифруемого текста по приведенной в них нумерации. Если потом выписать содержимое таблицы по строкам, то получалась шифровка перестановкой букв. На первый взгляд кажется, будто магических квадратов очень мало. Тем не менее, их число очень быстро возрастает с увеличением размера квадрата. Так, существует лишь один магический квадрат размером 3 х 3, если не принимать во внимание его повороты. Магических квадратов 4 х 4 насчитывается уже 880, а число магических квадратов размером 5 х 5 около 250000. Поэтому магические квадраты больших размеров могли быть хорошей основой для надежной системы шифрования того времени, потому что ручной перебор всех вариантов ключа для этого шифра был немыслим.

    В квадрат размером 4 на 4 вписывались числа от 1 до 16. Его магия состояла в том, что сумма чисел по строкам, столбцам и полным диагоналям равнялась одному и тому же числу — 34. Впервые эти квадраты появились в Китае, где им и была приписана некоторая «магическая сила».

    16 3 2 13
    5 10 11 8
    9 6 7 12
    4 15 14 1

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

    16. 3 и 2 р 13 д
    5 з 10 е 11 г 8 ю
    9 С 6 ж 7 а 12 о
    4 е 15 я 14 н 1 П

    После этого шифрованный текст записывается в строку (считывание производится слева направо, построчно):
    .ирдзегюСжаоеянП

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

    Полная утрата всех статистических закономерностей исходного сообщения является важным требованием к симметричному шифру. Для этого шифр должен иметь «эффект лавины» — должно происходить сильное изменение шифроблока при 1 битном изменении входных данных (в идеале должны меняться значения 1/2 бит шифроблока).

    Также важным требованием является отсутствие линейности (то есть условия f(a) xor f(b) == f(a xor b)), в противном случае облегчается применение дифференциального криптоанализа к шифру.

    В настоящее время симметричные шифры — это:

    • блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.
    • поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.

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

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

    Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна — f(a) xor f(b) == f(a xor b)

    Операции подстановки выполняются как замена значения некоей части сообщения (часто в 4, 6 или 8 бит) на стандартное, жестко встроенное в алгоритм иное число путем обращения к константному массиву. Операция подстановки привносит в алгоритм нелинейность.

    Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора значений в таблицах подстановки (S-блоках). Как минимум считается нежелательным наличие неподвижных элементов S(x) = x, а также отсутствие влияния какого-то бита входного байта на какой-то бит результата — то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите.

    Параметры алгоритмов[править]

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

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

    Виды симметричных шифров[править]

    блочные шифры
    • AES (англ. Advanced Encryption Standard) — американский стандарт шифрования
    • ГОСТ 28147-89 — советский и российский стандарт шифрования, также является стандартом СНГ
    • DES (англ. Data Encryption Standard) — стандарт шифрования данных в США
    • 3DES (Triple-DES, тройной DES)
    • RC2 (Шифр Ривеста (Rivest Cipher или Ron’s Cipher))
    • RC5
    • Blowfish
    • Twofish
    • NUSH
    • IDEA (International Data Encryption Algorithm, международный алгоритм шифрования данных)
    • CAST (по инициалам разработчиков Carlisle Adams и Stafford Tavares)
    • CRAB
    • 3-WAY
    • Khufu и Khafre
    • Kuznechik
    потоковые шифры
    • RC4 (алгоритм шифрования с ключом переменной длины)
    • SEAL (Software Efficient Algorithm, программно-эффективный алгоритм)
    • WAKE (World Auto Key Encryption algorithm, всемирный алгоритм шифрования на автоматическом ключе)

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

    Достоинства[править]

    • скорость
    • простота реализации (за счёт более простых операций)
    • меньшая требуемая длина ключа для сопоставимой стойкости
    • изученность (за счёт большего возраста)

    Недостатки[править]

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

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

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

    • Гатчин Ю.А., Коробейников А.Г. Основы криптографических алгоритмов. Учебное пособие. — СПб.: СПбГИТМО(ТУ), 2002.
    • Кон П. Универсальная алгебра. — М.: Мир. — 1968.
    • Коробейников А. Г. Математические основы криптографии. Учебное пособие. СПб: СПб ГИТМО (ТУ), 2002.

    www.wiki-wiki.ru

Обновлено: 02.08.2019 — 08:34

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *