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

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

  1. metcenger

    metcenger New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2008
    Сообщения:
    87
    kapger
    единственное, уверен, что прав тут?
    В соответствии с ГОСТ пункт 3.1.4

    Заполнение накопителя N4 суммируется по модулю (2^32-1) в сумматоре СМ4 с константой C1 из накопителя N6, результат записывается в N4. Заполнение накопителя N3 суммируется по модулю 2^32 в сумматоре СМ3 с константой C2 из накопителя N5, результат записывается в N3.

    По Винокурову это блок 2 на рисунке 4.
    По Винокурову в N4 у нас находится S0=S0+C1, а в N4 у нас находится S1=S1+C2. Для простоты я не указываю в этих формулах правила суммирования.
    Обратите внимание: в N3 и N4 у нас сейчас зашифрованная синхропосылка единожды суммированная с константами!

    Слишком накручено по- моему...

    проверка через 5 минут будет
     
  2. metcenger

    metcenger New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2008
    Сообщения:
    87
    kapger
    да, все сошлось )))
    можно не расписывать было, а сразу приводить гаммы.

    На этом конец? Или выясним, почему у Винокурова не тот результат?

    И меня ещё пока терзают сомнения по поводу правильности нашей гаммы...
    больно уж закручено в описании все. Я бы это проще описал...
     
  3. kapger

    kapger New Member

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

    Проверяем две первые гаммы для ТРЕТЬЕГО варианта синхропосылки.

    Таблица замен берется из сообщения №79 данной темы. Ключ шифрования используем один из тех, что описаны в этом же сообщении №79, а именно:
    K1=0x733D2C20 65686573 74746769 79676120 626E7373 20657369 326C6568 33206D54
    (порядок расположения элементов в ключе: k7, k6, ... ,k0)
    Синхропосылка в открытом виде 0x2566CB8DF34836FC.

    Шаги по выработке гаммы №1:
    1. Шифруем синхропосылку по циклу 32-З с указанными ключевыми данными, результат равен FEFEFEFD4DA15E7C.
    2. Входное значение для генерации гаммы FEFEFEFD4DA15E7C
    3. Выходное значение полученной гаммы 000000024EA25F7D
    4. Зашифрованное значение полученной гаммы, которое и используется для наложения гаммы на открытые данные - гамма равна 663E9BBA74AB6A4D

    Шаги по выработке гаммы №2:
    1. Входное значение для генерации гаммы 000000024EA25F7D
    2. Выходное значение полученной гаммы 010101064FA3607E
    3. Зашифрованное значение полученной гаммы, которое и используется для наложения гаммы на открытые данные - гамма равна ED1BF48A532734A7
     
  4. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    metcenger
    Сами выяснить вряд ли сможем... Я в асме - полный ноль. Если только уважаемый OLS заинтересуется и нам поможет в этом! Надо проанализировать полностью файлы-исходники Винокурова...

    Меня тоже терзают сомнения... Но, так как у нас двоих совпало, а со стороны участников этой темы возражений не последовало, то будем считать, что мы правы...
    А насчет проще... :) Встретимся лет через 40 в РАН, там между делом и придумаем новый ГОСТ :)

    Проверяй третью синхропосылку... :)
     
  5. irrona

    irrona Member

    Публикаций:
    0
    Регистрация:
    26 май 2004
    Сообщения:
    178
    Адрес:
    Тирасполь
    Вчера ради интереса запускал винокуровские утилиты gost32 и xgost32. Командная строка вида:
    Код (Text):
    1. gost32 es /kфайл_ключа /cфайл_таблицы файл_с_входными данными файл_с_выходными_данными
    Давал на вход различные ключи и таблицы, входной файл содержал 8 нулевых байт. Постоянно на выходе получал одно и то же значение:
    Код (Text):
    1. 15 07 3E 4C AF E8 F4 14
    Похоже, что эти утилиты входные параметры, касающиеся файла ключа и файла таблицы подстановок, просто игнорируют.
     
  6. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    irrona
    Я, честно говоря, уже сплю на ходу, у нас уже час ночи... Но завтра постараюсь смоделировать и отписаться. Там были какие-то нюансы, насколько я помню...
     
  7. metcenger

    metcenger New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2008
    Сообщения:
    87
    kapger
    ))) третья идентична тоже. Все совпало.
    Какой конкретно файл на асме надо глянуть- я немного в нем понимаю, если, конечно, не закручено в коде так, что не разобраться...
    Так у него же были вроде как реализации на Си?
     
  8. metcenger

    metcenger New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2008
    Сообщения:
    87
    kapger
    ))) не, в РАН мне делать точно нечего, я диссертаций не пишу )))
    ... но помечтать, конечно можно )))
    Мне просто интересно стало как работает шифр, вот и увлекся изучением, так, для себя больше.
     
  9. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    irrona
    Попытался смоделировать ситуацию. Исходный текст содержал 8 нулевых байт, как и у Вас.
    - взял абстрактные файл ключей и таблицу замен, получил 27 3B 85 ED 86 1E 01 BA
    - изменил один байт в файле ключей, получил: 5C 4A 1B 3D F2 44 55 8E
    - поменял местами два байта в таблице замен, получил: 5D 14 4F CD AA 1F 2F 4E
    Так что не могу с Вами согласиться... Давайте разбираться подробнее. Какие имена файлов (по моему какая-то засада была с именами файлов, не соответствующими формату "8.3") ключей и таблицы замен? Какой размер этих файлов? Попробуйте привести эти файлы здесь. А нет ли какого сообщения об ошибке при выполнении операции шифрования? Изменяется ли дата и время модификации выходного файла?
     
  10. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    metcenger
    Какой конкретно, сказать точно не могу - там очень много файлов :)
    http://www.enlight.ru/crypto/articles/vinokurov/__gost.htm

    Если есть желание и возможности, то вперед! Давай протестируем по шагам точно также, как мы тестировали нас друг с другом...
     
  11. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    Ну что? Народ, похоже, несколько выдохся...
    Все молчат и думают?

    metcenger
    Не слабо пообщались участники темы между собой? За период с 8-го числа по 19-е число в этой теме выдано около 200 сообщений!
     
  12. kapger

    kapger New Member

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

    Во-первых, видно, что тема очень актуальная! И если мы с вами через полгода отойдем от этой темы, то вопросы реализации ГОСТа будут еще долго будоражить головы других участников...

    Во-вторых, может мы с вами сделаем статью, в которой изложим все то, что мы выяснили в этой теме и что было несколько непонятного и неясного, особенно в случае с гаммированием? Ну и опубликуем ее в соавторстве в каком-либо ВАКовском журнале... Вам приятно будет, а мне - лишний плюсик в копилку публикаций для будущей диссертации...

    Я почти готов начать. Кто пойдет в компанию?
     
  13. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    ВАКовский журнал это не пропустит, т.к. здесь нет научной новизны - исключительно решение инженерной задачи.

    Максимум, что можно Вам посоветовать - вопросы оптимизации (по скорости / по размеру кода / по занимаемой оперативной памяти) именно под Вашу аппаратную платформу. К сожалению, ГОСТ 28147-89 имеет не самую интересную для задач оптимизации структуру, так что и тут на мой взгляд результаты станут не настолько интересными, чтобы их стоило публиковать как научную статью.

    Лучше оформите это хорошим мануалом с понятными картинками и обозначениями и выложите в сети на крупных серверах по ИТ-тематике - после тиражирования их читают сотни и тысячи людей.
     
  14. kapger

    kapger New Member

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

    Вопрос ко всем участникам:
    Ну а по тестированию своей реализации с реализацией Винокурова с подробным разбором его файлов на асме мы как? Продолжать будем? Кто возьмется?
     
  15. metcenger

    metcenger New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2008
    Сообщения:
    87
    kapger
    Насчет статьи- я тоже думал, так как нету в сети от и до, да ещё разжевано чтобы было. Когда меня впервые заинтересовала криптография, купил книжку по ней. Там чуть было про код Цезаря, и... пошли формулы сплошные... Т.е. если писать, то сначала- для чего нужен блочный шифр типа ГОСТа- для гаммы! а гамма- чтобы иметь нереально большой ключ с которым и складывать данные, т.к. один ключ со всеми данными несколько раз подряд нельзя складывать... типа того. Вопрос- где выкладывать? Или если работать собираешься в криптографии, имеет смысл своей странички.

    Теперь вопрос, правильно ли я понимаю, что данный шифр, и его гамма- имей я хоть миллион гамм подряд, начиная с первой, зная алгоритм, никак я не смогу никакими заходами сбоку шифра, диффиренциальным криптоанализом и прочими, узнать какая будет милллион первая гамма? Т.е. задумано все так, что следующую гамму можно узнать только полным перебором всего ключевого и табличного пространства?

    Я посчитал, если мой двухядерный современный бук миллиард раз по циклу проходит за 30 минут, что я считаю быстро, то только ключи 2^64 он переберет за миллион с небольшим (относительно :)) лет!!!

    Тем более мне не понятны выпадки Ruptor в сообщ. 33 LOL :)
    http://www.wasm.ru/forum/viewtopic.php?id=24074&p=2

    а по файлам Винокурова, я выкачал Си вариант, он даже при компиляции ругается на скобку! О чем тут ещё можно говорить?
     
  16. metcenger

    metcenger New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2008
    Сообщения:
    87
    kapger
    конкретно дай файл, в котором надо код просмотреть. Можно Асм, можно Си. Си- лучше
     
  17. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    metcenger
    В криптоанализе я не силен, так что ответить не могу...
     
  18. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Всё верно. В этом суть поточного шифрования.
     
  19. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Я не отказываюсь от анализа ASM-кода, т.к. сам предпочитаю писать подобные вещи (сжатие, шифрование) на ASM-е. Только вопрос - что именно Вас интересует в тех исходниках ? Заставить их "заработать" ?
     
  20. kapger

    kapger New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2009
    Сообщения:
    135
    OLS
    Интересует провести тестирование своего варианта реализации ГОСТа с вариантом Винокурова в режиме простой замены и с гаммированием с обратной связью. Для чего (главное!) требуется понять в каком порядке и как именно располагать ключевые элементы в файле ключей и в файле таблицы замен. И после этого (возможно по шагам в отладчике) добиться полного схождения результатов своего варианта реализации ГОСТа с вариантом Винокурова для простой замены на примере из ГОСТ 34.11, а в режиме гаммирования можно на том примере, который мы в этой теме обсуждали...