А как насчет brute force?
А как насчет brute force?
В вашей системе злоумышленник, прослушивая канал, не имеет ни модуля, ни экспоненты RSA. Допустим. А что если у него есть супер-компьютер и он просто станет их перебирать, и в итоге найдет то число, которое Вы зашифровали (полу-ключ для RC4)?
Я имею в виду, что в уравнении Y = X^E mod M он имеет Y (результат прослушивания канала связи), будет перебирать X, E, M и в итоге найдет такую их комбинацию, которая даст известный ему Y?
В таком случае получается, что Вашу систему, пусть и чисто теоретически, но все же можно взломать?
Я имею в виду, что в уравнении Y = X^E mod M он имеет Y (результат прослушивания канала связи), будет перебирать X, E, M и в итоге найдет такую их комбинацию, которая даст известный ему Y?
В таком случае получается, что Вашу систему, пусть и чисто теоретически, но все же можно взломать?
- george
- Администратор
- Сообщения: 29
- Зарегистрирован: 04 апр 2024, 14:35
- Откуда: Киев, Украина
- Контактная информация:
Re: А как насчет brute force?
Да, злоумышленник может, конечно, перебирать варианты. Но вся проблема такого метода заключается в том, что набор (X, M, E), который решает данное уравнение не один. Их огромное количество (для случая 1024 бит). То есть, в случае полного перебора (осуществить который с практической точки зрения невозможно - ни сегодня, ни в обозримой перспективе) он получит миллионы правильных решений (указанного Вами главного уравнения RSA), и у каждого из этих решений будет свое X (отличающееся от остальных). Одно из них правильное. Но какое?
Вот Вам пример для малых чисел (демонстрирующий неоднозначность решения).
M=10, E=2. X=3.
M=27, E=2. X=6.
M=29, E=3. X=5.
Y = 9 (результат прослушивания); во всех случаях. Какой из этих вариантов правильный? Этого никто не знает.
В данном случае, brute force ничего не даст. Подобных "решений" будет колоссальное количество. Злоумышленнику просто не имеет смысла этим заниматься.
Re: А как насчет brute force?
Да, я тоже так думаю. Дело в том, что Ваше RSA фактически плотно отражает множество случайных заготовок 1000 битных ключей для RC4 само в себя (равномощное множество). Иными словами, злоумышленник может фактически брать любое 1000 битное число и рассматривать его как потенциальную кандидатуру на должность возможного ключа RC4. Слой RSA для него (злоумышленника) фактически не представляет никакого интереса - он оттуда ничего вытянуть не сможет.
Так что, в плане brute force, ему остается только слой RC4. Это для него единственный вариант.
- george
- Администратор
- Сообщения: 29
- Зарегистрирован: 04 апр 2024, 14:35
- Откуда: Киев, Украина
- Контактная информация:
Re: А как насчет brute force?
Но и тут ему ничего не светит, поскольку общее число вариантов - 2 в степени 1000. И если даже проверять 10 в степени 18 ключей в секунду (чего в мире никто не может), то требуемое для этого процесса время превышает возраст Вселенной. Здесь нет никаких шансов.
Так что, всем можно расслабиться. Никакой brute force безопасности Extra Systems Cypher Net не угрожает. Она этому деятелю не по зубам.
Re: А как насчет brute force?
Насколько я понял код Вашей программы (на официальном сайте), 1000 - это в случае 1024 битных ключей RSA. А в случае 2048 бит (которым архитектура продукта не препятствует, опять же - насколько я понял) - это будет уже 2000. Так? Тогда, конечно, для хакеров все будет обстоять еще более безнадежно. (Если, конечно, уместно употреблять этот эпитет на фоне возраста Вселенной.)
- george
- Администратор
- Сообщения: 29
- Зарегистрирован: 04 апр 2024, 14:35
- Откуда: Киев, Украина
- Контактная информация:
Re: А как насчет brute force?
Да, все верно. Я бы только уточнил, что 1000 и 2000 - это приблизительные числа. На самом деле, разрядность ключа RC4 на 8 бит меньше разрядности ключа RSA (то есть, на самом деле, это будет 1016 и 2040 бит - соответственно). Это сделано потому, что RSA может кодировать только такие числа, которые меньше его модуля. Я не стал возиться с битами, а просто отнял один байт от длины ключа RSA (то есть, 8 бит). Это - простое и, вместе с тем, абсолютно надежное решение (обеспечивающее при этом вполне достаточную длину ключа RC4).
Re: А как насчет brute force?
Но, пусть и чисто теоретически, такая возможность все же есть? И как быть с тем, что через какое-то время вычислительная мощность может резко возрасти? Те же пресловутые "квантовые угрозы", скажем. Чем Вы на это ответите?
- george
- Администратор
- Сообщения: 29
- Зарегистрирован: 04 апр 2024, 14:35
- Откуда: Киев, Украина
- Контактная информация:
Re: А как насчет brute force?
Ну, собственно говоря, мы на это уже "ответили" - в составе Extra Systems Cypher Net имеется модуль перетасовки алфавита, который полностью перекрывает возможность подбора ключа потокового шифрования методом "грубой силы", поскольку такой перебор основан на попытках получить некий осмысленный текст в результате попытки расшифровки, а благодаря этому модулю злоумышленник все время будет получать сплошную абракадабру. Таким образом, полностью пройдя через всю последовательность возможных ключей RC4 (и затратив на этот процесс все время существования Вселенной), он так и не добьется никакого результата.
Re: А как насчет brute force?
От всей души Вас поздравляю! Сегодня я уже кое-где (на одном из "романо-германских" языков) встретил комментарии о том, что "Extra Systems впервые в истории криптографии удалось сделать брутфорс бессмысленным занятием" (цитирую обнаруженное мною высказывание в собственном переводе на русский язык). Это - достижение!george писал(а): ↑18 мар 2025, 15:13 Ну, собственно говоря, мы на это уже "ответили" - в составе Extra Systems Cypher Net имеется модуль перетасовки алфавита, который полностью перекрывает возможность подбора ключа потокового шифрования методом "грубой силы", поскольку такой перебор основан на попытках получить некий осмысленный текст в результате попытки расшифровки, а благодаря этому модулю злоумышленник все время будет получать сплошную абракадабру. Таким образом, полностью пройдя через всю последовательность возможных ключей RC4 (и затратив на этот процесс все время существования Вселенной), он так и не добьется никакого результата.
Re: А как насчет brute force?
Но так ли нужен именно осмысленный текст? Возьмем, например, слово "проверка" (на русском языке). В кодировке UTF8 (именно она, как правило, везде используется) получается такая последовательность байт:
Код: Выделить всё
D0 BF D1 80 D0 BE D0 B2 D0 B5 D1 80 D0 BA D0 B0
п р о в е р к а