Читать «Американская криптология» онлайн - страница 110

Вадим Викторович Гребенников

В технологии «Fortezza» ключ шифрования данных называется «МЕК» (англ. Message Encryption Key). В дополнении к этому ключу может использоваться также вектор инициализации «IV» (англ. Initialization Vector), который фактически является дополнительным входным параметром при шифровании данных. Стандартный режим алгоритма «Fortezza» требует обязательного использования «IV» всеми участниками информационного обмена. Это значит, что для дешифровки сообщения получатель должен или иметь возможность сгенерировать точно такой же «IV», использованный отправителем при шифровании сообщения, или «IV» должен быть передан вместе с сообщением.

Алгоритм шифрования «SKIPJACK» имеет три режима работы: «ЕСВ» (англ. Electronic Codebook — электронная кодовая книга), «OFB» (англ. Output Feedback — исходный отзыв) и «СВС» (англ. Cipher Block Chaining — шифроблочная цепь). Как правило, алгоритм «Fortezza» использует режим «СВС». В этом режиме все 8-байтные блоки открытого текста, кроме первого, используются для выполнения операции «XOR» (побитовое сложение по модулю 2) с блоком зашифрованного текста, полученным на предыдущем шаге работы алгоритма с использованием «МЕК». Вектор «IV» применяется для шифрования первого блока открытого текста.

Для того, чтобы злоумышленник смог дешифровать сообщение, ему необходимо знать не только «МЕК», но и «IV». При этом компрометация «IV» не настолько существенна, если злоумышленник не обладает «МЕК».

Распределение ключей шифрования «МЕК» основано на применении разработанного в АНБ алгоритма обмена ключами «КЕА» (англ. Key Exchange Algorithm), посылающего зашифрованный «МЕК» с каждым сообщением. Поскольку обмен ключами «КЕА» интегрирован в технологию «Fortezza», ключи шифрования могут меняться от сообщения к сообщению или от сеанса к сеансу.

Алгоритм «КЕА» использует для шифрования «МЕК» специальный ключ, названный «ТЕК» (англ. Token Encryption Key — ключ полуторного шифрования). Необходимо иметь в виду, что в дополнениях, использующих технологию «Fortezza», «ТЕК» может быть использован при шифровании данных как альтернатива ключа шифрования «МЕК», однако «МЕК» не может быть использован для защиты «ТЕК» в процессе обмена ключами.

Шифрование с открытым ключом в стандартном режиме алгоритма «Fortezza» используется только для обмена ключами с использованием «КЕА» и для цифровой подписи сообщений (включая временные метки). В описании алгоритма «Fortezza» обычно используют такие обозначения: 20-байтный закрытый ключ называется «X», 128-байтный открытый ключ называется «Y», «Р» и «Q» — большие простые числа (секретные), «G» — простое число по модулю «PXQ» (общедоступное).

Общий процесс шифрования сообщений с использованием открытого ключа абонента выглядит таким образом. Отправитель шифрует сообщение для получателя, используя открытый ключ получателя «Y» и алгоритм шифрования с открытым ключом. Получатель дешифрует сообщение отправителя с помощью своего закрытого ключа «X». Каждый, кто получит доступ к месту хранения открытых ключей, сможет зашифровать данные для получателя, но только получатель сможет дешифровать эти данные, поскольку никто не знает его закрытого ключа. Генерация и распределение пар открытого и закрытого ключей для организации обмена ключами «КЕА» и цифровой подписи производится для каждого пользователя отдельно в соответствии со специальной процедурой.