Рейтинг:2

Nexor, алгоритм шифрования, который обещает неограниченные размеры ключей: безопасно ли это?

флаг pf

Я не собираюсь спамить здесь, но я наткнулся на этот проект в Github: https://github.com/andrewhodel/nexor

Это алгоритм под названием Nexor, он обещает шифрование с неограниченным размером ключа.

Единственная проблема заключается в том, что в нем отсутствует псевдослучайная перестановка (PRP).

Может ли какой-нибудь опытный пользователь или криптоаналитик сказать мне, безопасно ли это?

Paul Uszak avatar
флаг cn
Как сделать миллион битный ключ? Я могу (легко), но как Nexor? О привет.
phantomcraft avatar
флаг pf
Сгенерируйте вывод из /dev/hwrng, если ваш процессор имеет TRNG, и используйте его как OTP.
Рейтинг:10
флаг si

Взглянув очень кратко на источник, он просто использует вывод /dev/urandom для генерации ключей, а затем использует его как (плохой) одноразовый блокнот. /dev/urandom — это просто генератор случайных чисел на основе ChaCha20 с приличным сидированием из различных аппаратных источников энтропии.

Это небезопасно. Ключ имеет ту же длину, что и открытый текст, но ключевой поток получается из 512-байтового внутреннего состояния ChaCha. Таким образом, вместо того, чтобы передавать одно сообщение по защищенному каналу после использования этого инструмента, вам придется передать два, и вы по-прежнему ограничены размером внутреннего состояния ChaCha.Вы можете получить такую ​​же безопасность, просто зашифровав с помощью ChaCha20, и можете получить еще большую безопасность (сопротивление активным атакам), зашифровав с помощью ChaCha20-Poly1305.

я рекомендую использовать возраст (На самом деле хорошее шифрование) для шифрования файлов. На самом деле это хорошее использование ChaCha20-Poly1305.

Paul Uszak avatar
флаг cn
Абсолютно _никакой_ критики, Карл, но этот форум должен в какой-то момент обсудить, в какой момент вы «катите свои собственные» шифрования по сравнению со «стандартными» библиотеками. «Собственные» даже продаются на этом сайте. Заметьте, что нет другой области человеческой деятельности, где бы все помещалось в одну корзину. Ты боно?
SAI Peregrinus avatar
флаг si
Я согласен, что собственное катание может быть ценным! Это отлично подходит как процесс обучения, иногда это необходимо для новой функциональности (выполнение исследований), иногда это хорошо и хорошо сделано для новой библиотеки с соответствующим обзором (например, age, или monocypher, или minisign в последние несколько лет). Но *эта* библиотека не является безопасным потоковым шифром, это не безопасный OTP, и у нее нет преимуществ перед более устоявшейся системой.Это даже явно не учебное упражнение. Я думаю, что наличие опций — это хорошо, но я также думаю, что хорошо иметь сильные значения по умолчанию среди этих опций!
SAI Peregrinus avatar
флаг si
Кроме того, я стараюсь формировать свои ответы, основываясь на очевидном опыте спрашивающего. Для вас мне, конечно, не нужно объяснять, почему `/dev/urandom` не является источником для использования одноразовых блокнотов, или недостатки одноразовых блокнотов: вы с этим хорошо знакомы. Мы можем не согласиться о том, есть ли значимое различие между TRNG и PRNG, но я подозреваю, что мы оба согласны с тем, что выходной поток CSPRNG, подвергающийся операции XOR с открытым текстом, является потоковым шифром с пулом энтропии (и данными повторного заполнения) в качестве ключа.
kelalaka avatar
флаг in
Обратите внимание, что это не настоящая критика библиотеки. Его цель — зашифровать пароль при передаче. Что не имеет смысла, так как у нас есть TLS.
phantomcraft avatar
флаг pf
Да, я знаю, что /dev/urandom не обеспечит «безопасность в один миллион бит». Может быть, хороший TRNG, несмотря на то, что он медленный.
SAI Peregrinus avatar
флаг si
Дело даже не в этом, а в проблеме безопасной передачи ключевого материала. 256-битных ключей хватит на следующие несколько миллиардов лет, даже против квантовых компьютеров размером с планету. Передача ключевого материала одноразового блокнота так же сложна, как передача открытого текста. Если вы можете заранее передать ключевой материал по защищенному каналу, который впоследствии станет небезопасным, они полезны.В большинстве других случаев они не добавляют никакой безопасности, несмотря на то, что их невозможно взломать! (Кроме того, я не верю, что TRNG существуют, но это метафизический аргумент. HWRNG определенно существуют.)

Ответить или комментировать

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