LINUX.ORG.RU

ГОСТ Р 34.11-94

 


0

2

Пытаюсь понять алгоритм хеш-функции из ГОСТ Р 34.11-94. Текст можно посмотреть здесь: http://docs.cntd.ru/document/1200004857 . Пытаюсь разобрать пример А.3.1. Разобрался до генерации ключа К1, а вот сгенерировать ключ К2 не получается. Согласно тексту ГОСТ-а нужно XOR-ить Х1 и Х2. Мой вопрос: Что тут есть Х1 и Х2? Насколько я понимаю Х1 здесь 6E 65 6C 20 73 69 68 54, а Х2 это 3D 68 74 67 20 73 69 20. Так это или нет?


Он же вроде устарел уже?

Слышал, что в текстах криптогостов есть опечатки из-за которых только по ним нельзя точно повторить реализацию.

praseodim ★★★★★ ()

Вынужден ещё просить помощи. Разбираюсь дальше. Понял как вычислять ключи K1, K2, K3 и K4. Очередной затык: Цитирую: «Осуществляют зашифрование 64-битных подслов блока H с помощью алгоритма по ГОСТ 28147. Блок h1 = 00000000 00000000 зашифровывают на ключе K1 и получают s1 = 42ABBCCE 32BC0B1B.» Тут для ГОСТ 28147 применяется режим простой замены. Всё бы хорошо, но в режиме простой замены помимо ключей K1, K2, K3 и K4 нужена ещё таблица блока подстановки K, которая является секретной и про неё ничего не говорится в ГОСТ Р 34.11-94. Скажите, пожалуйста, какую таблицу блока подстановки тут нужно применять?

czan ()
Ответ на: комментарий от ustas1

Вы, таки, будете смеяться. Я запостил такую же тему, что и здесь на dxdy.ru в разделе о криптографии. Так тему вообще удалили! Как будто я обсуждаю не криптографическую систему, вываленную в общественный доступ самим государством, а технологию производства и программную начинку «Арматы».

czan ()
Ответ на: комментарий от czan

Совет, если позволите.

таблица блока подстановки K, которая является секретной и про неё ничего не говорится в ГОСТ Р 34.11-94

Она не секретная. Критерии генерации данной таблицы совсекретны (уровень секретности выше, чем просто «секретно»). Были и остались. Считается, что могут быть как «хорошие», так и «плохие» (недостаточно криптостойкие) таблицы замен.

Но, в принципе, Вы можете взять таблицу замен из более нового шифра «Магма» (она там определена для реализаций), или вообще использовать хэш-функции из «Стрибог». Это более новые «наследники» рассматриваемых криптоалгоритмов.

Если то чисто «для себя», то такой подход оправдан. Если это для «коммерческой тайны» (предполагается сертификация разрабатываемого программного средства) то тоже. Остальными случаями можете пренебречь.

anonymous ()
Ответ на: комментарий от czan

О! Ещё вспомнил!

Можете таблицу замен попробовать взять из открытых реализаций. Где-то по интернету бродили (или у Шнаера видел, не помню уже) таблицу замен, якобы сбербанковскую. Можете её примкнуть.

Как будто я обсуждаю не криптографическую систему, вываленную в общественный доступ самим государством

Всё верно. =))) Знание криптоалгоритма ни как не должно быть связано с ключом, а таблица замен может рассматриваться как отдельная часть ключа. Для учебных целей подойдёт любой из открытых источников. Для реализации для боевого применения есть специально обученные и просветлённые люди.

anonymous ()
Ответ на: О! Ещё вспомнил! от anonymous

Можете таблицу замен попробовать взять из открытых реализаций. Где-то по интернету бродили (или у Шнаера видел, не помню уже) таблицу замен, якобы сбербанковскую.

Че так сложно? В gnutls вроде был этот ГОСТ.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Да не. Нормально.

Че так сложно? В gnutls вроде был этот ГОСТ.

Конечно реализации есть. Есть и с интринсиками (и для штеуд и для арм), есть и вовсе аппаратные реализации. Но что там с таблицей замен, вот в чём вопрос. А для сетей Фестеля это довольно важный вопрос. =)

С другой стороны, я просто аккуратно постарался объяснить ТСу непонятную для него реакцию на его вопросы. Да, сейчас есть «магма», которая ровно по той же причине не всем нравится. Но этот момент (сохранение критериев генерации таблицы в тайне), говорит о том, что для ряда применений не нужно задавать вопросов. И нет, государство не слило безоглядно всё что можно и ненужно в Сеть. Для частного использования или комм. тайны, «магмы» хватит. Или «Стрибога».

Ну а остальное… Остальное это остальное. =)))

anonymous ()
Ответ на: Да не. Нормально. от anonymous

Т.е. хотите сказать, что кровавая гэбня держит две версии таблиц, одну для себя, другую для народа. А что если NSA вторую поломает, что тогда? :)

Harald ★★★★★ ()
Последнее исправление: Harald (всего исправлений: 1)
Ответ на: комментарий от Harald

Это уже было. =)))

В начале 2000-х была попытка. Была такая хладная история, что АНБ пыталось «купить ГОСТ». На самом деле, покупать ГОСТ они и не пытались. Он к тому времени был довольно широко опубликован. Они как раз пытались купить именно генерацию таблиц. Судя по всему, не вышло.

Тут дело не в одной-двух таблицах. Тут вопрос в том, как сгенерировать сильную таблицу и в методологии доказательства или опровержения. Как понять – она сильная или слабая? Это хорошая математика. Сильное колдунство… =)))

Что-то мне подсказывает что боевые треножники гебни кровавой под надёжной защитой медведей с боевыми и остро отточенными балайками наперевес… =)))

anonymous ()
Ответ на: Это уже было. =))) от anonymous

Тут дело не в одной-двух таблицах. Тут вопрос в том, как сгенерировать сильную таблицу и в методологии доказательства или опровержения. Как понять – она сильная или слабая? Это хорошая математика. Сильное колдунство… =)))

Если методология сильная, то скрывать должно быть нечего )

Harald ★★★★★ ()
Ответ на: комментарий от Harald

А зачем?

Зачем «кормить» противника информацией? Лишнее это.

К тому же, есть сугубо формально-юридический аспект. В РФ нельзя запатентовать «идею» или «алгоритм». Можно запатентовать реализацию. Поэтому, идеи и алгоритмы оседают… там, где надо. ;) Например, та же Астра Линукс есть в варианте «для всех» и в варианте Special Edition. С NDA и прочими ограничениями. Минимизация утечек. И РусБитТех там неплохо поработали над альтернативой SELinux.

С другой стороны, АНБ тоже не особо разбегается делиться информацией. И делятся только тогда, когда уж совсем-совсем припрёт. Понятный и оправданный подход. И поверьте, там много того, о чём можно только догадываться. С обеих сторон.

anonymous ()