LINUX.ORG.RU

Streebog GOST R 34.11-2012 backdoor

 ,


1

1

Добрый день.

Решил тут посмотреть насчёт стандартного алгоритма Streebog GOST R 34.11-2012, который недавно включён в ядро Linux.

На Википедии есть некоторые результаты криптоанализа на коллизии, и результаты нахождения прообраза по хэшу, https://en.wikipedia.org/wiki/Streebog#Cryptanalysis

Насколько серьёзны упомянутые замечания специалистов по ИБ?
[1] https://eprint.iacr.org/2014/879.pdf
[2] https://twitter.com/bascule/status/1094830326201835521
[3] https://mailarchive.ietf.org/arch/msg/cfrg/9chS-QQN_heVKwCQFYBupHlrHUw
[4] https://mailarchive.ietf.org/arch/msg/cfrg/1L7W2lPu4MtcHOfjoTFn_mmGPG4
[5] https://web.archive.org/web/20180304041708/http://wwwold.tc26.ru/ISO_IEC/Stre...

Т.е. насколько серьёзны заявленные сложности поиска коллизий/прообразов:

... AlTawy, et al, found 5-round free-start collision and a 7.75 free-start near collision for the internal cipher with complexities 2^8 and 2^40, respectively, as well as attacks on the compression function with 7.75 round semi free-start collision with time complexity 2^184 and memory complexity 2^8, 8.75 and 9.75 round semi free-start near collisions with time complexities 2^120 and 2^196, respectively.

Wang, et al, describe a collision attack on the compression function reduced to 9.5 rounds with 2^176 time complexity and 2^128 memory complexity.



Последнее исправление: Mirage1_ (всего исправлений: 1)

Совок

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

anonymous
()

баскдоор

Значит ли это, что алгоритм не взламываемый? Что может служить лучшим доказательством, чем трепыхания врагов?

anonymous
()

В ядре, к слову, есть и SHA-1,

https://github.com/torvalds/linux/blob/b71acb0e372160167bf6d5500b88b30b52ccef6e/crypto/hash_info.c

Для которого вообще имеется https://shattered.io/

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

EXL ★★★★★
()

белки истерички подъехали. тебя ж никто не заставляет этим пользоваться.

anonymous
()

Как мне кажется, самым кошерным вариантом будет - взять несколько функций от разных (враждующих) лагерей и наложить одна на другую. Так можно будет с очень высокой вероятностью утверждать, что ни у ФСБ ни у ЦРУ не будет возможности их реверснуть. Тут, конечно, будет просадка по производительности, но, как говорится, что-то находим, что-то теряем...

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

белки истерички подъехали. тебя ж никто не заставляет этим пользоваться.

Сегодня не заставляют - завтра заставят. Для хранения персональных данных же и, безусловно, защиты детей.

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

Чисто технически криптостойкость при этом падает. Предсказуемость возрастает или что-то вроде того. Я в этом не разбираюсь, но звучит логично.

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

Чисто технически криптостойкость при этом падает.

Да.

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

тебя ж никто не заставляет этим пользоваться.

м? Я выбираю себе функцию хэширования, чтобы сервис был надёжным.

Mirage1_
() автор топика
Ответ на: комментарий от EXL

Вот с тобой я согласен. Конечно, не всё написано в книжках для вузов.

а что скажешь насчёт JavaScript-реализации -

Looks like something went wrong!

We track these errors automatically, but if the problem persists feel free to contact us. In the meantime, try refreshing.


короче, гитхаб чё-то навернулся, вот по этой ссылке: https://github.com/rudonick/crypto/blob/master/gostDigest.js

GOST R 34.11-2012 hash function with 512/256 bits digest, Pure Javascript implementation of WebCrypto API interfaces and Public Key Infrastructure for GOST algorithms (Russian Cryptographic Standards) by Rudolf Nickolaev.

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

а что скажешь насчёт JavaScript-реализации -

Я не являюсь криптоаналитиком или ИБ-специалистом и сказать ничего не могу. Это просто был комментарий «к слову».

м? Я выбираю себе функцию хэширования, чтобы сервис был надёжным.

Git выбрал SHA-256, например,

https://github.com/git/git/blob/master/Documentation/technical/hash-function-transition.txt

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

м? Я выбираю себе функцию хэширования, чтобы сервис был надёжным.

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

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

Git выбрал SHA-256, например,

Ждём новость о том, что гитхаб забанили в РФ. Никогда такого небыло, и вот опять.

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

Я выбираю себе функцию хэширования

Используй несколько функций. Только не так, как выше предлагали, а параллельно. Вероятность подобрать коллизию одновременно в двух разных алгоритмах хэширования ничтожна. Так что даже если подберут коллизию к md5 то не сойдётся по sha1 и наоборот.

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

Дык, в этом и суть. Правда, мне не Digest нужно, на самом деле. Поэтому и спрашиваю про ГОСТ, как оно нынче.

Mirage1_
() автор топика
Ответ на: Совок от anonymous

на конкурсе AES участники должны были обосновывать свои решения перед спецами со всего мира

Причем тут спецы со всего мира? AES — это американский стандарт.

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

Что значит «параллельно» в данном случае?

Считаешь и хранишь две суммы от данных. А не сумму от суммы данных.

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

Не вскроют, а подберут коллизию к ГОСТУ. Которая обломается на втором алгоритме хэширования. А если угадают точно, то и sha512 не особо поможет.

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

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

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

А если не гост, то ты сразу же готов поставить на кон что там нет дыр от АНБ.

Вероятность того, что я интересен АНБ стремится к нулю. Вероятность же того, что мной заинтересуется местный майор, чтобы раскрываемость повысить – вполне осязаема, учитывая, что у нас сажали даже за лайки с репостами.

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

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

Не ищи здесь того, что тебе так хочется кому-то доказать. У меня еды для тебя нет.

На Лахте-2 стали нормально платить или ты идейный?

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

Так truecrypt делал(как вариант), если я правильно понял.

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

Вероятность того, что я интересен АНБ стремится к нулю.

Хорошая мантра, но у местного майора на карандаше есть куча идиотов с репостами, чтобы повысить раскрываемость. Или ты один из них? Тогда это много объясняет. Но, если ты заинтересуешь майора, то тебя просто возьмут с пакетом герыча на кармане, а дело ты будешь подписывать с паяльником в жопе, причём его даже включать не понадобится. И сдадут тебя твои друзья, подельники, или бывшая. Никаких бэкдоров не надо.

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

Зачем ты *мне* это писал? Я писал совсем про другое. Я даже ГОСТ применять не предлагал нигде. Или у тебя совсем всё плохо? Кстати, ты знаешь почему 3des? Почему именно 3? И какую хеш-функцию лучше всего применять на последний раунд?

если ты наложишь функции хеширования не одну на другую

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

На Лахте-2 стали нормально платить...

Это твоё место работы?

или ты идейный?

Просто грамотный.

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

В какой-то момент не остаётся выбора и таки придётся пользоваться. Люди, которые пишут: «тебя не заставляют же»; обычно так говорят об аналоге для фекалий в АйТи.

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

Если ниженаписанное общее мнение, то почему их не разгонят, как институт? Туда же и РКН бы.

майора на карандаше есть куча идиотов с репостами, чтобы повысить раскрываемость. Или ты один из них? Тогда это много объясняет. Но, если ты заинтересуешь майора, то тебя просто возьмут с пакетом герыча на кармане, а дело ты будешь подписывать с паяльником в жопе, причём его даже включать не понадобится.

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

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

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

Дык выбора уже нет если продавать услуги криптографии. Особенно если это должна быть и криптография и линукс. Тут проще за бугор и в облака. Или самому писать/копипастить и платить за сертификацию.

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

Такое поведение совпадает с линией партии и является общественно приемлемым. Поэтому никого никогда не разгонят.

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

почему их не разгонят, как институт?

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

Туда же и РКН бы.

А тут всеми руками за. Совершенно бестолковое и вредное заведение.

Кстати, а что ты фразу про подельников и бывшую не процитировал?
Она-то там как раз базовая.

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

А можно для недалеких мимокрокодилов про снижение стойкости к подбору коллизий при применении нескольких хеш-функций для тех же данных?

Я писал про снижение в случае последовательного наложения. То есть a(b(c(X))), поскольку в этом случае для каждой последующей хэш-функции в качестве множества определения будет весьма куцее множество значений предыдущей хэш-функции.

но как сделать чтобы одни и те же данные являлись коллизией для обеих хеш-функций?

Коллизиями для обоих хэш-функций является пересечение множеств коллизий для каждой функции. Поэтому вероятность одновременной коллизии ниже.

Или ход моей мысли не совсем корректен?

Ход твоей мысли вполне корректен, но ты понял написанное мной с точностью до наоборот. Если ты про мой спор с анонимусом, то там два случая обсуждаем: a(b(X)) и a(X)∩b(X). Можно ещё обсудить до кучи например a(b(c(X)))∩d(e(f(X))) если есть желание.

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

Если разогнать, назначить хорошую зарплату и принимать по конкурсу, и в обязательном порядке ввести общественный контроль, то и без терморектального раскрываемость повысится в разы. А если еще дать им индульгенцию на посадки ЖуликовИВоров, да провести судебную реформу... ну это я замечтался (

Их место сразу же займут братки. И тогда вероятность подвергнуться терморектальному криптоанализу вне любого правового поля будет уже 100%.

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

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

Не надо передергивать! Все правильно сделала. Принимать заявления и расследовать преступления - их прямая обязанность. Мы им за это зарплату платим. С паршивой овцы... Опять же, поднимать хайп с заключением из травмпункта эффективнее.

funky
()

Специально TL;DR; не хешируйте сообщения ДЛИННЕЕ 2^105 йобибайтов и будет вам счастье.

Теперь чуть подробнее. Кароч, вспомним молодость :) Текст ниже не претендует на полноту понимания вспоминания крипты и прочяго.

Алгоритмически идеальная хеш функция должна требовать сложности вычислений для взлома пропорционально 2^n, где n - длина хеша (в данном случае 512). Взломом алгоритма считается всё, что позволяет уменьшить сложность хотя бы в 2 раза (на практике это всё равно будет овердохренакаксложно, но все математики - идеалисты).

Серьезных претензий к стрибогу по сути две:

1. Константы, которые должны быть вроде как сгенерированы абсолютнорандомно согласно белому шуму центра вселенной вроде как «подозрительно не белошумнорандомны». Кароч - подозревают, что вместо cat /dev/random кто-то сделал cat /dev/urandom. Печаль. Даже если действительно сгенерированные случайно константы на самом деле окажутся результатом какой-то хитромудрой функции (что вполне себе может быть на самом деле) - никого не интересует. Есть ли здесь «закладка» и можно ли ей реально пользоваться - никто не скажет.

2. Парни смогли сломать стрибог (вместо 2^512 можно сломать за 2^342 - если сообщение длиннее 2^185 байт и даже «всего лишь» за 2^266 для письма в 2^265 байт). Ну там правда по-пути надо решить её пару плёвых задач - вроде поиска конкретной коллизии на сообщениях длинной в 512 килобайт - ну чтобы атаку «запустить». Кстати, найти её пока получится только полным перебором всех вариантов таких сообщений (или теоретическим перебором всех хешей, что «короче» - 2^512 вместо 2^522), ибо по collision resistance описанной атаки нет - в статье есть лишь ссылка на общее описание атаки на использованный фреймворк, а можно ли его будет применить - хз. Ладно, пусть будет 2^256, как в статье на поиск мультиколлизии.

P.S. Я уже старый и примеры сложнее 2+2 считать без калькулятора разучился. Поправьте, парни, кто «в теме».

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

При определении «правильной защиты» не забывайте про второй вид атаки - подбор исходного сообщения. Ну это чтобы не вышло, что вы «защитившись от коллизий на 100% (не хешируя исходное сообщение ;)» забыли про «восстановление первоначального образа по хешу».

С точки зрения полной криптостойкости к двум видам атаки - второй хеш скорее вредит.

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

Но ведь подобрать сообщение, чтобы оно удовлетворяло 2 хешам сразу гораздо сложнее, чем удовлетворяющее одному хешу, разве нет?

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

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

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

Договориться с крышей (: да вы знатный сказочник, покуда крыше выгодно, вы договорились, иначе искать тебе новую. и таки молоды вы, иначе бы точно знали под какую крышу по итогу перешел весь бизнес и как это происходило

Принимать по конкурсу, общественный контроль, мухахахаха, да ты первый сблеванешь или так же деформируешь свой мозг, если наконец познакомишься с работой ментов. И на затравку, 90% преступлений - бытовуха, выводы делай сам

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

Ну и причём ко всему написанному тобой стрибог? Хомяков в сети на десять поколений майоров хватит.

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

второй вид атаки - подбор исходного сообщения

А какой первый, ну кроме снижения криптостойкости самого алгоритма хэширования?

«восстановление первоначального образа по хешу»

Какое ещё восстановление?

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

Видимо к тому, что для человека, проживающего в нашей стране, априори предпочтителен AES, а если и кровавого госдепа опасаешся, то ChaCha-Poly.

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

Она оказывается вполне симпатичная, а не как тут на аватарке.

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

Но ведь подобрать сообщение, чтобы оно удовлетворяло 2 хешам сразу гораздо сложнее, чем удовлетворяющее одному хешу, разве нет?

Сложнее.

Зато при наличии двух хешей подобрать ИСХОДНОЕ сообщение - легче. (с точки зрения математики и вероятности обнаружения уязвимостей в алгоритмах).

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

Первый - нахождение ДРУГОГО сообщения с тем же самым хешем.

«восстановление» - это найти неизвестное исходное сообщение М, хеш от которого равен известному.

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

хеш от которого равен известному.

Хеши короткие. Вероятно все хеши повторно хешированные уже посчитаны и записаны, и скорость их расшифровки равна скорости поискового запроса к БД.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.