Moin moin,
Să presupunem că există două perechi de chei (d1,e1)
și (d2,e2)
, Unde d1
și d2
sunt chei private fără legătură și e1
și e2
cheile publice corespunzătoare. Imaginați-vă că Alice știe nici d1
nici d2
și numai Bob d1
, nu d2
. Alice are un text cifrat c
rezultat din criptarea unui mesaj m
cu e1
folosind RSA. Ea nu o poate decripta pentru că nu știe d1
. Alice criptează c
din nou cu e2
folosind un cifru asimetric (rămâne de ales) și îl trimite lui Bob. Bob nu o poate decripta, deoarece nu are d2
. Poate apoi să folosească un fel de algoritm și d1
pentru a produce ceva pe care să-mi trimită cu care să poată fi decriptat d1
și d2
rezultând mesajul original?
Ce vreau este ca Alice și Bob să nu poată citi mesajul, doar cunoașterea combinată a ambelor chei secrete le-ar permite să-l descifreze.
Pseudo cod:
m
este mesajul
c := RSAEncrypt(m, folosind: e1)
Alice face:
c2 := AsymEncrypt(c, folosind: e2)
Bob face:
c3 := RSADecryptAlgo(c2, folosind: d1)
Vreau sa:
m = SomeDecryptionAlgo(c3, folosind: d2)
Este acest scenariu (deși destul de ciudat) chiar posibil? Dacă da, știe cineva un termen care poate fi căutat pe google sau un algoritm/i care s-ar potrivi în cazul meu?
Mulțumesc anticipat
Editare: perechile de chei nu au același modul