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