ГОСТ 28147-89 - это стандарт, принятый в 1989 году в Советском Союзе и установивший алгоритм шифрования данных, составляющих гостайну. История создания этого алгоритма - тайна, покрытая мраком. По свидетельству причастных к его реализациям и использованию людей, алгоритм был разработан в 70-е годы в 8-м Главном Управлении КГБ СССР, тогда он имел гриф Сов.
Секретно. Затем гриф был понижен до Секретно, а когда в 89-м году алгоритм был проведен через Госстандарт и стал официальным государственным стандартом, гриф с него был снят, однако алгоритм оставался ДСП. В начале 90-х годов он стал полностью открытым.ГОСТ предусматривает 3 режима шифрования (простая замена, гаммирование, гаммирование с обратной связью) и один режим выработки имитовставки. Первый из режимов шифрования предназначен для шифрования ключевой информации и не может использоваться для шифрования других данных, для этого предусмотрены два других режима шифрования. Режим выработки ИМИТОВСТАВКИ (криптографической контрольной комбинации) предназначен для ИМИТОЗАЩИТЫ шифруемых данных, то есть для их защиты от случайных или преднамеренных несанкционированных изменений.
Алгоритм построен по тому же принципу, что и DES - это классический блочный шифр с секретным ключом - однако отличается от DES'а большей длиной ключа, большим количеством раундов, и более простой схемой построения самих раундов. Ниже приведены его основные параметры, для удобства - в сравнении с параметрами DES'а:
ПАРАМЕТР |
ГОСТ |
DES |
1. Размер блока шифрования | 64 бита | 64 бита |
2. Длина ключа | 256 бит | 56 бит |
3. Число раундов | 32 | 16 |
4. Узлы замен (S-блоки) | не фиксированы | фиксированы |
5. Длина ключа для одного раунда | 32 бита | 48 бит |
6. Схема выработки раундового ключа | простая | сложная |
7. Начальная и конечная перестановки битов | нет | есть |
В силу намного большей длины ключа ГОСТ гораздо устойчивей DES'а к вскрытию "грубой силой" - путем полного перебора по множеству возможных значений ключа.
Функция шифрования (*) ГОСТа гораздо проще функции шифрования DES'а, она не содержит операций битовых перестановок, коими изобилует DES и которые крайне неэффективно реализуются на современных универсальных процессорах (хотя очень просто аппаратно - путем разводки проводников в кристалле или на плате). В силу сказанного, при вдвое большем количестве раундов (32 против 16) программная реализация ГОСТа на процессорах Intel x86 более чем в 2 раза превосходит по быстродействию реализацию DES'а. Естественно, сравнивались близкие к оптимуму по быстродействию реализации [1].
Из других отличий ГОСТа от DES'а надо отметить следующее:
(*) Что такое функция шифрования?
Многие алгоритмы, включая DES и ГОСТ, построены по одному и тому же принципу: Процесс шифрования состоит из набора раундов-шагов, на каждом шаге выполняются следующие действия.
Tак вот,
функция шифрования ГОСТа очень проста:Как видите, в отличие от DES'а очень простая и легко реализуемая функция шифрования. Более подробно обо всем этом можно прочитать в [2].
И последнее
: ГОСТ не запантентован, поэтому его может свободно использовать любое юридическое и физическое лицо, если, конечно, это не противоречит законодательству страны где находятся это лицо. Со стороны авторов ГОСТа претензий нет и быть не может, так как юридические права на алгоритм ни за кем не закреплены.