For å få Perfect Forward Secrecy, må du bruke kortvarige nøkler .
Med statisk Diffie-Hellman (elliptisk kurve eller ikke, det er ikke problemet), Alice og Bob eier begge et DH-nøkkelpar: Alices private nøkkel er a , offentlig nøkkel er aG (elliptisk kurvnotasjon, G er det konvensjonelle "basispunktet" for kurven); Bobs private nøkkel er b , offentlig nøkkel er bG . Når Alice og Bob vil snakke med hverandre, gjør de DH-tingen, noe som betyr at de ender opp med den delte hemmelige verdien abG . De har alltid akkurat denne delte hemmeligheten. Hvis en angriper klarer å stjele Alice's private nøkkel ( a ), kan han beregne den delte hemmeligheten på nytt, og dermed dekryptere alle tidligere og fremtidige samtaler mellom Alice og Bob.
Ephemeral Diffie-Hellman handler om å generere DH-nøkkelpar "on the fly" og ikke registrere private nøkler hvor som helst (de private nøklene oppbevares bare i RAM, og bare i samtalen). Å aldri bli registrert burde gjøre disse private nøklene immun mot skjult tyveri; det er der PFS kommer fra. Dette brukes i SSL / TLS med "DHE" (og "ECDHE") krypteringsserier: serveren eier et privat / offentlig nøkkelpar, med den offentlige nøkkelen i et sertifikat og passer til signaturer (f.eks. at nøkkelparet er av typen RSA eller DSA). Når en klient kobler til, genererer både klient og server nye DH-nøkkelpar; serveren signerer sin nylig genererte DH-offentlige nøkkel med signaturnøkkelen (klienten bekrefter den signaturen og validerer serversertifikatet). Nøkkelen som faktisk brukes til å kryptere dataene er den som er hentet fra Diffie-Hellman-algoritmen.
Hvis serverens private nøkkel blir stjålet med DHE-krypteringsserier, får tyven bare makten til å beregne falske signaturer. Tyven kan da utgi seg for serveren og true fremtidig kommunikasjon ved å kjøre et Man-in-the-Middle angrep, men tidligere forbindelser ble kryptert med med hensyn til DH-nøkler som lenge har gått tapt, og dermed ikke vil bli dekryptert av angriperen. Det er PFS.