- BelT
-
BelT Создан: 2007 г.
Опубликован: 2007 г.
Размер ключа: 256 бит
Размер блока: 128 бит
Число раундов: 8
Тип: BelT — предварительный государственный стандарт симметричного шифрования Республики Беларусь. Полное название стандарта — СТБ П 34.101.31 — 2007. Может быть использован для контроля целостности данных. При использовании метода шифрования с гаммированием, может выполнять функции поточного шифроалгоритма. Утвержден и введен в действие постановлением Госстандарта Республики Беларусь в качестве предварительного государственного стандарта в 2007 году.
Содержание
Описание
BelT — блочный шифр с 256-битным ключом и 8 циклами криптопреобразований, оперирующий с 128-битными словами. Криптографические алгоритмы стандарта построены на основе базовых режимов шифрования блоков данных. Все алгоритмы стандарта делятся на 8 групп:
- алгоритмы шифрования в режиме простой замены;
- алгоритмы шифрования в режиме сцепления блоков;
- алгоритмы шифрования в режиме гаммирования с обратной связью;
- алгоритмы шифрования в режиме счетчика;
- алгоритм выработки имитовставки ;
- алгоритмы одновременного шифрования и имитозащиты данных;
- алгоритмы одновременного шифрования и имитозащиты ключей;
- алгоритм хеширования;
Первые четыре группы предназначены для обеспечения безопасного обмена сообщениями. Каждая группа включает алгоритм зашифрования и алгоритм расшифрования на секретном ключе. Стороны, располагающие общим ключом, могут организовать обмен сообщениями путем их зашифрования перед отправкой и расшифрования после получения. В режимах простой замены и сцепления блоков шифруются сообщения, которые содержат хотя бы один блок, а в режимах гаммирования с обратной связью и счетчика — сообщения произвольной длины.
Пятый алгоритм предназначен для контроля целостности сообщений с помощью имитовставок — контрольных слов, которые определяются с использованием секретного ключа. Стороны, располагающие общим ключом, могут организовать контроль целостности при обмене сообщениями путем добавления к ним имитовставок при отправке и проверки имитовставок при получении. Проверка имитовставок дополнительно позволяет стороне получателю убедиться в знании стороной-отправителем секретного ключа, то есть проверить подлинность сообщений.
В шестой группе исходное сообщение задается двумя частями: открытой и критической. Алгоритмы защиты предназначены для контроля целостности обеих частей и обеспечения конфиденциальности критической части. При установке защиты вычисляется имитовставка всего сообщения и зашифровывается его критическая часть. При снятии защиты имитовставка проверяется и, если проверка прошла успешно, критическая часть расшифровывается.
В алгоритмах седьмой группы длина защищаемого сообщения должна быть сразу известна, эти алгоритмы рекомендуется применять для защиты ключей. Защищаемый ключ сопровождается открытым заголовком, который содержит открытые атрибуты ключа и одновременно является контрольным значением при проверке целостности. Могут использоваться фиксированные постоянные заголовки, которые служат только для контроля целостности. При установке защиты ключ зашифровывается вместе со своим заголовком. При снятии защиты выполняется обратное преобразование и расшифрованный заголовок сравнивается с контрольным.
Восьмой алгоритм предназначен для вычисления хеш-значений — контрольных слов, которые определяются без использования ключа. Стороны могут организовать контроль целостности сообщений путем сравнения их хеш-значений с достоверными контрольными хеш-значениями. Изменение сообщения с высокой вероятностью приводит к изменению соответствующего хеш-значения и поэтому хеш-значения могут использоваться вместо самих сообщений, например в системах электронной цифровой подписи.
Алгоритм шифрования
Входные данные для шифрования подготавливаются следующим образом:
- Входное 128-битное слово записывается в виде
— 32-битное слово;
- Ключ записывается в виде
— 32-битное слово
Для зашифрования слова
на ключе
необходимо выполнить следующие шаги:
- Установить в дополнительные переменные
- Для i=1,2,… ,8 выполнить:
- Установить
- Возвратить
Переменные a,b,c,d,e - 32-битные слова. Преобразование
ставит в соответствие 32-битному слову
- 8-битное слово), 32-битное слово
. Подстановка
задается фиксированной таблицей (S - блок).
Алгоритм дешифрования
Для расшифрования необходимо выполнить следующие действия:
- Установить в дополнительные переменные
- Для i=8,7,… ,1 выполнить:
- Установить
- Возвратить
Алгоритм хеширования
Для контроля целостности данных применяется специальная функция хеширования. На вход подается битовая последовательность X любой длины. Выход - 256-битовое хеш-значение входной последовательности.
К входной последовательности
первоначально добавляют
нулевых символов, где
- минимальное неотрицательное целое число такое, что
кратно 256.
- 256-битное слово. Для хэширования дополнительно используются одна 128-битная переменная s и 256-битная переменная h. Определены два отображения:
и
, которые действуют на слова
- 128-битное слово, по правилам:
где
Для получения хеш-значения необходимо выполнить следующие шаги:
- Установить
- Установить h = B194BAC80A08F53B366D008E584A5DE48504FA9D1BB6C7AC252E72C202FDCE0D
- Для i=1,2,… ,d выполнить:
- Установить
- Возвратить Y
В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 11 мая 2011.Категория:- Шифры
Wikimedia Foundation. 2010.