Următoarea este o schemă PRE simplă, unidirecțională, care nu utilizează perechi biliniare, în cazul în care vi se pare că vă distrag atenția. Utilizează un schimb static Diffie-Hellman (adică, combinând cheia publică a unei persoane cu cheia privată a altei persoane) pentru a o face unidirecțională. BTW, sunt mai obișnuit să descriu recriptarea proxy ca o delegație între Alice și Bob, mai degrabă decât Bob către Charlie, așa că voi folosi această convenție aici.
Alice:
- cheie privată: $a$
- cheie publica: $g^a$
Bob
- cheie privată: $b$
- cheie publica: $g^b$
Alice creează o cheie de recriptare pentru Bob folosind cheia publică:
- $rk = \frac{a}{H((pk_B)^{sk_A})} = \frac{a}{H(g^{ab})}$
Oricine poate cripta un mesaj destinat inițial pentru Alice:
- $C_A = (g^r, M · g^{ar})$
Proxy-ul re-criptează $C$ folosind cheia de re-criptare:
- $C_B = ( (g^r)^{rk}, M · g^{ar}) = ( g^{\frac{ar}{H(g^{ab})}}, M · g^ {ar})$
Bob decriptează folosind cheia sa privată, presupunând că știe că inițial a fost textul cifrat al Alicei (deci știe cheia ei publică $g^a$):
- $ x = (C_{B,1})^{H(pk_A^{sk_B})} = g^{ar}$
- $ M = \frac{C_{A,2}}{x}$
După cum puteți vedea, ideea principală este aceea că același secret care orbește mesajul ($g^{ar}$) poate fi produs cu criptare normală cu cheia publică a lui Alice și după recriptare și decriptare de către Bob. Cu alte cuvinte, poți produce $g^{ar}$ în două moduri:
- Alice poate produce $g^{ar}$ prin luarea $g^r$ componentă și folosind cheia ei privată $a$.
- Procesul de re-criptare transformă $g^r$ componentă a textului cifrat în $g^{\frac{ar}{H(g^{ab})}}$, iar Bob finalizează procesul eliminând $H(g^{ab})$ folosind cheia sa privată $b$.
Odată ce aveți două metode de a produce același secret de Alice (numai prin decriptare) și Bob (prin re-criptare și decriptare), atunci aveți o schemă de re-criptare proxy. Există multe modalități de a face acest lucru (cu perechi biliniare, fără ele, cu zăbrele etc.) și trucurile folosite de fiecare schemă pot varia, dar în general asta este ideea.
Pentru înregistrare, aceasta este o versiune super-simplificată a Schema de re-criptare proxy Umbral folosit de către Rețeaua NuCypher, o rețea distribuită care oferă un serviciu de re-criptare proxy cu sute de proxy.