Tutorialul Lindell „Cum să o simulați” folosește ceea ce este cunoscut sub numele de de sine stătătoare model de securitate. Consultați Secțiunea 10.1 pentru o discuție.
Modelul independent analizează securitatea unei instanțe de protocol, în mod izolat. Modelul UC analizează securitatea în prezența „alte lucruri care se întâmplă în lume” arbitrare concomitent cu instanța protocolului. Acele „alte lucruri” sunt surprinse de aceasta mediu inconjurator mașină în definiția UC.
În modelul independent am definit securitatea ca „pentru fiecare adversar care atacă protocolul, există un simulator astfel încât real $\aproximativ$ ideal." Rețineți că simulatorul poate depinde de adversar într-un mod total arbitrar. În special, un lucru pe care un simulator îl poate face este să ruleze programul adversar de multe ori, frecvent rebobinarea programul adversarului la o stare anterioară.
În modelul UC, definiția securității este extinsă: „pentru fiecare adversar care atacă protocolul, există un simulator astfel încât pentru toate mediile, real $\aproximativ$ ideal." Acum același simulator trebuie să funcționeze pentru toate mediile, ceea ce îi restricționează semnificativ capacitățile. Un mediu se poate aștepta să vorbească cu programul adversar în timpul execuției protocolului. Rebobinarea adversarului în acest caz va face ca lumea ideală să arate foarte diferit de lumea reală, deoarece simulatorul nu poate derula și mediul.Este posibil să se arate că simulatorul trebuie să execute programul adversar într-o „linie dreaptă” (fără derulare).
Iată un exemplu de funcție care poate fi calculată în siguranță în modelul independent, dar nu UC. Exemplul este de la această hârtie. O parte alege un rând, iar cealaltă parte alege o coloană, iar rezultatul este determinat de acest tabel:
$$
\begin{matrice}{cccc}
0 & 0 & 1 & 1 \
2 și 3 și 2 și 3
\end{matrice}
$$
Protocolul de sine stătător este foarte simplu: jucătorul de rând își anunță intrarea și apoi jucătorul de coloană (cunoscând acum intrările ambelor părți) calculează ieșirea și o anunță.
De ce este sigur? Simulatorul pentru un jucător de rând corupt este banal - primul lucru care se întâmplă în protocol este jucătorul de rând care își anunță intrarea, astfel încât simulatorul poate extrage cu ușurință.
Simularea pentru un jucător de coloană corupt este puțin mai complicată, deoarece alegerea mesajului de protocol poate depinde de ceea ce a spus jucătorul de rând în primul mesaj de protocol! Cu toate acestea, simulatorul poate rula adversarul de două ori (adică, derulează înapoi) și va vedea cum va răspunde la primul mesaj „rândul de sus” (răspunzând fie 0, fie 1) și primul mesaj „rândul de jos” (răspunzând fie 2, fie 3). Există 4 moduri posibile în care jucătorul de coloană corupt ar putea răspunde în total și, din cauza structurii acestei funcții, fiecare modalitate corespunde unei intrări valide la această funcție pentru jucătorul de coloană. Deci, simulatorul poate extrage din nou intrarea jucătorului de coloană.
Cu toate acestea, este posibil să se dovedească (dar netrivial) că nu există un protocol sigur pentru această funcție în modelul UC. Strategia de derulare pe care am descris-o este cumva inevitabilă pentru această funcție.