Рейтинг:1

Ключевой поток вместо ключевого расписания

флаг tf
Tom

Рассмотрим блочный шифр в режиме CTR. И давайте рассмотрим PRNG с ключом или просто хороший PRNG с начальным числом в качестве ключа. PRNG должен быть очень быстрым.

Является ли хорошей идеей отказаться от расписания ключей и выполнить «бесконечное» планирование ключей, создав поток ключей? Тогда каждый блок в шифре будет зашифрован другим ключом.

Конечно, даже быстрому ГПСЧ нужно некоторое время, чтобы сгенерировать несколько 128 -битные ключи для шифра. Но разве это не сильно повышает безопасность такого алгоритма? Если алгоритм сам по себе является очень быстрым примитивом (скажем, таким же быстрым, как Chacha20), он должен обладать отличной безопасностью и хорошей скоростью, если он связан с таким «ключевым потоком расписания».

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

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

Мой вопрос о недостатках такого решения. Насколько я знаю, не используется - почему? Другими словами, почему мы используем константы и одни и те же ключи в раундах (при шифровании огромного количества сообщений), когда ключи можно модифицировать с небольшими затратами после каждого шифрования; например, добавив один бит по модулю 2 (после очередного шифрования мы добавляем еще один бит на более высокую позицию и так далее, меняя все 128-битные ключи после 128 шифрования).

SAI Peregrinus avatar
флаг si
Режим CTR используется для преобразования блочного шифра в потоковый шифр. Блочные шифры довольно бесполезны для шифрования (поскольку они могут безопасно шифровать один блок на ключ), поэтому мы используем разные режимы работы, чтобы действительно шифровать с их помощью. Существуют также собственные потоковые шифры, PRNG с эффективным ключом, которые не имеют внутреннего блочного шифра. Вы предлагаете использовать внутренний ключ блочного шифра с помощью потокового шифра, а затем использовать его в режиме CTR, чтобы превратить его обратно в потоковый шифр. Почему бы просто не использовать потоковый шифр напрямую? Какие преимущества будет иметь ваша конструкция?
Tom avatar
флаг tf
Tom
Преимуществом является более высокий уровень безопасности блочного шифра.Более того, если бы мы могли улучшить блочный шифр с помощью этой технологии, которая быстрее и в то же время более безопасна, чем исходный алгоритм, почему бы не использовать ее? Если бы AES с укороченными раундами, но с ключом с помощью потокового шифра был бы быстрее, почему бы не сделать это? Возможно, есть алгоритмы, которые можно улучшить и ускорить таким образом. Я думаю, что наличие базового генератора ключей, независимого от шифра, могло бы стать большим улучшением с точки зрения безопасности.
SAI Peregrinus avatar
флаг si
Наводящие вопросы: повысит ли это безопасность по сравнению с потоковым шифром? ChaCha20 (возможно) более безопасен, чем AES-256, для того же размера ключа. Использование ChaCha20 вместо расписания ключей AES устранило бы слабые места расписания ключей, которые делают AES слабее, но сделает ли это полученный шифр медленнее или быстрее, и будет ли он значительно более безопасным, чем ChaCha20? Почему или почему бы и нет (попробуйте доказать это себе)?
Tom avatar
флаг tf
Tom
Чтобы решить, стоит ли это того, нам нужно сократить несколько раундов AES и заменить их потоковой передачей ключей. Нет, я не могу сказать, стоит ли оно того. Но я подозреваю, что таким образом мы сможем получить более быстрый и безопасный шифр. Я задал вопрос, чтобы выяснить, является ли это явно плохой идеей в некотором роде. Конечно, теперь я понятия не имею, можно ли это сделать с помощью любого шифра. Но тот факт, что мы так часто используем «постоянные» ключи в криптографии, кажется мне непонятным с точки зрения, которую я изложил.
SAI Peregrinus avatar
флаг si
Ключевой график AES ОЧЕНЬ быстрый. Это не является узким местом для AES. Замена его на ChaCha20 замедлит работу и *не добавит дополнительной безопасности, кроме того, что вы получаете от одного только потокового шифра*. Даже если вы уменьшили количество раундов. Также мы редко (если вообще когда-либо) используем постоянные ключи.Большинство ключей (например, для соединений TLS) являются эфемерными, они удаляются, как только соединение закрывается. Дисковые ключи шифрования, конечно, служат дольше, но это в основном потому, что на дисках много данных, и повторное шифрование будет медленным, а не потому, что планирование ключей медленное (это не так).
Maarten Bodewes avatar
флаг in
У нас были и другие вопросы, касающиеся замены ключевого расписания чем-то другим. Текущий вопрос, на мой взгляд, имеет следующую проблему: 1. вы каким-то образом используете другое расписание быстрых клавиш - теперь **вы должны показать**, что это безопасно или 2.вы используете известное расписание ключей безопасности, и в этом случае **вы должны продемонстрировать** преимущества безопасности по сравнению с прямым использованием потока ключей безопасности.

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

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