Puncte:0

Cum funcționează re-criptarea proxy - perspectiva profana

drapel br
Leo

Iată cazul de utilizare: A folosește cheia publică a lui B pentru a cripta un mesaj și l-a trimis către B. În etapele ulterioare, un nou membru C se alătură și B ar dori să-i permită lui C să vadă acest mesaj criptat (adică, să ofere decriptarea capacitatea de a C) fără a-și partaja cheia privată sau a-i permite lui A să cripteze din nou mesajul folosind cheia publică a lui C. Este în această întrebare. O soluție utilă la această întrebare este recriptarea proxy. În acest caz, B va genera o cheie de re-criptare folosind cheia privată a lui B și cheia publică a lui C și o va trimite unui proxy. Proxy-ul va cripta din nou mesajul criptat folosind cheia de re-criptare și îl va trimite către C. Apoi C poate folosi cheia sa privată pentru a decripta mesajul re-criptat pentru a-l obține pe cel original.

Întrebarea principală este, după ce mesajul criptat care a fost criptat mai devreme folosind cheia publică a lui B este recriptat folosind cheia de re-criptare generată din cheia privată a lui B și cheia publică a lui C, cum poate C să-și folosească cheia privată pentru a decripta re -mesaj criptat pentru a obține cel original? Ce face ca asta să se întâmple?

Poate cineva să ofere o introducere blândă despre cum funcționează această recriptare proxy? Știu că există multe lucrări despre asta și am încercat să le înțeleg, dar tot nu pot face nimic din ele (de exemplu, Cursul 17: Re-criptare, cel mai blând material pe care l-am găsit dar încă nu înțeleg...). Ar putea cineva să o introducă într-o perspectivă profană, poate printr-un exemplu de lucru? Introduceri ca aceste ar fi de mare ajutor.

Îmi pare rău dacă această întrebare este prea superficială aici, dar chiar am nevoie de astfel de introduceri, deoarece nu sunt un tip de criptografie, în timp ce trebuie să folosesc acest concept și trebuie să înțeleg principiile de bază ale acestuia. Mulțumesc!

Leo avatar
drapel br
Leo
Mulțumesc @knaccc. Adăugat.
knaccc avatar
drapel es
Se pare că căutați să înțelegeți hărțile biliniare despre care vorbește lucrarea, pentru că aceasta este implementarea care are nevoie doar de cheia publică a lui C și nu de cheia lor privată. Poate cineva de aici va avea un mod simplu de a explica fără a fi nevoit să explice fiecare bit de notație matematică.
knaccc avatar
drapel es
Aceste diapozitive, la care se face referire ca [Bet] în prelegerea pe care ați legat-o, sunt cu adevărat grozave https://people.csail.mit.edu/alinush/6.857-spring-2015/papers/bilinear-maps.pdf
Leo avatar
drapel br
Leo
Arata grozav, dar e greu de inteles...
Puncte:0
drapel ec

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$):

  1. $ x = (C_{B,1})^{H(pk_A^{sk_B})} = g^{ar}$
  2. $ 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:

  1. Alice poate produce $g^{ar}$ prin luarea $g^r$ componentă și folosind cheia ei privată $a$.
  2. 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.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.