Practic, aveți secretul direct dacă toate perechile de chei utilizate sunt efemere și că cheile private (NaCl numește aceste „chei secrete”) sunt distruse cu respect după (o singură dată) utilizare. În cazul NaCl, atât emițătorul, cât și receptorul folosesc o pereche de chei (deoarece acesta este practic acordul cheie / ECIES). Perechea de chei a receptorului este de obicei statică, în timp ce perechea de chei a expeditorului este efemeră.
Dacă utilizați o cheie publică statică a receptorului, nu aveți securitate pentru redirecționare, deoarece receptorul ar putea scurge cheia privată. Din păcate, acesta este modul standard de operare pentru majoritatea rutinelor de criptare, inclusiv NaCl / libsodium.
Trucul este, desigur, să stabiliți încrederea în cheia publică a receptorului în prealabil - altfel, este posibil să utilizați în schimb cheia unui adversar. Dacă doriți să aveți securitate în avans, atunci puteți partaja și semna o nouă cheie publică după fiecare utilizare și, de preferință, puteți păstra perechea de chei secrete în viață pentru un timp cât mai scurt posibil. Cu toate acestea, acum sunteți mai aproape de dezvoltarea securității transportului decât de criptarea mesajelor la nivel de aplicație.