Có một số câu hỏi trên internet (trang này và các trang khác; ví dụ: Tại sao không có thuật toán mã hóa dựa trên các vấn đề NP-Hard đã biết? ) Thảo luận về độ cứng NP của các hệ thống mật mã bất đối xứng khác nhau. Các hệ thống chia sẻ khóa cứng NP được thiết lập tốt như thế nào? Đó là, các hệ thống để thiết lập khóa chia sẻ (sau đó có thể được sử dụng trong mã hóa đối xứng) dựa trên các vấn đề được biết là NP cứng.
Tôi đã được nhắc đến câu hỏi này khi đọc về https://en.wikipedia.org/wiki/Anshel-Anshel-Goldfeld_key_exchange và tự hỏi liệu nó có thể được hiển thị là NP hoàn chỉnh khi được triển khai trên hoặc , gây ra những vấn đề này trông giống như sự thỏa mãn ràng buộc cực kỳ khó khăn hoặc sự cố tối ưu hóa bậc hai trong cái nhìn đầu tiên. Vấn đề tương ứng được dựa trên là Vấn đề liên hợp đồng thời.
Tôi biết rằng có một sự khác biệt quan trọng giữa các vấn đề chỉ đơn thuần là NP khó trong trường hợp xấu nhất - nhưng dễ dàng trong hầu hết các trường hợp ngẫu nhiên, trái ngược với các vấn đề là "NP trường hợp trung bình" - đưa ra một tập hợp các trường hợp ngẫu nhiên , giải quyết một nửa trong số họ vẫn còn khó khăn. Tôi muốn nghe về các hệ thống chia sẻ khóa dựa trên khái niệm độ cứng.