Предложение направлено на 1/2/3/4 последнего раздела вопроса: цепное гибридное шифрование.
мы будем использовать
- Схема быстрого симметричного аутентифицированного шифрования, такая как AES-GCM или же ЧаЧа20-Поли1305 с 256-битным секретным ключом, шифрование с ключом $К$ отмеченный $С=Е_К(М)$ и расшифровка $М=Д_К(С)$.
- Схема асимметричного шифрования, способная шифровать 256-битные сообщения, с отмеченным шифрованием. $C=\mathcal E_P(M)$ и расшифровка $M=\mathcal D_S(C)$, куда $(П,С)$ представляет собой пару ключей (открытый, закрытый/секретный). РГАЭС-ОАЭП или же ECIES Сделаю.
Мы предполагаем, что Боб и Кэрол сгенерировали пары ключей $(P_B,S_B)$ и $(P_C,S_C)$, и переданные открытые ключи $P_B$ и $P_C$ Алисе способом, гарантирующим целостность и доказательство происхождения (возможно, посредством цифровых сертификатов).
Чтобы зашифровать Кэрол по доверенности Боба, Алиса
- рисует два случайных 256-битных ключа $K_B$ и $K_C$
- вычисляет $C_B=\mathcal E_{P_B}(K_B)$
- вычисляет $C_C=\mathcal E_{P_C}(K_C)$
- вычисляет $C_0=E_{K_B}(C_C)$
- вычисляет $C_1=E_{K_C}(М)$
- отправляет Бобу сообщение $C=C_B\mathbin\|C_0\mathbin\|C_1$.
Боб получает и хранит $С$. Когда Кэрол запрашивает зашифрованное сообщение, Боб
- экстракты $C_B$, $C_0$ и $C_1$ от $С$
- вычисляет $K_B=\mathcal D_{S_B}(C_B)$
- вычисляет $C_C=D_{K_B}(C_0)$
- формирует и отправляет Кэрол $C'=C_C\mathbin\|C_1$.
Кэрол получает $С'$ и
- экстракты $C_C$ и $C_1$ от $С'$
- вычисляет $K_C=\mathcal D_{S_C}(C_C)$
- вычисляет $M=D_{K_C}(C_1)$
Всякий раз, когда расшифровка терпит неудачу, Боб или Кэрол прекращают работу.
Обратите внимание, что массовое сообщение $ млн $ шифруется только один раз, что соответствует требованиям производительности.
Мы можем заменить асимметричную схему шифрования на симметричную, $(P_B,S_B)$ с вопросом $K_2$ и $(P_C,S_C)$ с вопросом $K_3$ (и затем, как дополнение, систему можно упростить, чтобы избавиться от $K_B$). Но переходя на симметричную криптографию, мы теряем преимущество асимметричной криптографии: Алисе не нужно ничего хранить в секрете, и она не может использовать этот секрет, чтобы попытаться расшифровать другое сообщение, отправленное Бобу или Кэрол.