Формальное определение блочного шифра
Пусть тип- натуральные числа, F.™ = К - множество ключей, a ~ множество сообщений (блоков), представленных в виде двоичных последовательностей длины соответственно т и п бит. Параметр т принято называть длиной или двоичной длиной ключа, а параметр п - соответственно длиной или двоичной длиной блока зашифровываемого сообщения.
Под блочным шифром мы будем подразумевать множество, состоящее из грех алгоритмов: алгоритма зашифрования, алгоритма расшифрования и алгоритма развертки ключа.
Для любого ключа к из множества F™ и любого сообщения а из множества F? алгоритм зашифрования задается отображением
При фиксированном значении ключа к данное отображение должно являться биекцией, то есть взаимно однозначным отображением множества F? в себя. В противном случае корректное расшифрование информации будет невозможно.
Алгоритм расшифрования задается отображением
для любой пары значений к € F™ и а € Щ.
Из данного нами определения следует, что при фиксированном ключе к отображение Е(к,-) является перестановкой на множестве F?, а блочный алгоритм шифрования может рассматриваться как частный случай шифра замены, рассмотренного нами ранее в разделе 2.2.1 и действующего на алфавите Fg.
Алгоритм развертки ключа вырабатывает из заданного ключа к конечную последовательность ko,ki,... двоичных векторов, которая используется при зашифровании и расшифровании сообщений.
Следует отметить, что не каждые отображения Е и D, заданные условиями (7.1), (7.2), определяют блочный шифр. Основной задачей блочного шифра является обеспечение конфиденциальности передаваемой информации, то есть сохранение в тайне сообщения а от лиц, не владеющих секретным ключом к. Если же нарушитель может определить секретный ключ к, то он может, очевидно, расшифровывать передаваемые сообщения и нарушать их конфиденциальность.
Учитывая это, мы будем дадим следующее определение.
Определение 7.1. Пара отображений Е и Dy заданных условиями (7.1) и (72), определяет блочный шифр при выполнении следующих условий.
1. При фиксированном и неизвестном значении ключа k Е
задача определения сообщения а Е ?% при известном значении с = Е(к,а) и известном наборе сообщений и
соответствующих им значений где с* = Е(к,щ)у
г = 1 должна являться трудноразрешимой[1] для мак
симально возможного натурального значения t.
2. Задача определения неизвестного значения k Е F™ при известном наборе сообщений ai,..., at и соответствующих им значений ci,..., ct, где Ci = Е(к, а*), г = 1,..., t, должна является трудноразрешимой для максимально возможного натурального значения t.
Введенный нами параметр t задает количество пар (а*, с*) при г = 1 для которых известно шифрующее преобразование.
Этот параметр, как правило, называется объемом используемой информации для фиксированного ключа к, а значение параметра t выступает в качестве границы применимости того или иного метода дешифрования (компрометации сообщения).
Действительно, если величина t = 2п, то шифрующее преобразование известно полностью и процесс дешифрования произвольного сообщения а Е F? тривиален. Вместе с тем получение большого числа пар (а^сД при неизвестном и фиксированном ключе к не всегда может быть осуществлено на практике.
В связи с этим при исследованиях алгоритмов блочного шифрования величина t рассматривается как параметр алгоритма дешифрования. Минимальное значение данной величины для всех возможных алгоритмов дешифрования должно определять объем зашифровываемой информации на одном ключе к.
- [1] Под трудноразрешимой задачей мы подразумеваем задачу, которая не можетбыть решена с использованием современных вычислительных средств (персональных ЭВМ, кластеров, облачных вычислителей) за время, в течение которогодолжна обеспечиваться конфиденциальность шифруемой информации.