ChaCha20 является потоковым шифром и выводит поток $O_i$ для шифрования сообщений, чтобы получить зашифрованный текст $$C_i = M_i\oplus O_i$$ Ваше следующее шифрование будет $$C_i' = M_i\oplus O_i \oplus O_i'$$ где $O_i'$ является выходом второго ChaCha20 с другим ключом.
Ну, то, что вы спрашиваете, это атака только зашифрованным текстом на ChaCha20. Никто не может сделать это даже для одиночного шифрования, но различителя нет. Вывод одного ChaCha20 достаточно хорош, чтобы его нельзя было отличить от случайного. Таким образом, злоумышленник может видеть все возможные сообщения, если пространство сообщений не является коротким или существуют какие-либо другие методы проверки, например, сервер действует как Oracle.
Поскольку теперь они получили результат предпоследнего шифрования (а не исходный материал), то как они узнают, что им это удалось?
Удаление слоев здесь бесполезно, так как $$случайное \oplus сообщение = случайное$$ Так что никакой информации для проверки не будет.
Это не ваша настоящая проблема, вашей реальной проблемой будет управление ключами. Будьте осторожны, как вы их генерируете/извлекаете и как вы храните/извлекаете.
Использование одного ChaCha20 с 256-битным ключом достаточно, чтобы быть в безопасности от всех злоумышленников (классических или квантовых) с единым случайным ключом. Если вы действительно хотите использовать двойное шифрование, объедините его с другим алгоритмом шифрования, таким как AES-GCM.
Имейте в виду, что рассмотрение и анализ многократного (каскадного) шифрования начались с рассмотрения слабости DES. Ули М. Маурер и Джеймс Л. Мэсси в 1993 году показали в Каскадные шифры: как важно быть первым это;
- Каскадная конструкция безопасна, так как первый шифр и дополнительная безопасность не гарантируются. На эту тему есть сообщение в блоге Мэтью Грина; Множественное шифрование как отметил ВОА Перегринус.
Для потоковых шифров результат другой (снова Маурер и Мэсси);
- Следствие 2. Побитовый модуль $2$ сумма $n$ последовательности потока ключей, генерируемые устройствами с независимыми ключами, по меньшей мере так же сложно предсказать, как и наиболее трудно предсказуемую последовательность потока ключей.