Проверка ГОСТа 3411

Тема в разделе "WASM.CRYPTO", создана пользователем ShTat, 21 сен 2006.

  1. ShTat

    ShTat New Member

    Публикаций:
    0
    Регистрация:
    28 авг 2006
    Сообщения:
    5
    Здравствуйте! Подскажите, пожалуйста, где можно достать проверочные результаты вычисления хэш-функции сообщения по ГОСТ 3411? У меня есть только два примера: вычисление хэш-функции одно- и двухблочного сообщения, хотелось бы проверить, как программа работает с многоблочными сообщениями...
     
  2. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    [deleted]
     
  3. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    ShTat
    Моя программа считает хеш за файл с данными. Потом выводит хеш и скорость его вычисления (если файл не слишком короткий). За длину сообщения принимается длина файла в битах. Таблица замен используется та что в ГОСТе. Файлы g и gg это примеры из ГОСТа (интересно почему сообщения на английском?!;), на них результат совпадает.

    Можешь к своей программе добавить вывод скорости вычисления и выложить её здесь, хочу сравнить производительность моей программы.
     
  4. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
  5. ShTat

    ShTat New Member

    Публикаций:
    0
    Регистрация:
    28 авг 2006
    Сообщения:
    5
    Cорри, но моя программа написана на С51 и работает только с помощью специального отладчика, написанного для разработанного нами микроконтроллера...
     
  6. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    ShTat
    Ну тогда предлагаю сравнить этот микроконтроллер с TMS320C25 (это древний 16 разрядный DSP).
    На хеширование одного блока у него уходит 19000(один вызов шаговой функции хеширования, для одноблочного сообщения нужно 3 вызова, для 2х блочного 4 и т.д.) тактов при условии что программа находится во внутреннем ПЗУ и работает только с данными во внутренней памяти(данные туда не поместились). Если расположить данные во внешней памяти достут к которой происходит с задержкой 1 такт, то это добавит 7000 тактов. То есть программа делает 7000 обращений к данным. Если код программы расположить во внешней памяти с задержкой 1 такт, то это добавит еще 12000 тактов. Это примерно 10000 команд, так как некоторые занимают по 2 слова.
    Соответстенно при расположении и кода и данных во внешней памяти время выполнения увеличится в 2 раза.