Hướng dẫn "Làm thế nào để mô phỏng nó" của Lindell sử dụng cái được gọi là độc lập mô hình bảo mật. Xem Phần 10.1 để thảo luận.
Mô hình độc lập phân tích tính bảo mật của một phiên bản giao thức, trong sự cô lập. Mô hình UC phân tích bảo mật khi có "những thứ khác đang diễn ra trên thế giới" tùy ý đồng thời với phiên bản giao thức. Những "thứ khác" được chụp bởi điều này môi trường máy trong định nghĩa UC.
Trong mô hình độc lập, chúng tôi đã định nghĩa bảo mật là "đối với mọi đối thủ tấn công giao thức, có một trình giả lập sao cho thực $\xấp xỉ$ lý tưởng." Lưu ý rằng trình mô phỏng có thể phụ thuộc vào đối thủ theo cách hoàn toàn tùy ý. Đặc biệt, một điều mà trình giả lập có thể làm là chạy chương trình đối thủ nhiều lần, thường xuyên tua lại chương trình đối thủ về trạng thái trước đó.
Trong mô hình UC, định nghĩa bảo mật được mở rộng: "đối với mọi đối thủ tấn công giao thức, có một trình giả lập sao cho cho mọi môi trường, thực $\xấp xỉ$ lý tưởng." Bây giờ cùng một trình giả lập phải hoạt động cho tất cả các môi trường, điều này hạn chế đáng kể khả năng của nó. Một môi trường có thể mong đợi nói chuyện với chương trình đối thủ trong quá trình thực thi giao thức. Tua lại đối thủ trong trường hợp này sẽ khiến thế giới lý tưởng trông như thế nào rất khác với thế giới thực, vì trình mô phỏng cũng không thể tua lại môi trường.Có thể chỉ ra rằng trình giả lập phải thực hiện chương trình đối thủ theo một "đường thẳng" (không tua lại).
Dưới đây là một ví dụ về hàm có thể được tính toán an toàn trong mô hình độc lập chứ không phải UC. ví dụ là từ tờ giấy này. Một bên chọn một hàng và bên kia chọn một cột và đầu ra được xác định bởi bảng này:
$$
\begin{array}{cccc}
0 & 0 & 1 & 1 \
2 & 3 & 2 & 3
\end{mảng}
$$
Giao thức độc lập rất đơn giản: người chơi theo hàng thông báo đầu vào của họ và sau đó người chơi theo cột (hiện đã biết đầu vào của cả hai bên) tính toán đầu ra và thông báo.
Tại sao nó an toàn? Trình giả lập cho trình phát hàng bị hỏng là chuyện nhỏ -- điều đầu tiên xảy ra trong giao thức là trình phát hàng thông báo đầu vào của họ, vì vậy trình giả lập có thể dễ dàng trích xuất.
Mô phỏng cho người chơi cột bị hỏng phức tạp hơn một chút vì lựa chọn thông báo giao thức của họ có thể phụ thuộc vào những gì người chơi hàng đã nói trong thông báo giao thức đầu tiên! Tuy nhiên, trình mô phỏng có thể chạy đối thủ hai lần (tức là tua lại) và xem nó sẽ phản hồi như thế nào với thông báo đầu tiên "hàng trên cùng" (phản hồi 0 hoặc 1) và thông báo đầu tiên "hàng dưới cùng" (phản hồi 2 hoặc 3). Tổng cộng có 4 cách mà trình phát cột bị hỏng có thể phản hồi và do cấu trúc của chức năng này, mỗi cách tương ứng với một đầu vào hợp lệ cho chức năng này cho trình phát cột. Vì vậy, trình giả lập có thể trích xuất lại đầu vào của trình phát cột.
Tuy nhiên, có thể chứng minh (nhưng không tầm thường) rằng không có giao thức an toàn cho chức năng này trong mô hình UC. Chiến lược tua lại mà tôi đã mô tả là không thể tránh khỏi đối với chức năng này.