Există două valori secrete asociate cu o semnătură ECDSA: una pe termen lung și una de unică folosință. În notația lui articol Wikipedia ECDSA, există cheia privată (de semnare). $d_a$ și cheia publică (de verificare) corespunzătoare $Q_A$ care este legat de cheia privată prin $Q_A=d_AG$ Unde $G$ este un generator cunoscut public pentru grupul de curbe eliptice. Grupul de curbă eliptică trebuie ales astfel încât să se recupereze $d_A$ din $Q_A$ este imposibil de realizat. Aceasta este cunoscută sub numele de problema logaritmului discret al curbei eliptice.
Cu toate acestea, în generarea fiecărei semnături există o altă valoare $k$ care trebuie să rămână secretă. Acest lucru se datorează faptului că semnătura va produce două valori $(r,s)$ care satisfac
$$ks\equiv h+rd_A\pmod\ell$$
Unde $h$ este valoarea hash (cunoscută) a datelor care sunt semnate. Dacă $k$ este cunoscut atunci $d_A$ poate fi calculată din ecuația de mai sus. Mai mult, dacă la fel $k$ valoarea este folosită vreodată în două semnături diferite, aceleași $r$ valoarea este produsă astfel încât semnăturile să fie $(r,s_1)$și $(r,s_2)$. Avem atunci
$$s_1h_2+s_1rd_A\equiv s_2h_1+s_2rd_A\pmod\ell\Rightarrow s_1h_2-s_2h_1\equiv (s_2-s_1)rd_A\pmod\ell$$
și din nou $d_A$ poate fi recuperat.
Astfel desi $Q_A$ (și, prin urmare $d_A$) poate fi folosit de mai multe ori, este vital ca fiecare $k$ este folosit cel mult o dată. Nerespectarea acestui lucru a dus la infamul Eșec PS3 printre alții.