Ниже приведена простая однонаправленная схема PRE, в которой не используются билинейные пары, если они вас отвлекают. Он использует статический обмен Диффи-Хеллмана (то есть объединение открытого ключа одного человека с закрытым ключом другого), чтобы сделать его однонаправленным. Кстати, я больше привык описывать повторное шифрование прокси как делегирование между Алисой и Бобом, а не между Бобом и Чарли, поэтому я буду использовать это соглашение здесь.
Алиса:
- закрытый ключ: $а$
- открытый ключ: $г^а$
Боб
- закрытый ключ: $b$
- открытый ключ: $г^б$
Алиса создает ключ повторного шифрования для Боба, используя его открытый ключ:
- $rk = \frac{a}{H((pk_B)^{sk_A})} = \frac{a}{H(g^{ab})}$
Любой может зашифровать сообщение, изначально предназначенное для Алисы:
- $C_A = (g^r, M · g^{ar})$
Прокси повторно шифрует $С$ используя ключ повторного шифрования:
- $ C_B = ( (g ^ r) ^ {rk}, M · g ^ {ar}) = ( g ^ {\ frac {ar} {H (g ^ {ab})}}, M · g ^ {ар})$
Боб расшифровывает, используя свой закрытый ключ, предполагая, что он знает, что это был исходный зашифрованный текст Алисы (поэтому он знает ее открытый ключ). $г^а$):
- $ x = (C_{B,1})^{H(pk_A^{sk_B})} = g^{ar}$
- $ M = \frac{C_{A,2}}{x}$
Как видите, основная идея заключается в том, что тот же самый секрет, который ослепляет сообщение ($г^{ар}$) может быть произведен с обычным шифрованием с открытым ключом Алисы, а также после повторного шифрования и дешифрования Бобом. Другими словами, вы можете производить $г^{ар}$ двумя способами:
- Алиса может производить $г^{ар}$ взяв $g^r$ компонент и используя ее закрытый ключ $а$.
- Процесс повторного шифрования преобразует $g^r$ компонент зашифрованного текста в $ г ^ {\ гидроразрыва {ар} {Н (г ^ {аб})}} $, и Боб завершает процесс, удаляя $Ч(г^{аб})$ используя его закрытый ключ $b$.
Если у вас есть два метода для создания одного и того же секрета Алисой (только путем расшифровки) и Бобом (через повторное шифрование и расшифровку), тогда у вас есть схема повторного шифрования прокси. Есть много способов сделать это (с билинейными парами, без них, с решетками и т. д.), и приемы, используемые каждой схемой, могут различаться, но в целом идея такова.
Для справки, это супер-упрощенная версия Umbral схема перешифрования прокси используется Сеть NuCypher, распределенная сеть, которая предоставляет услугу повторного шифрования прокси с сотнями прокси.