Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вопросы к экзамену Широков.docx
Скачиваний:
7
Добавлен:
12.09.2023
Размер:
2.45 Mб
Скачать

Шифры многоалфавитных подстановок. Шифр Вижинера.

Многоалфавитный шифр подстановки состоит из нескольких шифров простой замены.

Примером полиалфавитного шифра является шифр Виженера. Блез де Виженер предложил использовать в качестве ключа часть текста самого сообщения или же уже шифрованного сообщения.

Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига. Для зашифровывания может использоваться таблица алфавитов, называемая tabula recta или квадрат (таблица) Виженера. Применительно к латинскому алфавиту таблица Виженера составляется из строк по 26 символов, причём каждая следующая строка сдвигается на несколько позиций. Таким образом, в таблице получается 26 различных шифров Цезаря. На каждом этапе шифрования используются различные алфавиты, выбираемые в зависимости от символа ключевого слова.

Квадрат Виженера представляет следующий вид.

А

Б

В

Я

А

А

Б

В

Я

Б

Б

В

Г

А

В

В

Г

Д

Б

Я

Я

А

Б

Ю

Шифрование

Ключ

А

Б

В

А

Б

В

Открытый текст

Ш

И

Ф

Р

Шифрованный текст

Ш

Й

Ц

Р

Основные требования, предъявляемые к блочным шифрам.

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

  1. Высокая стойкость. Алгоритм должен обеспечивать высокий уровень стойкости, и эта стойкость не должна основываться на сохранении втайне самого алгоритма.

  2. Наличие лавинного эффекта. Незначительное изменение исходного сообщения должно приводить к существенному изменению зашифрованного сообщения даже при использовании одного и того же ключа.

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

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

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

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

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

  8. Простой программный код реализации. Алгоритм должен быть простым для написания кода, чтобы минимизировать вероятность программных ошибок. Также это дает возможность анализа и уменьшает закрытость алгоритма.

  9. Плоское пространство ключей. Алгоритм должен допускать любую случайную строку битов нужной длины в качестве возможного ключа (это называется иметь плоское пространство ключей ). Не должно быть "слабых" ключей, облегчающих криптоанализ.

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

Соседние файлы в предмете Криптографические методы защиты информации