вопрос по ГОСТ 28147-89

Тема в разделе "WASM.CRYPTO", создана пользователем metcenger, 18 сен 2008.

  1. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Ну я и назвал это "заставить заработать".
    К сожалению на такое большое дело сейчас времени совершенно нет :-(
     
  2. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    metcenger
    со странички Винокурова качаем файл gost_all.zip, в нем читаем файл README.TXT и INDEX.TXT, по результата чтения которых из этого же архива выбираем, например, файлы:
    GOST~.ASM - 32-бит. основной шаг криптопреобразования;
    GAMMA~.ASM - 32-бит. за- и рас-шифрование данных в режиме гаммирования;
    SIMPLE~.ASM - 32-бит. за- и рас-шифрование данных в режиме простой замены;
    GOST.H - заголовочный файл с описанием функций шифрования;
    XCRYPTOR.C - исходный текст программы шифрования;
    GOST386.MAK - make-файл для построения 32-битовой программы шифрования файла по ГОСТ;
    CHANGTBL.CHT- файл с таблицей замен;
    KEY.KEY - файл с ключом шифрования;

    И разбираем их по косточкам... :)
     
  3. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    OLS
    жаль...

    По умолчанию "индекс доверия" к программе Винокурова должен стремиться к 1. А как убедиться в правильности своей реализации особенно в случае с гаммированием? А если мы не знаем как подавать ключевые элементы - то и проверить себя не можем...
     
  4. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    Есть еще вопрос по поводу ГОСТ 28147 и не только по нему...

    Например, есть поток двоичных данных M, например, 16-битных цифр, передаваемых от источника получателю по определенного рода сети. Эти данные передаются:
    1) в открытом виде;
    2) в зашифрованном виде по ГОСТ 28147-89 в режиме гаммирования с "бесконечной" гаммой;
    3) в зашифрованном виде по другому симметричному стандарту с "конечной" гаммой;
    4) в открытом виде, но нужные данные N подмешиваются в поток данных M, используя несколько младших незначащих бит (естественно, что N много меньше M), то есть передача с использованием стеговставки.

    В итоге нужно получить качественно-количественную оценку каждого из указанных методов для итогового выбора алгоритма, что-то типа:
    Ks = k1s*Ts + k2s*ts + k3s*Zs,
    где Kn - показатель качества для метода S;
    Ts - показатель относительного объема трафика, генерируемого в сети для метода S (0<=Ts<=1);
    ts - показатель относительных временных затрат на предобработку, передачу и постобработку источника и получателя для метода S (0<=ts<=1);
    Zs - показатель защищенности (стойкости) для метода S (0<=Zs<=1);
    k1s..k3s - весовые коэффициенты каждого соответствующего показателя для метода S (сумма всех ks=1).

    Если, например, для передачи данных в открытом виде (Z1=0), общий показатель (при приоритете быстродействия) будет равен:
    K1 = k11*T1 + k21*t1 + k31*Z1 = 0.5*0.1 + 0.3*0.1 + 0.2*0.0, то общий показатель (при приоритете быстродействия) для передачи данных в зашифрованном виде по ГОСТ 28147 будет равен:
    K2 = k12*T2 + k22*t2 + k32*Z2 = 0.5*0.1 + 0.3*0.4 + 0.2*Z2 (трафик - тот же, время на операции шифрования - больше, защищенность - выше)

    Для передачи данных в зашифрованном виде по ГОСТ 28147 чему будет равен показатель защищенности (стойкости) Z2 и как его вычислять?

    А как этот же показатель вычислять для других методов шифрования? А для стегосистем? И вообще, правильны ли здесь мои размышления? Где и чего конкретно можно почитать по этому поводу?
     
  5. irrona

    irrona Member

    Публикаций:
    0
    Регистрация:
    26 май 2004
    Сообщения:
    178
    Адрес:
    Тирасполь
    Короче так. Таблица из книги верная. Просто S-box используются не по ГОСТу. Порядок выборки строки S-box для подстановки следующий: 2,1,4,3,6,5,8,7. То есть сначала берется байт из строки 1 S-box, затем из строки 2 и т.д. по схеме.
    Что касается начального заполнения, то N1 = 0x55555555 и N2 = 0xAAAAAAAA.
    На выходе имеем N1 = 0x3113A05E и N2 = 0xC4F6F857
     
  6. irrona

    irrona Member

    Публикаций:
    0
    Регистрация:
    26 май 2004
    Сообщения:
    178
    Адрес:
    Тирасполь
    Код (Text):
    1. То есть сначала берется байт из строки 1 S-box, затем из строки 2 и т.д. по схеме.
    Тут не правильно. Сначала берется байт из строки 2 S-box, затем из строки 1 и т.д. по схеме.
     
  7. irrona

    irrona Member

    Публикаций:
    0
    Регистрация:
    26 май 2004
    Сообщения:
    178
    Адрес:
    Тирасполь
    Кстати, что касается ассемблерного кода для основного шага криптопреобразования, то у Винокурова неувязочка. Примеры начинают сходиться, если не выполнять операцию adc eax,0
     
  8. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    Доброго всем времени суток!

    Может и не в этой ветке следует задать мой вопрос, но он тоже (так или иначе) связан с этим ГОСТ.

    Итак, есть абстрактный файл, в котором находится последовательность НУЛЕВЫХ байт, зашифрованных по ГОСТ в режиме гаммирования. Есть другой файл (такого же размера), в котором находится эта же последовательность байт, зашифрованных по другому алгоритму шифрования. Требуется (очень и срочно!) провести так называемый статистический анализ этих двух криптопоследовательностей в этих файлах и сравнить результаты. Ключи искать и вычислять не требуется :)

    Поэтому, очень интересует, в первую очередь, ссылки на теоретический материал. Например, метод Иванова из книги такой-то. А во вторую очередь интересуют какие-либо уже имеющиеся программы (построенные на этом теоретическом фундаменте), которые при прогоне этих файлов через себя выдадут на входе какой-то анализ с количественными и качественными показателями.

    Что уже сделано. На основании обсуждений (не подкрепленных теоретической базой) со знающими людьми принято для начала несколько "методов":
    1. Метод регистрового или битового сдвига. Берем криптопоследовательность и делаем ее полную виртуальную копию. Накладываем эти две цепочки друг под другом (100% совпадение по битам) и начинаем их сдвигать друг относительно друга на 1 бит. В конце они будут "соосны" только по одному биту (первому биту у одной последовательности и последнему - у второй). При каждом шаге после очередного сдвига "соосны" некоторое количество бит, которые и сравниваем у обеих последовательностей и считаем сколько бит одинаковых между цепочками и сколько различающихся, разницу берем по модулю и в процентах от общего количества участвующих в сравнении бит. Заносим это число на координатную ось Y, а по оси Х откладываем порядковый номер сравнения. В итоге получим кривую, идеальная форма которой соответствовала бы небольшому разбросу значений от 0 до 2 по оси Y (первое значение при 100% совпадении по битам не откладываем, также не откладываем последние несколько сравнений, в которых из-за малого количества бит значение стремится резко к 100%).
    2. Частотный метод. Считаем сколько раз в криптопоследовательности встречаются значения бит от 0x00 до 0xFF. Заносим число повторений на координатную ось Y, а по оси Х откладываем значения бит от 0x00 до 0xFF. В итоге получим кривую, идеальная форма которой соответствовала бы небольшому разбросу значений от максимального значения до чуть меньшего значения по оси Y.
    3. То же, что и метод №2, только считаем сколько раз в криптопоследовательности встречаются значения бит от 0x0000 до 0xFFFF.

    Где взять теоретическое обоснование этих методов и может кто чего еще подскажет?
     
  9. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    > Где взять теоретическое обоснование этих методов и может кто чего еще подскажет?
    Алгоритмы проверки на случайность :
    FIPS 140-1, п.4.11.1
    DieHard : http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%81%D1%82%D1%8B_DIEHARD
    и т.п.
     
  10. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    Спасибо!
    По FIPS 140-1, п.4.11.1 Google вывалил просто кучу ссылок. Буду разбираться...
    DieHard тоже почитал, там вроде есть софт, который можно скачать.
    А русскоязычных трудов по моему вопросу совсем нет?
     
  11. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    Нашел вот что (может еще кому пригодится):
    Статья-обзор "Статистический анализ поточных шифров"
    http://cms.tusur.ru/filearchive/reports-magazine/2008-2-1/56-57.pdf
     
  12. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    И еще неплохая книга:
    Иванов М. А., Чугунков И. В. Теория, применение и оценка качества генераторов псевдослучайных последовательностей
    Скачать можно тут: http://www.krelib.com/kibernetika/5984
    И где бы еще найти эту программу, которая упоминается в конце этой книги: "Система оценки качества генераторов псевдослучайных последовательностей"?
     
  13. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    Уважаемые коллеги!
    Кто имеет действующую реализацию данного ГОСТ, прошу сгенерить (зашифровать) примерно 1 мегабайт следующим способом:
    1. Исходный файл должен содержать только нулевые биты (ну и байты, соответственно). Не ноли в текстовом виде (ASCII), а именно нулевые байты при просмотре исходного файла HEX-редактором.
    2. Ключи и таблицу замен можно взять из ГОСТ Р 34.11-94 или вообще любые, на Ваше усмотрение.
    3. Шифровать требуется только в режиме гаммирования без обратной связи.

    В принципе, мне и нужна, получается, только эта сгенерированная гамма размером в этот мегабайт для тестов.
    Я мог бы сделать это и сам, т.к. алгоритм у меня реализован, но он реализован на специфичном микроконтроллере и чтобы получить гамму такого размера, нужно довольно длительное время, т.к. темп генерации в "моей" промышленной составляет одно 16-битное сообщение за две секунды. Можно и быстрее :), но я тогда не буду успевать снимать данные с промышленной шины с гарантией не пропустить ни одного пакета...

    Срочно, если возможно...
     
  14. irrona

    irrona Member

    Публикаций:
    0
    Регистрация:
    26 май 2004
    Сообщения:
    178
    Адрес:
    Тирасполь
    Забирай http://ifolder.ru/16112191
    При шифровании использованы ключ и таблица из ГОСТ Р 34.11-94, синхропосылка - 8 нулевых байт.
     
  15. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    Добрый день, коллеги!

    А нет ли среди присутствующих здесь тех, кто защищался по специальности 05.13.19 и из какого города?

    P.S. Ищу оппонента...
     
  16. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    См. личную почту.