Có nguy cơ trở nên khoa trương và kén chọn (rốt cuộc thì bạn đã đặt một câu hỏi về thuật ngữ), tôi đề xuất rằng bạn nên gọi những đối tượng này là "chương trình tương tác" thay vì thuật toán hoặc máy tính.
Là một trò chơi không phải là một thuật toán
Kẻ thách thức và đối thủ chắc chắn có thể được mô tả theo một số logic lập trình/thuật toán.
Nhưng tôi nghĩ về một thuật toán như một không tương tác thứ nhận một đầu vào, đưa ra một đầu ra, và thế là xong.
Một trò chơi bảo mật mật mã có tính tương tác cao hơn thế. Thường có một số vòng riêng biệt để trao đổi thông tin và người thách đấu thường cung cấp một tập hợp các chương trình con/lời tiên tri mà đối thủ có thể gọi nhiều lần. Tôi nghĩ điều quan trọng là làm nổi bật bản chất tương tác này.
Về mặt kỹ thuật, bạn có thể xác định một chương trình tương tác với "chức năng hành động tiếp theo" của nó, đây thực sự là một thuật toán không tương tác đơn giản.
Ví dụ: người thách thức được đặc trưng bởi một thuật toán tính toán logic: "nếu đối thủ đang đưa ra loại truy vấn, thì hãy trả lời bằng hành động."
Trên thực tế, đây có thể là cách bạn chọn để định nghĩa chương trình tương tác là gì, xét về các thuật toán không tương tác.
Ngoài các định nghĩa rất chính thức như vậy, hiếm khi thực sự nghĩ và nói về những kẻ thách thức và đối thủ theo cách này, nhưng đôi khi sẽ rất hữu ích khi nghĩ về các đặc tả giao thức theo cách này.
Là đối thủ và thách thức máy tính
Tôi nghĩ rằng máy tính là một thiết bị có thể làm những gì một chương trình bảo nó làm. Đối thủ và kẻ thách thức là những máy tính chạy cụ thể các chương trình -- đối thủ của một trò chơi bảo mật cụ thể chạy một chương trình cố định nhưng chúng tôi xem xét một đối thủ đang chạy một chương trình tùy ý.
Là gì $n$ được coi là một tham số của?
Là một tham số có nghĩa là: đó là một giá trị được chọn bên ngoài và được cung cấp công khai cho cả người thách thức và đối thủ. Tham số an toàn được cung cấp làm đầu vào cho tất cả các thuật toán trong sơ đồ mã hóa (mặc dù đầu vào này thường không được viết rõ ràng). Thông thường, tham số bảo mật chỉ định kích thước của các khóa, v.v.
Tham số bảo mật giống như một núm xoay mà bạn có thể xoay. Giá trị cao hơn làm cho việc chạy các thuật toán mật mã đắt hơn một chút, nhưng lại đắt hơn rất nhiều để phá vỡ nó. Xoay núm cho đến khi bạn cảm thấy thoải mái với mức độ khó để phá vỡ sơ đồ và đó là giá trị mà bạn sử dụng khi chạy sơ đồ này.