Cu riscul de a fi pedant și pretențios (ați pus o întrebare despre terminologie până la urmă), vă propun să numiți aceste obiecte „programe interactive” mai degrabă decât algoritmi sau computere.
Este un joc nu un algoritm
Provocatorul și adversarul pot fi cu siguranță descriși în termeni de o anumită logică programatică/algoritmică.
Dar cred că un algoritm este un non-interactiv lucru care ia o intrare, dă o ieșire și apoi este gata.
Un joc de securitate criptografică este mai interactiv decât atât. Există adesea mai multe runde distincte în care se fac schimb de informații, iar contestatorul oferă de obicei o colecție de subrutine/oracole pe care adversarul le poate apela de multe ori. Cred că este important să evidențiem această natură interactivă.
Din punct de vedere tehnic, puteți identifica un program interactiv cu „funcția de acțiune următoare”, care este într-adevăr un algoritm simplu non-interactiv.
De exemplu, provocatorul este caracterizat de un algoritm care calculează logica: „dacă adversarul face un fel de interogare, atunci răspunde cu acțiune”.
De fapt, așa ar putea fi modul în care ați alege defini ce este un program interactiv, din punct de vedere al algoritmilor non-interactivi.
În afară de astfel de definiții foarte formale, este rar să ne gândim și să vorbim cu adevărat despre contestatori și adversari în acest fel, dar ocazional este util să ne gândim la specificațiile protocolului în acest fel.
Sunt computere adversarii si contestatorii
Cred că un computer este un dispozitiv care poate face ceea ce îi spune un program să facă. Adversarii și contestatorii sunt computere care rulează specific programe -- provocatorul pentru un anumit joc de securitate rulează un program fix, dar considerăm un adversar care rulează un program arbitrar.
Ce este $n$ ar trebui să fie un parametru al?
A fi un parametru înseamnă: este o valoare care este aleasă extern și este oferită public atât contestatorului, cât și adversarului. Parametrul de securitate este dat ca intrare pentru toți algoritmii din schema criptografică (deși această intrare nu este adesea scrisă în mod explicit). De obicei, parametrul de securitate specifică dimensiunea cheilor etc.
Parametrul de securitate este ca un buton pe care îl puteți roti. O valoare mai mare face ca rularea algoritmilor criptografici să fie puțin mai costisitoare, dar mult mai costisitoare să o rupă. Rotiți butonul până când vă simțiți confortabil cu cât de greu este să rupeți schema și aceasta este valoarea pe care o utilizați când rulați această schemă.