Шифр многоалфавитной замены
ЛАБОРАТОРНАЯ РАБОТА №3
Криптографическая защита информации
Цель работы
1.1.Ознакомиться с основными методами криптографической защиты информации.
1.2.Получить практические навыки создания ПО по криптографическим преобразованиям информации.
Общие теоретические сведения
По мере развития и усложнения средств, методов и форм автоматизации процессов обработки информации повышается зависимость общества от степени безопасности используемых им информационных технологий, которая определяется степенью защищенности и устойчивости как компьютерных систем в целом, так и отдельных программ.
Для обеспечения защиты информации в настоящее время не существует какого-то одного технического приема или средства, однако общим в решении многих проблем безопасности является использование криптографии и криптоподобньгх преобразований информации.
Криптография - обеспечивает сокрытие смысла сообщения с помощью шифрования и открытия его расшифрованием, которые выполняются по специальным алгоритмам с помощью ключей.
Ключ - конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования данных, обеспечивающее выбор только одного варианта из всех возможных для данного алгоритма
Криптоанализ - занимается вскрытием шифра без знания ключа (проверка устойчивости шифра).
Кодирование - (не относится к криптографии) -- система условных обозначений, применяемых при передаче информации. Применяется для увеличения качества передачи информации, сжатия информации и для уменьшения стоимости хранения и передачи.
Криптографические преобразования имеют цель обеспечить недоступность информации для лиц. не имеющих ключа, и поддержание с требуемой надежностью обнаружения несанкционированных искажений.
Большинство средств зашиты информации базируется на использовании криптографических шифров и процедур шифрования-расшифрования. В соответствии со стандартом ГОСТ 28147-89 под шифром понимают совокупность обратимых преобразований множества открытых данных на множество зашифрованных данных, задаваемых ключом и алгоритмом преобразования.
В криптографии используются следующие основные алгоритмы шифрования:
• алгоритм замены (подстановки) - символы шифруемого текста заменяются символами того же или другого алфавита в соответствии с заранее обусловленной схемой замены;
• алгоритм перестановки - символы шифруемого текста переставляются по определенному правилу в пределах некоторого блока этого текста;
• гаммирование - символы шифруемого текста складываются с символами некоторой случайной последовательности;
• аналитическое преобразование - преобразование шифруемого текста по некоторому аналитическому правилу (формуле).
Процессы шифрования и расшифрования осуществляются в рамках некоторой криптосистемы Для симметричной криптосистемы характерно применение одного и того же ключа как при шифровании, так и при расшифровании сообщений. В асимметричных криптосистемах для зашифрования данных используется один (общедоступный) ключ, а для расшифрования - другой (секретный) ключ.
Симметричные криптосистемы
Шифры перестановки
В шифрах средних веков часто использовались таблицы, с помощью которых выполнялись простые процедуры шифрования, основанные на перестановке букв в сообщении. Ключом в данном случае является размеры таблицы. Например, сообщение "Неясное становится еще более непонятным" записывается в таблицу из 5 строк и 7 столбцов по столбцам.
Н | О | Н | С | Б | Н | Я |
Е | Е | О | Я | О | Е | Т |
Я | С | В | Е | Л | П | Н |
С | Т | И | Щ | Е | О | Ы |
Н | А | Т | Е | Е | Н | М |
Для получения шифрованного сообщения текст считывается по строкам и группируется по 5 букв:
НОНСБ НЯЕЕО ЯОЕТЯ СВЕЛП НСТИЩ ЕОЫНА ТЕЕНМ
Несколько большей стойкостью к раскрытию обладает метод одиночной перестановки по ключу. Он отличается от предыдущего тем, что столбцы таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы. Используя в качестве ключа слово ЛУНАТИК, получим следующую таблицу:
Л | У | Н | А | Т | И | К | А | И | К | Л | Н | Т | У | ||
Н | О | Н | С | Б | Н | Я | С | Н | Я | Н | Н | Б | О | ||
Е | Е | О | Я | О | Е | Т | Я | Е | Т | Е | О | О | Е | ||
Я | С | В | Е | Л | П | Н | Е | П | Н | Я | В | Л | С | ||
С | Т | И | Щ | Е | О | Ы | Щ | О | Ы | С | И | Е | Т | ||
Н | А | Т | Е | Е | Н | М | Е | Н | М | Н | Т | Е | А |
До перестановки После перестановки
В верхней строке левой таблицы записан ключ, а номера под буквами ключа определены в соответствии с естественным порядком соответствующих букв ключа в алфавите. Если в ключе встретились бы одинаковые буквы, они бы нумеровались слева направо Получается шифровка: СНЯНН БОЯЕТ ЕООЕЕ ПНЯВЛ СЩОЫС ИЕТЕН МНТЕА. Для обеспечения дополнительной скрытности можно повторно шифровать сообщение, которое уже было зашифровано. Для этого размер второй таблицы подбирают так, чтобы длины ее строк и столбцов отличались от длин строк и столбцов первой таблицы. Лучше всего, если они будут взаимно простыми.
Шифры простой замены
Система шифрования Цезаря - частный случай шифра простой замены. Метод основан на замене каждой буквы сообщения на другую букву того же алфавита, путем смещения от исходной буквы на К букв.
Известная фраза Юлия Цезаря VENI VINI VICI - пришел, увидел, победил зашифрованная с помощью данного метода, преобразуется в SBKF SFAF SFZF (при смещении на 4 символа).
Шифры сложной замены
Шифр Гронсфельдасостоит в модификации шифра Цезаря числовым ключом. Для этого под буквами сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифротекст получают примерно также, как в шифре Цезаря, но отсчитывают не третью букву по алфавиту (как в шифре Цезаря), а ту, которая смещена по алфавиту на соответствующую цифру ключа.
Пусть в качестве ключа используется группа из тpex цифр 314, тогда
Текст | С | О | В | Е | Р | Ш | Е | Н | Н | О | С | Е | К | Р | Е | Т | Н | О | |
Ключ | |||||||||||||||||||
Шифр | Ф | П | Е | И | С | Ь | И | О | С | С | А | Х | И | Л | Ф | И | У | С | С |
Шифр многоалфавитной замены
Для шифрования каждого символа исходного сообщения применяется свой шифр простой замены (свой алфавит).
АБВГДЕЕЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_ | |
А | АБВГДЕЕЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_ |
Б | _ АБВГДЕЕЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ |
В | Я_АБВГДЕЕЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮ |
Г | ЮЯ_АБВГДЕЕЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭ |
. | …….…….……. …….…….……….. |
Я | АБВГДЕЕЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_АБ |
_ | БВГДЕЕЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_А |
Каждая строка в этой таблице соответствует одному шифру замены аналогично шифру Цезаря для алфавита, дополненного пробелом. При шифровании сообщения его выписывают в строку, а под ним ключ. Если ключ оказался короче сообщения, то его циклически повторяют. Шифротекст получают, находя символ в колонке таблицы по букве текста и строке, соответствующей букве ключа. Например, используя ключ АГАВА, из сообщения ПРИЕЗЖАЮ ШЕСТОГО получаем следующую шифровку:
Сообщение | ПРИЕЗЖАЮ_ШЕСТОГО |
Ключ | АГАВААГАВААГАВАА |
Шифровка | ПНИГЗЖЮЮЮАЕОТМГО |
Шифр Виженера представляет собой аналогичную многоалфавитную систему шифрования,в которой В первую строку квадрата заносится перестановка из букв алфавита. Во второй строке та же перестановка циклически сдвигается на одну позицию влево, в третьей - на две и т.д. Таким образом, квадрат состоит из N перестановок.
Гаммирование
Процесс зашифрования заключается в генерации гаммы шифра и наложении этой гаммы на исходный открытый текст. Перед шифрованием открытые
данные разбиваются на блоки Т(0) , одинаковой длины (по 64 бита). Гамма шифра вырабатывается в виде последовательности блоков Г(ш)
, аналогичной длины (Т(ш)
=Г(ш)
+Т(0)
, где + -побитовое сложение, i=1-m).
Процесс расшифрования сводится к повторной генерации шифра текста и наложение этой гаммы на зашифрованные данные Т(0) =Г(ш)
+Т(ш)
.