Функциональное назначение входного и выходного отображений — это, как правило, усложнение шифрующей подстановки при сохранении обратимости шифра. В первых разработках итеративных СБШ функции 8(х, q) и п (х, q) не зависят от ключа и даже являются тождественной подстановкой множества V2n.
Например, в DES-алгоритме[1] входное отображение — это входная подстановка 8, не зависящая от ключа, как и выходное отображение тг, где п = 8_17Ч В алгоритме NewDES обе подстановки равны е. В алгоритме ГОСТ 28 147–89 подстановка 8 = еу подстановка п = Тп. Вообще ключи входной и выходной функций блочных шифров суть двоичные векторы, нередко Q = V2n и функции 8(х, q) и п (х, q) реализуют ХО/?-суммирование 2я-мерных векторов.
Чтобы затруднить применение к итеративным СБШ методов дифференциального и линейного криптоанализа, в качестве входного и выходного отображений используются соответственно операции XOR (x, q0) и XOR (x qr+), где х — блок открытого текста, х' — блок данных после r-го цикла шифрования. Эти операции получили название отбеливания {whitening) текста, а ключи q0 и qr+1 итеративного СБШ — ключей отбеливания. Усложнение инволютивного СБШ с помощью отбеливания не нарушает его инволютивности, так как при любом q е Q' подстановки bq(x) и nq(x) — инволюции: Sq(x) = Ь~х{х) = х © q = nq(x) = п~{{х).
Отбеливание улучшает криптографические свойства шифра, так как криптоанализ шифра с отбеливанием равносилен криптоанализу шифра без отбеливания, у которого входной и выходной блоки неизвестны и равны соответственно х © q0 и у® qr+{. Реализация шифра с отбеливанием усложняется незначительно.
- [1] Использовано описание криптосхем шифров, данное в работе [13].