Nu am putut vedea exemple de algoritmi cu cheie simetrică. dar de ce?
Există mai multe moduri posibile de a răspunde la aceasta; cel mai simplu este acel algoritm cheie simetrică sunt pe baza unor probleme matematice specifice (de obicei nu o exprimăm așa).
Pentru a lua câteva exemple de algoritmi asimetrici:
de exemplu ... diffie-hellman, rsa ... reduce la ... problema logaritmului discret, factorizarea întregului ... respectiv.
Este incorect; dacă vi se oferă un Oracle care poate sparge Diffie-Hellman, nu există nicio modalitate cunoscută de a-l folosi pentru a rezolva probleme de jurnal discret; dacă vi se oferă un Oracle care poate rupe RSA, nu există nicio modalitate cunoscută de a-l folosi pentru factor.
În schimb, ceea ce se reduce Diffie-Hellman este cunoscut sub numele de „problema Diffie-Hellman” (din punct de vedere tehnic, fie cDH, fie dDH, în funcție de ceea ce face Oracle); la ce se reduce RSA se numește „problema RSA”.
Acum, care este diferența dintre „problema Diffie-Hellman” sau „problema RSA” și „problema AES”? În afară de faptul că „problema AES” durează mai mult pentru a descrie și se simte mai arbitrară, nu văd una (și cu siguranță „problema AES” a fost destul de bine studiată). Și, dacă folosim AES într-un anumit mod, există în general o dovadă că securitatea modului se reduce la „problema AES”, prin urmare, acesta nu este doar un joc de cuvinte prostesc.
Un alt mod de abordare a întrebării (dacă insistăm asupra „probleme matematice simple” ca o modalitate de descalificare a „problemei AES”) este să observăm că știm despre primitive simetrice care se reduc la probleme simple matematice; cu toate acestea, acele primitive rulează, în general, mult mai încet (și au, de obicei, texte cifrate mult mai mari) decât ceea ce folosim în practică, și deci nu le folosim niciodată, mai ales că nu cunoaștem nicio dovadă că „problema matematică simplă” este de fapt mai dificilă. decât „problema matematică complexă” pe care o folosim în practică.
Se poate întoarce acest lucru și se poate întreba „de ce insistăm să ne bazăm algoritmii asimetrici pe probleme dificile specifice?”. Un răspuns este că algoritmii asimetrici încearcă să facă mai mult decât un algoritm simetric; nu numai că un algoritm asimetric trebuie să arate „aleatoriu”, dar trebuie să fie în continuare securizat chiar dacă atacatorului i se oferă un indiciu sub forma unei chei publice. Această cheie publică trebuie să fie legată cumva de cheia privată, dar nu într-un mod evident (și, desigur, operațiunile care sunt ușoare având în vedere cheia privată trebuie să fie imposibil de realizat având în vedere doar cheia publică). Singurul mod în care știm că avem o relație atât de obscură implică reducerea acesteia la o problemă mai simplă și grea.