Trên thực tế, giảm tiêm là hữu ích trong mật mã. Giả sử bạn có hệ thống chứng minh ZK cho mối quan hệ NP R qua ngôn ngữ L. Nếu bạn muốn xây dựng bằng chứng ZK cho mối quan hệ NP khác R 'qua ngôn ngữ L', bạn phải tìm hai hàm f và g với các thuộc tính sau : 1. x thuộc về L 'iff f (x) thuộc về L, 2. Nếu (x, w) thuộc về R' thì (f (x), g (x, w)) thuộc về R. 3. Hơn nữa , f và g phải được tính toán hiệu quả.
Các thuộc tính trên ngụ ý rằng nếu hệ thống chứng minh cho R hoàn chỉnh và âm thanh, thì hệ thống chứng minh cho R '(được xác định theo cách rõ ràng sử dụng các chức năng trên để giảm các trường hợp liên quan đến mối quan hệ khác) cũng hoàn chỉnh và đúng đắn.
Điều gì về việc chứng minh rằng hệ thống mới cũng là ZK hoặc nhân chứng không thể phân biệt (WI)? Nếu f không thể đảo ngược, bạn có thể chứng minh rằng hệ thống chứng minh thu được là ZK. Mặt khác, để chứng minh rằng bạn phải giả sử rằng hệ thống chứng minh cho R là ZK đầu vào phụ (chứ không chỉ là ZK). Đối với WI, nếu f không thể đảo ngược, bạn có thể chứng minh rằng hệ thống chứng minh cho R 'là WI. Không có thực tế là f là không thể đảo ngược, tôi không chắc liệu bạn có thể chứng minh rằng