ECB (Electronic Codebook) – электронная кодовая книга
Предусматривает независимое (и даже параллельное) шифрование блоков сообщения одним и тем же алгоритмом с применением одного и того же ключа
CBC (Cipher Block Chaining) – сцепление блоков шифра
Предусматривает последовательное шифрование блоков сообщения одним и тем же алгоритмом с применением одного и того же ключа и предварительным сложением кода текущего блока с результатом шифрования предшествующего блока
CFB (Cipher Feedback) – обратная связь по шифртексту
Предусматриваем применение операции побитового сложения, умножения или исключающего ИЛИ к блоку сообщения С, длиной k бит и некоторому блоку такой же длины, полученному шифрованием по некоторому алгоритму E
OFB (Output Feedback) – обратная связь по выходу
Предусматриваем применение операции побитового сложения, умножения или исключающего ИЛИ к блоку сообщения С, длиной k бит и некоторому блоку такой же длины, полученному шифрованием по некоторому алгоритму E
К числу комбинированных шифров относятся:
DES
Lucipher
FEAL-1
IDEA/IPES IPES
B-Cript
AES
ГОСТ 28147-89
Skipjack
сложение по модулю 2;
исключающее ИЛИ;
умножение по модулю 2N+1;
умножение по модулю 2N;
арифметические сдвиги влево и вправо;
циклические сдвиги битов влево и вправо;
подстановки из таблиц (для битов и символов).
Сложение по модулю 2 выполняется по следующим правилам:
0+0=0
1+0=1
0+1=1
1+1=0 (с переносом 1 в старший разряд)
Пример: 
+


Таблица истинности логической функции:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример:

XOR XOR


Умножение по модулю 2N и 2N+1
Умножение X и Y по модулю M определяется выражением:
– остаток от деления произведения
на модуль M
Модуль M определяется по выражениям M = 2N или M = 2N+1, где N = 1, 2, 3, …
Сдвиг последовательности битов влево и вправо означает сдвиг последовательности битов строке, имеющей границы влево или вправо. При арифметических сдвигах влево (SHL) и вправо (SHR) опустевшие биты заполняются нулями, а биты вышедшие за границу строки безвозвратно теряются.
При циклических сдвигах влево (ROL) и вправо (ROR) биты, вышедшие за границу строки заполняют опустевшие биты.
Пример обработки байта сдвигами влево и вправо на 3 позиции
Арифметические сдвиги


Циклические сдвиги


Подстановка из таблиц обозначается S-box и предполагает замену группы передаваемых бит другой последовательностью бит, взятой из таблицы.
Передаваемая
последовательность 10101010
Таблица
S-box … 1111111 01111000 00000011 …
№ клетки таблицы … 106 107 108 …
Байт шифрограммы 01111000
Пояснение: Последовательность битов 10101010 в десятичной системе счисления представляет число 170. Это число можно считать номером клетки таблицы, в которой находится последовательность битов 01111000. Эта последовательность и заменяет последовательность битов из сообщения. Существуют и более изощренные способы выбора из таблицы. Например, передаваемый байт разбивается на тетрады (четвёрки битов), одна из которых кодирует номер строки, а вторая – номер столбца.
Потоковые шифры предусматриваю наложение на последовательность битов шифруемого сообщения с дополнительной последовательностью битов, которая называется маской или гаммой. Гамма является ключом шифра. Сам прием наложения маски называется гаммированием.
Различают три разновидности поточных шифров:
С бесконечным ключом (гаммой)
С конечным ключом (гаммой)
На основе генераторов псевдослучайных чисел (ГПСЧ)
Бесконечная гамма – гамма, длина которой всегда больше длины сообщения
Конечная гамма – гамма, длина которой заведомо меньше длины сообщения
ГПСЧ – программа, создающая последовательность псевдослучайных чисел. Для запуска ГПСЧ требуется некоторое начальное число, которое называется инициализирующим.
Псевдослучайные числа – числа, значения которых в некоторой достаточно длинной последовательности являются случайными числами, распределенными по заданному алгоритму, например, равномерному.
Блочный шифр предусматривает компоновку из строки сообщения, содержащей символы или биты прямоугольной таблицы. Ее размер (т.е. число строк и столбцов) является ключом шифра.
Одним из вариантов применения является запись сообщения в строки таблицы, а затем
Моноалфавитный шифр – шифр, использующий для записи сообщения и шифрограммы один и тот же алфавит (набор символов). В этом случае шифрование выполняется перестановкой символов или выбором символов из таблицы шифрования.
Шифр Цезаря – моноалфавитный шифр, имеющий несколько разновидностей. Основной идеей шифра является применение двух таблиц, содержащих алфавиты сообщения и шифрограммы. Алфавит шифрограммы сдвинут в таблице на некоторое число символов относительно алфавита сообщения. Шифрование выполняется посредством замены символов сообщения соответствующими им символами алфавита шифрограммы.
Полиалфавитный шифр – шифр, использующий для записи сообщения и шифрограммы несколько алфавитов.
Шифр перестановок – это шифр, который предусматривает замену по какому-либо алгоритму символа сообщения символом шифрограммы, входящим в сообщение.
Шифр замены – это шифр, который предусматривает замену символа шифрования символом шифрограммы, входящим в алфавит или множество алфавитов шифрограммы по какому-либо алгоритму.
Шифры с асимметричными ключами – шифры, которые используют шифрования и расшифровывания два разных ключа. Шифры более стойкие по сравнению с шифрами с симметричными ключами, но требующие больших затрат на шифрование, …
Хеширование – это особый вид шифрования сообщения С, который предусматривает повторное шифрование получателем сообщения С (но не шифр текста R) и сравнение шифртекстов, созданных источником и получателем.
Результат хеширования должен обладать следующими свойствами:
Иметь одинаковую длину вне зависимости от длины сообщения
Быть чувствительным к любым изменениям сообщения
Должна быть исключена возможность получения одинаковых шифрограмм для разных сообщений
Процесс шифрования должен занимать гораздо меньше времени чем время использования сообщения
Должна быть обеспечена невозможность при существующих технических средствах раскрывать ключи шифрования
Однонаправленные функции – функции, которые позволяют легко выполнить преобразование R=F(C) (шифрование), но затрудняет обратное преобразование C=Ф(R) (расшифрование), требуя больших трудозатрат из-за отсутствия эффективных алгоритмов и ограниченных возможностей техники.
Хэш-функции или дайджест – это результат хеширования. Обозначается H(C), где С – сообщение.
Свойства хэш-функций:
Применимость к аргументу любого размера
Фиксированная длина результата
Простота вычисления, обеспечивающая более высокую скорость получения функции по сравнению со скоростью использования сообщения
Чувствительность результата к изменению текста (вставкам, вбросам, заменам, перестановкам и т.д.)
Однонаправленность
Малая вероятность получения одинаковых значений для разных документов
Наиболее известные: MD4, MD5, SHA.
Основаны на принципах:
Исключение вероятности коллизии
Реализации алгоритма простыми битовыми операциями с 32-битовыми операндами
Простота и компактность структур данных и программных модулей
Унифицированность архитектуры для различных микропроцессоров
Электронно-цифровая подпись – криптографическое средство защиты отправленных сообщений от искажений злоумышленниками и средство доказательного подтверждения авторства, подписавшего сообщение.
Регламентируется Федеральным законом «Об электронной подписи» № 63-ФЗ от 6 апреля 2011.
Недостатки обычных электронных цифровых подписей:
Возможность ознакомления с сообщением и подписью, стоящей под сообщением
Возможность верификации подписи без участия лица, поставившего подпись