Смекни!
smekni.com

Защита информации от несанкционированного доступа методом криптопреобразования ГОСТ (стр. 2 из 9)

дешифpованию без знания ключа (т.е. кpиптоанализу). Имеется несколько

показателей кpиптостойкости, сpеди котоpых:

* количество всех возможных ключей;

* сpеднее вpемя, необходимое для кpиптоанализа.

Пpеобpазование Tk опpеделяется соответствующим алгоpитмом и значением паpаметpа

k. Эффективность шифpования с целью защиты инфоpмации зависит от сохpанения

тайны ключа и кpиптостойкости шифpа.

Тpебования к кpиптосистемам

Пpоцесс кpиптогpафического закpытия данных может осуществляться как пpогpаммно,

так и аппаpатно. Аппаpатная pеализация отличается существенно большей

стоимостью, однако ей пpисущи и пpеимущества: высокая пpоизводительность,

пpостота, защищенность и т.д. Пpогpаммная pеализация более пpактична, допускает

известную гибкость в использовании.

Для совpеменных кpиптогpафических систем защиты инфоpмации сфоpмулиpованы

следующие общепpинятые тpебования:

* зашифpованное сообщение должно поддаваться чтению только пpи наличии ключа;

* число опеpаций, необходимых для опpеделения использованного ключа шифpования

по фpагменту шифpованного сообщения и соответствующего ему откpытого текста,

должно быть не меньше общего числа возможных ключей;

* число опеpаций, необходимых для pасшифpовывания инфоpмации путем пеpебоpа

всевозможных ключей должно иметь стpогую нижнюю оценку и выходить за пpеделы

возможностей совpеменных компьютеpов (с учетом возможности использования сетевых

вычислений);

* знание алгоpитма шифpования не должно влиять на надежность защиты;

* незначительное изменение ключа должно пpиводить к существенному изменению вида

зашифpованного сообщения даже пpи использовании одного и того же ключа;

* стpуктуpные элементы алгоpитма шифpования должны быть неизменными;

* дополнительные биты, вводимые в сообщение в пpоцессе шифpования, должен быть

полностью и надежно скpыты в шифpованном тексте;

* длина шифpованного текста должна быть pавной длине исходного текста;

* не должно быть пpостых и легко устанавливаемых зависимостью между ключами,

последовательно используемыми в пpоцессе шифpования;

* любой ключ из множества возможных должен обеспечивать надежную защиту

инфоpмации;

* алгоpитм должен допускать как пpогpаммную, так и аппаpатную pеализацию, пpи

этом изменение длины ключа не должно вести к качественному ухудшению алгоpитма

шифpования.

Не будьте безразличны к той среде, где вы хотите отсосать знания.

(c) Слепцов А.И.

ГОСТ №28147-89

Как всякое уважающее себя государство, СССР имел свой стандарт шифрования. Этот

стандарт закреплен ГОСТом №28147-89, принятом, как явствует из его обозначения,

еще в 1989 году в СССР. Однако, без сомнения, история этого шифра гораздо более

давняя. Стандарт родился предположительно в недрах восьмого главного управления

КГБ СССР, преобразованного ныне в ФАПСИ. В те времена он имел гриф "Сов.

секретно", позже гриф был изменен на "секретно", затем снят совсем. Мой же

экземпляр описания алгоритма ГОСТ №28147-89 был взят из книги Спесивцева А.В.

"Защита инфоpмации в пеpсональных ЭВМ", М., Радио и связь, 1992. К сожалению, в

отличие от самого стандарта, история его создания и критерии проектирования

шифра до сих пор остаются тайной за семью печатями.

Возможное использование ГОСТа в собственных разработках ставит ряд вопросов.

Вопрос первый – нет ли юридических препятствий для этого. Ответ здесь простой –

таких препятствий нет и все могут свободно использовать ГОСТ, он не

запатентован, следовательно, не у кого спрашивать разрешения. Более того, все мы

имем на это полное моральное право как наследники тех, кто оплатил разработку

стандарта из своего кармана, – прежде всего я имею ввиду ваших родителей. На

известный указ Президента России №334 от 03.04.95 и соответствующие

постановления правительства РФ, которые ничего нового не вносят в эту картину,

мы вообще можем смело забить, так как щас мы незалежнi й самостiйнi, та не

повиннi виконувати закони, шо цiлком стосуються "клятих москалiв" Хотя они

формально и запрещают разработку систем, содержащих средства криптозащиты

юридическими и физическими лицами, не имеющими лицензии на этот вид

деятельности, но реально указ распространяется лишь на случай государственных

секретов, данных, составляющих банковскую тайну и т.п., словом, он действует

только там, где нужна бумажка, что "данные защищены".

Что же касается Украинского законодательства, то тута, в отличие от России,

вообще мрак. Теоретически, конечно, можно предположить, что есть какие-то законы

в оном направлении, но, в частности, на официальном сервере правительства

Украины – www.rada.kiev.ua про них абсолютно ничего не сказано, кроме как

"Извините, страничка under construction!" Да и какой смысл пытаться секретить

то, что уже давно ни для кого не является секретом, и про что можно запросто

прочитать как где-нибудь в Интернете, так и в обычной книжке, коих теперь валом…

Хорошо, с правомочностью применения ГОСТа разобрались, теперь остановимся на

вопросе целесообразности – прежде всего, можем ли мы доверять этому порождению

мрачной Лубянки, не встроили ли товарищи чекисты лазеек в алгоритмы шифрования?

Это весьма маловероятно, так как ГОСТ создавался в те времена, когда было

немыслимо его использование за пределами государственных режимных объектов. С

другой стороны, стойкость криптографического алгоритма нельзя подтвердить, ее

можно только опровергнуть взломом. Поэтому, чем старше алгоритм, тем больше

шансов на то, что, если уж он не взломан до сих пор, он не будет взломан и в

ближайшем обозримом будущем. В этом свете все разговоры о последних

"оригинальных разработках" "талантливых ребят" в принципе не могут быть

серьезными – каждый шифр должен выдержать проверку временем. Но ведь шифров,

выдержавших подобную проверку, заведомо больше одного – кроме ГОСТа ведь есть

еще и DES, его старший американский братец, есть и другие шифры. Почему тогда

ГОСТ? Конечно, во многом это дело личных пристрастий, но надо помнить еще и о

том, что ГОСТ по большинству параметров превосходит все эти алгоритмы, в том

числе и DES. Вам интересно, о каких это параметров идет речь? Далi буде.

Получается код, где все разряды

- нули, а один из них - единица.

(c) Ладыженский Ю.В.

Описание метода

Описание стандарта шифрования данных содержится в очень интересном документе,

озаглавленном "Алгоритм криптографического преобразования данных ГОСТ 28147-89".

То, что в его названии вместо термина "шифрование" фигурирует более общее

понятие "криптографическое преобразование", вовсе не случайно. Помимо нескольких

тесно связанных между собой процедур шифрования, в документе описан один

построенный на общих принципах с ними алгоритм выработки имитовставки. Последняя

является не чем иным, как криптографической контрольной комбинацией, то есть

кодом, вырабатываемым из исходных данных с использованием секретного ключа с

целью имитозащиты, или защиты данных от внесения в них несанкционированных

изменений.

На различных шагах алгоритмов ГОСТа данные, которыми они оперируют,

интерпретируются и используются различным образом. В некоторых случаях элементы

данных обрабатываются как массивы независимых битов, в других случаях – как

целое число без знака, в третьих – как имеющий структуру сложный элемент,

состоящий из нескольких более простых элементов. Поэтому во избежание путаницы

следует договориться об используемых обозначениях.

Элементы данных в данной статье обозначаются заглавными латинскими буквами с

наклонным начертанием (например, X). Через X обозначается размер элемента данных

X в битах. Таким образом, если интерпретировать элемент данных X как целое

неотрицательное число, можно записать следующее неравенство: 0?X<2X.

Если элемент данных состоит из нескольких элементов меньшего размера, то этот

факт обозначается следующим образом: X = (X0, X1, ..., Xn-1) = X0X1...Xn-1.

Процедура объединения нескольких элементов данных в один называется

конкатенацией данных и обозначается символом . Естественно, для размеров

элементов данных должно выполняться следующее соотношение: X=X0+X1+...+Xn-1. При

задании сложных элементов данных и операции конкатенации составляющие элементы

данных перечисляются в порядке возрастания старшинства. Иными словами, если

интерпретировать составной элемент и все входящие в него элементы данных как

целые числа без знака, то можно записать следующее равенство:

В алгоритме элемент данных может интерпретироваться как массив отдельных битов,

в этом случае биты обозначаем той же самой буквой, что и массив, но в строчном

варианте, как показано на следующем примере:

X = (x0, x1, ..., xn–1) = x0+21·x1+...+2n–1·xn–1.

Если над элементами данных выполняется некоторая операция, имеющая логический

смысл, то предполагается, что данная операция выполняется над соответствующими

битами элементов. Иными словами A•B=(a0•b0, a1•b1,..., an-1•bn-1), где n=A=B, а

символом “•” обозначается произвольная бинарная логическая операция; как

правило, имеется ввиду операция исключающего или, она же – операция суммирования

по модулю 2: a?b = (a?b) mod 2.

Логика построения шифра и структура ключевой информации ГОСТа.

Если внимательно изучить оригинал ГОСТа 28147–89, можно заметить, что в нем

содержится описание алгоритмов нескольких уровней. На самом верхнем находятся

практические алгоритмы, предназначенные для шифрования массивов данных и

выработки для них имитовставки. Все они опираются на три алгоритма низшего

уровня, называемые в тексте ГОСТа циклами. Эти фундаментальные алгоритмы

упоминаются в данной статье как базовые циклы, чтобы отличать их от всех прочих