А.Винокуров. Алгоритм шифрования ГОСТ 28147-89, его использование и реализация для компьютеров платформы Intel x86.


На домашнюю страничку Содержание Предыдущий раздел Следующий раздел

Предисловие.


То, что информация имеет ценность, люди осознали очень давно – недаром переписка сильных мира сего издавна была объектом пристального внимания их недругов и друзей. Тогда-то и возникла задача защиты этой переписки от чрезмерно любопытных глаз. Древние пытались использовать для решения этой задачи самые разнообразные методы, и одним из них была тайнопись – умение составлять сообщения таким образом, чтобы его смысл был недоступен никому кроме посвященных в тайну. Есть свидетельства тому, что искусство тайнописи зародилось еще в доантичные времена. На протяжении всей своей многовековой истории, вплоть до совсем недавнего времени, это искусство служило немногим, в основном верхушке общества, не выходя за пределы резиденций глав государств, посольств и – конечно же ! – разведывательных миссий. И лишь несколько десятилетий назад все изменилось коренным образом – информация приобрела самостоятельную коммерческую ценность и стала широко распространенным, почти обычным товаром. Ее производят, хранят, транспортируют, продают и покупают, а значит – воруют и подделывают – и, следовательно, ее необходимо защищать. Современное общество все в большей степени становится информационно–обусловленным, успех любого вида деятельности все сильней зависит от обладания определенными сведениями и от отсутствия их у конкурентов. И чем сильней проявляется указанный эффект, тем больше потенциальные убытки от злоупотреблений в информационной сфере, и тем больше потребность в защите информации. Одним словом, возникновение индустрии обработки информации с железной необходимостью привело к возникновению индустрии средств защиты информации.

Среди всего спектра методов защиты данных от нежелательного доступа особое место занимают криптографические методы. В отличие от других методов, они опираются лишь на свойства самой информации и не используют свойства ее материальных носителей, особенности узлов ее обработки, передачи и хранения. Образно говоря, криптографические методы строят барьер между защищаемой информацией и реальным или потенциальным злоумышленником из самой информации. Конечно, под криптографической защитой в первую очередь – так уж сложилось исторически – подразумевается шифрование данных. Раньше, когда эта операция выполнялось человеком вручную или с использованием различных приспособлений, и при посольствах содержались многолюдные отделы шифровальщиков, развитие криптографии сдерживалось проблемой реализации шифров, ведь придумать можно было все что угодно, но как это реализовать... Появление цифровых электронно-вычислительных машин, приведшее в конечном итоге к созданию мощной информационной индустрии, изменило все коренным образом и в этой сфере. С одной стороны, взломщики шифров получили в свои руки чрезвычайно мощное орудие, с другой стороны, барьер сложности реализации исчез и для создателей шифров открылись практически безграничные перспективы. Все это определило стремительный прогресс криптографии в последние десятилетия.

Как всякое уважающее себя государство, Российская Федерация имеет свой стандарт шифрования. Этот стандарт закреплен ГОСТом #28147-89, принятом, как явствует из его обозначения, еще в 1989 году в СССР. Однако, без сомнения, история этого шифра гораздо более давняя. Стандарт родился предположительно в недрах восьмого главного управления КГБ СССР, преобразованного ныне в ФАПСИ. Мне довелось беседовать с людьми, утверждавшими, что еще в 70-х годах они участвовали в проектах создания программных и аппаратных реализаций этого шифра для различных компьютерных платформ. В те времена он имел гриф "Сов. секретно", позже гриф был изменен на "секретно", затем снят совсем. На моем экземпляре ГОСТа стояла лишь скромная пометка "ДСП". К сожалению, в отличие от самого стандарта, история его создания и критерии проектирования шифра до сих пор остаются тайной за семью печатями.

Возможное использование ГОСТа в Ваших собственных разработках ставит ряд вопросов. Вопрос первый – нет ли юридических препятствий для этого. Ответ здесь простой – таких препятствий нет и вы можете свободно использовать ГОСТ, он не запатентован, следовательно, не у кого спрашивать разрешения. Более того, вы имеете на это полное моральное право как наследники тех, кто оплатил разработку стандарта из своего кармана, – прежде всего я имею ввиду ваших родителей. Известный указ Президента России #334 от 03.04.95 и соответствующие постановления правительства ничего нового не вносят в эту картину. Хотя они формально и запрещают разработку систем, содержащих средства криптозащиты юридическими и физическими лицами, не имеющими лицензии на этот вид деятельности, но реально указ распространяется лишь на случай государственных секретов, данных, составляющих банковскую тайну и т.п., словом, он действует только там, где нужна бумажка, что "данные защищены".

Хорошо, с правомочностью применения ГОСТа разобрались, теперь остановимся на вопросе целесообразности – прежде всего, можем ли мы доверять этому порождению мрачной Лубянки, не встроили ли товарищи чекисты лазеек в алгоритмы шифрования? Это весьма маловероятно, так как ГОСТ создавался в те времена, когда было немыслимо его использование за пределами государственных режимных объектов. С другой стороны, стойкость криптографического алгоритма нельзя подтвердить, ее можно только опровергнуть взломом. Поэтому, чем старше алгоритм, тем больше шансов на то, что, если уж он не взломан до сих пор, он не будет взломан и в ближайшем обозримом будущем. В этом свете все разговоры о последних "оригинальных разработках" "талантливых ребят" в принципе не могут быть серьезными – каждый шифр должен выдержать проверку временем. Но ведь шифров, выдержавших подобную проверку, заведомо больше одного – кроме ГОСТа ведь есть еще и DES, его старший американский братец, есть и другие шифры. Почему тогда ГОСТ? Конечно, во многом это дело личных пристрастий, но надо помнить еще и о том, что ГОСТ по большинству параметров превосходит все эти алгоритмы, в том числе и DES. И, в конце концов, где же наш Российский Патриотизм?!

Широкому использованию ГОСТа в разработках Российских программистов мешает, по моему мнению, недостаток опубликованной информации о нем, а также некий ореол таинственности, сложившийся вокруг него и искусно кем-то поддерживаемый. На самом деле ничего сложного в шифре нет, он доступен для понимания и реализации программисту любого уровня, но, как и во всем прочем, для создания действительно хорошей реализации надо быть профессионалом. Я работал с ГОСТом как программист с 91 по 94 год, и за это время у меня получилась весьма удачная (ну как себя не похвалить!) его программная реализация для процессоров семейства Intel x86, приближающаяся по быстродействию к возможному оптимуму.

Целью настоящей статьи является знакомство всех заинтересованных с самим алгоритмом и его реализацией на платформе Intel x86. Разработанную мной реализацию ГОСТа я предоставляю в общественную собственность, ее может использовать каждый без каких-либо условий и ограничений. Текст настоящей статьи в его исходном неизменном состоянии может свободно распространяться в печатном и электронном виде, если это не сопряжено прямо или косвенно с извлечением прибыли, в противном случае, а также для его воспроизведения в печатных изданиях, требуется мое письменное разрешение.

Статья состоит из четырех частей. Первая часть содержит описание, а вторая – обсуждение алгоритма, третья и четвертая части содержат соответственно описание его реализации и обсуждение некоторых аспектов его применения. Итак, начнем...

На домашнюю страничку Содержание Предыдущий раздел Следующий раздел


[Оглавление] [Предыдущий раздел] [Следующий раздел]
[Начало осмотра] [Что нового] [Статьи] [Выпуски в "Байтах"] [Что скачать] [Криптоалгоритмы] [Глоссарий] [Ссылки] [Гостевая книга] [Форум] [Напиши мне]

Версия от 23.12.00. (c) 1998-2000 Андрей Винокуров.