Я рассматриваю следующую идею использования симметричного ключа для шифрования нескольких сообщений (обратная связь между Алисой и Бобом). Его можно резюмировать следующим образом:
- Обе стороны соглашаются на ключ
- Обе стороны генерируют $2^n$ биты с использованием PRG (который, как я полагаю, содержит ключ). Поскольку PRG детерминированы, обе стороны имеют одинаковые $2^n$ биты.
- Когда одна сторона хочет зашифровать сообщение, она выбирает к случайные индексы, где к это длина сообщения и xor сообщение с битами в тех к индексы. Они передают сообщение и индексы.
- Злоумышленник не знает базовых битов, поэтому индексы бесполезны.
- Другая сторона получает индексы/сообщения и выполняет обратный процесс, как указано выше.
Что меня смущает, так это необходимость PRG вообще.
Например: Почему бы обеим сторонам просто не согласиться повторить ключ (который является секретным от злоумышленника) для $\фракция{2^n}{к}$ времена, когда к это длина ключа.
Учитывая, что злоумышленник не знает ключа, это все равно должно быть безопасным, не так ли?
Теоретически: обе стороны могут просто согласиться на {1, 2, 3, 4... $2^n$} «случайные» биты, поскольку, если у них есть возможность согласовать общий секретный ключ, у них также должна быть возможность согласовать способ создания буфера, верно?