All streams
Search
Write a publication
Pull to refresh
-5
0
habr is dead. @yleo

/dev/null

Send message

Подозреваю что 100-200 ms это в Windows, а 18-35 ms в Linux и других ОС.

Нисколько не пытался ни выведывать что-либо, ни как-либо Вас задеть.
Просто из контекста и из предыдущих сообщение (IMHO) не следует что серьезно занимались плазмой в НИИ.
В частности, потому что для люминесцентных ламп не нужна плазма "стабильнее" чем без существенных 100-герцовых пульсаций и их гармоник (устранение которых сложно отнести к проблеме стабилизации плазмы).

В люминесцентных лампах есть примерно три разных "нестабильности": (1) пульсации 100 Гц из-за питания переменным током 50 Гц, (2) турбулентные флуктуации (конвекция газа, броуновское движение, внешнее электро-магнитное излучение и т.д.), (3) автоколебательный процесс в плазме.


С первым (пульсации 100 Гц) легко бороться питая ламу более-менее постоянным током (http://eco-e.ru/goodies/stati/svetovaya-sreda/20-pulsatsiya-lyuminestsentnykh-lamp).
От второго и третьего избавится примерно невозможно, но можно существенно уменьшить.

Немного не так.


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


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


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


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

Всё верно.
Говоря о "зависящих от данных циклических сдвигах" именно это я и имел в виду.
Умножение тоже хорошо добавляет диффузии, из расчета "попугаев на операцию".


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

Взаимно однозначное отображение конечного множества в себя называется перестановкой (подстановкой) элементов этого множества.


Поэтому не исключена "терминологическая путаница" между перестановкой бит (в P-блоках) и биективным отображением множества (перестановкой элементов), которое (в частности) реализуется подстановкой в S-блоках.


Или еще больше запутал?


P.S.
Мимопроходил.

Будет дерьмовая ситуация, когда вам надо коннектиться к национальным сайтам стран N1 и N2 с шифрами K1 и K2, при этом вы не хотите использовать K1 и K2 на других сайтах.

Это не примерно неизбежная проблема "крипто-зоопарка".


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

Есть несколько технологических решений. Один из вариантов "международный сертификат".
Суть в том, что сертификат подписывается несколькими CA или международным ООН-CA, при этом внутри несколько подписей по нескольким крипто-схемам и несколько тегированых наборов шифров для разных стран.


Соответственно, на стороне клиента проверяется "родная" подпись и выбирается "правильный набор шифров". MITM может вклиниться только взломам соответствующую подпись.

Ох, этак мы скоро смысл жизни будем обсуждать.


Давайте обозначим как Т1 мой тезис "Стремно — это когда вы не можете выбрать набор шифров и приоритет их использования из-за ограничений инфраструктуры".


Набор шифров выбирают клиент и сервер на основе того, что в них реализовано.

Вот смотрите, ваше описание одной из раздновидностей "Downgrade attack" начинается с условия, которое попадает под Т1.


Коммуникации на этом этапе еще не защищены шифрованием.
Итак, допустим, сервер говорит вам, что поддерживает только один шифр.
Вы тоже его поддерживаете. Вы начинаете использовать этот шифр, предложенный сервером.

Ага, еще одно условие попадающее под Т1.


Только это был не сервер, а MITM прокси.
Шифр был слабым. В результате, вас поимели.

Теперь предположим, что согласно Т1 я имею возможность не использовать те шифры (их версии/подверсии и все прочие потроха), к которым не имею доверия — всё, атаки не получится.


Если я не слишком умный/продвинутый, то список "правильных" шифров мне сообщит/порекомендует регулятор.


Я, думаю, я верно понимаю суть downgrade attack.
Если нет — исправляйте.

Ну можно придраться, что вы описываете один из подвидов downgrade attack, который является одним из сценариев MITM. С другой стороны, это пересекающиеся множества, соответственно вопрос сугубо из области таксономии.


Так-что "суть" downgrade attack вы понимаете, но вот корень проблемы и рецепт лечения видите совершенное неверно.


1) Некое государство N стандартизирует у себя некий блочный
шифр K.
N переводит все национальные SSL сервера на шифр K.
2) N добивается включения шифра K в OpenSSL.
Шифр K становится доступен в браузерах при установке SSL соединения.
3) Теперь при подключении любого человека на Земле можно провести MITM атаку, downgrade атаку, и заставить его браузер использовать шифр K при установке SSL соединения.
4) Шифр K содержал закладку, которую никто не заметил.
Туземцы из N тихонько имеют весь мир.

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


Если будет MITM без поддержки "правильных для меня" шифров или без умения их вскрывать, то либо я не смогу пользоваться скомпрометированной сетью, либо наличие MITM ничего не изменит.
Если же MITM сумеет вскрывать "мои правильные шифры", то проблема у моего регулятора и/или у меня (от "большого" ума).


Ситуацию можно ухудшить.
Пусть у нас несколько государств Ni и у каждого свой шифр Ki, на котором работают национальные сервера.
Что теперь делать?

Лечить инфраструктуру, включая OpenSSL и прочие аналогичные проекты, не допуская какое-либо навязывание или дискриминацию национальных стандартов.


Так что я думаю, никто не будет включать национальные шифры в OpenSSL.

Тогда OpenSSL умрет как международный проект. Т.е. будет форкнут или станет внутренним проектом страны "с самыми правильными шифрами".

Ну не "полная хрень", а просто не совсем понятно зачем Leo Perrin, показав структуру в s-box, "еще раз" взялся убеждать всех в её наличии посредством хайп-чемпионата на поиск самого короткого генерирующего алгоритма.

Циклически сдвиги зависящие от данных.

Меня поражают ваши упорные попытки оправдать Стрибог/Кузнечик, все эти «не следует», «не доказано».

Оправдывать нет необходимости, ибо (еще раз) показанные структуры могут примерно равновероятно говорить как о стойкости к каким-то атакам, так и о наличии бэкдора.


рассуждения про алгебру уровня форумного тролля, поэтому я и высказался.

Вам достаточно корректно были даны простые пояснения (aka vulgarized explanation) о том, что по критерию насколько "много букв" или "мало букв" в "описании" (системе уравнений) нельзя судить о трудоемкости решения и стойкости крипто-схемы.


Ведь авторы реально соврали, осознанно или нет.

Опять манипуляция, нельзя "соврать несознательно".
Свое мнение относительно авторов и происхождения s-box уже многократно озвучивал.


Мне интересно, что бы вы сказали, если бы в шифре разработки US такое нашли.

Ни разу не было и вот опять.
Т.е. "если бы" — не то склонение.


Орали бы на весь хабр.

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


Будем включать всякие туземные шифры в продукты, которыми пользуется весь
мир?

Это что, крипто-шовинизм?


Что дальше? Индийские шифры, пакистанские шифры?

Да, если они соответствующим образом сформируют/оформят свои национальные стандарты и RFC.
Иначе говоря и в том числе, если регуляторы в этих странах перестанут доверять AES и т.д.


Это очень стремно, с учетом возможности downgrade attack.

Стремно — это когда вы не можете выбрать набор шифров и приоритет их использования из-за ограничений инфраструктуры.
"downgrade attack" — здесь это манипуляция, FUD или недопонимание.


Или может добавим лишние ключи для сборки, типа CONFIG_RU_CRYPTO?
Тем самым усложняя и так непростой продукт и жертвуя безопасностью?

Продукт усложнили до нас, мягко говоря — это отдельная боль и история.
"Жертвовать безопасностью" — здесь это манипуляция, FUD или недопонимание.


Может, вообще сделаем локализованные сборки OpenSSL, для каждой страны своя?

Если координаторы "сообщества разработчиков" OpenSSL (и других проектов) будут против подключения национальных крипто-схем (не важно по каким причинам), то это неизбежно.

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

Давайте переформулирую:
Простота/сложность внешнего вида уравнения, системы уравнений или крипто-формулы примерно не коррелирует со сложностью решения или проведения атаки.


the linear layer of Streebog as a matrix multiplication in the exact same field as the one used to define pi

Тут я должен признать свой ляп из-за невнимательности, т.е. читая работу Perrin-а я смотрел на инфу о кузнечике, а когда писал вам "какие преобразования, структуры или шаги в Стрибог или Кузнечике коррелируют" не исключил Стрибог.


На всякий, еще раз повторю, во всей истории меня напрягает не простота каких-то формул, а факт того что (вероятно) разработчики НЕ являются авторами s-box и (пока) НЕ объяснили его происхождение после раскрытия структуры.

В ваших постах очень много фраз «не доказано/не следует».
А давайте тогда просто считать надежными все шифры, которые еще не взломаны.
Вы же любите бинарную логику? Шифр либо уже взломан, либо надежен. Классно, да?

Давайте еще раз переформулирую.
Наличие структуры в s-box может равновероятно говорить как о стойкости к каким-то атакам, так и о бекдоре.
Поэтому без аналитических доказательств говорить что наличие структуры "подозрительно" или "плохо" — это либо FUD и манипуляция, либо недопонимание.
В массе других случаев это может быть "подозрительным", но не здесь.


Другое дело — сам факт "отрицания" наличия структуры при заходе в международный комитет. Но свои варианты причин уже озвучивал.


Только вот криптоанализ — дело длинное и дорогое.
От первого подозрения до полноценного взлома иной раз проходят десятки лет.
Криптоанализировать все шифры нет возможности, не хватит спецов.
Поэтому подход «не доказано/не следует» не прокатывает.

Тут явная манипуляция — попытка навязать неверные выводы озвучив пару верных утверждений.


Прокатывает отбрасывать шифры при первых подозрениях.
Шифров не жалко, новых нарожают.

«А сегодня криптоанализом не все могут заниматься. Вернее заниматься могут не только лишь все, мало кто может это делать» — вот буквально это и наблюдаем ;)


Хотя никто не запрещает заниматься анализом (каких угодно шифров) и публиковать результаты, что и сделал Leo Perrin. Кто угодно может оценивать эти результаты, делать выводы и т.д.


Однако, часть работы регулятора связанных с ним структур в том, чтобы обеспечить выполнение соответствующих протоколов, в том числе обеспечить криптоанализ и доказательство стойкости для национальных крипто-стандартов со стороны "специально обученных людей". При этом соответствующие обсуждения и доказательства не обязаны быть публичными.


В первую очередь стоит отбрасывать шифры, разработчики которых лгут.
Ложь — это преднамеренное искажение информации.
Как уже писал, я не склонен считать что "официальные" разработчики Стрибог/Кузненик знали о структуре s-box. Проще говоря, думаю, они не являются авторами s-box.
А вот вопрос "как так получилось" — как раз становится более интересным.
Авторы шифра/хеша всего лишь соврали о его дизайне.
Подумаешь, проблема, правда?

IMHO вы пытаетесь "громче хайпануть", а НЕ разобраться в ситуации,
Свое отношение к этой ситуации и возможные причины уже излагал.


Это все культурные традиции.

Теперь точно один минус от меня.


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

Стрибог/Кузнечик уже "стандартизированы" в документах российского регулятора и RFC.
Этого уже IMHO достаточно как для включения реализации в существующие открытые реализации SSL/TLS, так и для разработки отечественных.
При этом Стрибог/Кузнечик вовсе не обязаны быть международным стандартом, быть одобренными или всем нравиться.


Тем не менее, попытка "зайти в ISO/IEC" со скрытой алгебраической структурой, дискуссии об отсутствии такой структуры и попытка объяснить её обнаружение "просто совпадением" — для меня выглядят (мягко говоря) странными и нерациональными. Поэтому я склонен предполагать наличие каких-то (пока) скрытых причин или обстоятельств, начиная от банального незнания авторами факта наличия структуры (получили готовый s-box), до 275 УК и даже игр разведок.


Но всё это, до аналитических доказательств, не говорит о наличии бэкдора или, наоборот, о какой-то стойкости к (пока) нераскрытым атакам.

Рискну пока идут тесты ;)


Leo Perrin нашел "структуру", из чего следует что у Стрибог/Кузнечик есть определенные "свойства".
Эти свойства изложены в разделе 2.2 его статьи.
Что в этом "плохого" описано в разделе 2.3.
Если из предыдущего раздела и заключительного 2.4 попытаться сделать выводы, то:


  1. Основная проблема в том, что "структура есть", а авторы Стрибог/Кузнечник утверждали обратное.
  2. Условия для бэкдора (по методу из диссертации Арно Банье) в Кузненике не найдены.
  3. Взаимодействия s-box c линейныйм слоем (всем остальным) в Стрибог не понято.
  4. Векторы атак не найдены, но "подозрительно, ибо не понятно".
  5. Ай-я-яй, так нельзя...
Я ничего не путаю.
Алгебраическое описание — это также инструмент оптимизации системы уравнений в целях взлома.

Нет, вы всё-таки путаете "описание алгебраической структуры" с чем-то из списка: "описание алгебраической атаки", "доказательство стойкости против таких-то видов атак", "системой уравнений или её выводом".


Вам накидать статей, как шифры семейства ARX пытаются ломать через алгебраические атаки?

Не надо, у меня своё есть )


Там как раз основная проблема, что после некоторого числа итераций алгебраическое описание плохо работает, поэтому ломают алгоритмы с урезанным числом итераций.

При меньшем числе итераций более простая система уравнений. Соответственно её можно немножко по-SAT-ить, по-коррелировать, по-rainbow-ить и т.п.


… Читаем Leo Perrin ...

Вот цитата из его текста:


First of all, I would like to emphasize that I have not found an attack leveraging these properties. Still, I don't know the answer to the question above...

Perrin нашел структуру.
Но из наличия структуры не следует, что какая-то атака становится проще.
Термин "подозрительно" тут не совсем уместен, это FUD.
Утверждение что "атака возможна" — это "не понял / не понял, но осуждаю", тоже FUD.


Тем не менее, изначально FUD конечно пошел от авторов Стрибог/Кузнечик.
И теперь, после работы Perrin, стало очень интересно.
Ведь кроме упомянутой ранее 275 УК могут быть еще два варианта: продвинутые авторы S-box и/или продвинутая контрразведка.


Разбираетесь в дифференциальном криптоанализе — тогда welcome.

Основная проблема в том, что «структура» S-box Кузнечика коррелирует со «структурами» других шагов алгоритма.

Для точности: Этот многострадальный S-box был сделан для Стрибога, а потом использован в Кузнечике.


Не могли бы мы чуть более подробнее пояснить, какие именно, на ваш взгляд, преобразования, структуры или шаги в Стрибог или Кузнечике "коррелируют" с процедурой генерации S-Box?


Это повышает вероятность того, что существует достаточно простое алгебраическое описание работы шифра.

Как уже писал "про лотерею" — наличие структуры можно считать доказанным фактом. Поэтому "достаточно простое алгебраическое описание" существует с такой достоверностью, что её вероятность крайне сложно повысить.


Тот, кому известно просто алгебраическое описание, может взламывать шифр.

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


Направление мысли понятно?
Нет (

Тут вы немного путаете "божий дар с яичницей".


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


Однако, мыслимое вами "алгебраическое описание" не будет доказательством наличия/отсутствия тех или иных свойств, хотя (возможно!) позволит легче выполнить такое доказательство (публичный аудит).

Если без шуток, то ваше "направлением мысли" НЕ в сторону логики, алгебры и метематики.

Не-не, там ещё хуже — только два возможных значения у каждого бита и только две базовые операции с ними (причем одна вообще унарная!).


;)

Information

Rating
Does not participate
Location
Севастополь, Республика Крым, Россия
Date of birth
Registered
Activity