Защита информации от несанкционированного доступа методом криптопреобразования ГОСТ — страница 8

  • Просмотров 11796
  • Скачиваний 276
  • Размер файла 218
    Кб

образом: X = (X0, X1, ..., Xn-1) = X0||X1||...||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, можно заметить, что в нем содержится описание алгоритмов нескольких уровней. На самом верхнем находятся практические алгоритмы, предназначенные для шифрования массивов данных и выработки для них имитовставки. Все они опираются на три алгоритма низшего уровня, называемые в тексте ГОСТа циклами. Эти фундаментальные алгоритмы упоминаются в данной статье как базовые циклы, чтобы

отличать их от всех прочих циклов. Они имеют следующие названия и обозначения, последние приведены в скобках и смысл их будет объяснен позже: ·      цикл зашифрования (32-З); ·      цикл расшифрования (32-Р); ·      цикл выработки имитовставки (16-З). В свою очередь, каждый из базовых циклов представляет собой многократное повторение одной единственной процедуры, называемой для определенности далее в

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