Здравствуйте! Подскажите, пожалуйста, где можно достать проверочные результаты вычисления хэш-функции сообщения по ГОСТ 3411? У меня есть только два примера: вычисление хэш-функции одно- и двухблочного сообщения, хотелось бы проверить, как программа работает с многоблочными сообщениями...
ShTat Моя программа считает хеш за файл с данными. Потом выводит хеш и скорость его вычисления (если файл не слишком короткий). За длину сообщения принимается длина файла в битах. Таблица замен используется та что в ГОСТе. Файлы g и gg это примеры из ГОСТа (интересно почему сообщения на английском?!, на них результат совпадает. Можешь к своей программе добавить вывод скорости вычисления и выложить её здесь, хочу сравнить производительность моей программы.
Cорри, но моя программа написана на С51 и работает только с помощью специального отладчика, написанного для разработанного нами микроконтроллера...
ShTat Ну тогда предлагаю сравнить этот микроконтроллер с TMS320C25 (это древний 16 разрядный DSP). На хеширование одного блока у него уходит 19000(один вызов шаговой функции хеширования, для одноблочного сообщения нужно 3 вызова, для 2х блочного 4 и т.д.) тактов при условии что программа находится во внутреннем ПЗУ и работает только с данными во внутренней памяти(данные туда не поместились). Если расположить данные во внешней памяти достут к которой происходит с задержкой 1 такт, то это добавит 7000 тактов. То есть программа делает 7000 обращений к данным. Если код программы расположить во внешней памяти с задержкой 1 такт, то это добавит еще 12000 тактов. Это примерно 10000 команд, так как некоторые занимают по 2 слова. Соответстенно при расположении и кода и данных во внешней памяти время выполнения увеличится в 2 раза.