Сообщений 2    Оценка 215 [+1/-0]         Оценить  
Система Orphus

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

Вместо предисловия.

Автор: Андрей Винокуров
Источник: http://www.enlight.ru/crypto
Опубликовано: 15.01.2003
Исправлено: 13.03.2005
Версия текста: 1.1

Предлагаемая вашему вниманию статья содержит описание алгоритма, принятого в качестве стандарта шифрования в Российской Федерации, замечания по его реализации для процессоров семейства Intel x86, а также обсуждение различных вопросов его практического использования. Данная статья основывается на материалах, опубликованных автором в журнале «Монитор» N1,5 в 1995 году, и, по сути, является кардинально переработанной и дополненной версией этих материалов с учетом реалий сегодняшнего дня. Этот вариант статьи подготовлен осенью 2002 года специально для RSDN.

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

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

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

Возможное использование ГОСТа в Ваших собственных разработках ставит ряд вопросов. Вопрос первый – нет ли юридических препятствий для этого. Этот вопрос имеет два аспекта – имущественные права и государственное регулирование различных видов деятельности. Что касается первого, тут все предельно ясно: наш стандарт шифрования не был запатентован, т.е. права собственности на него никак не зафиксированы, и поэтому с этой стороны никаких препятствий к его использованию нет. Более того, если вы – гражданин одной из республик бывшего СССР, то вы или ваши родители оплатили разработку этого стандарта своими налогами и являетесь одним из его собственников.

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

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

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

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

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


Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
    Сообщений 2    Оценка 215 [+1/-0]         Оценить