C =E K1 (D K2 (E K1 (M )))
Tiêu chuẩn mã hóa nâng cao
2.5.1 Chứng minh không tiết lộ thông tin (Nguyễn Hữu Bình)
Như tên của nó chứng minh không tiế lộ thông tin là một phương pháp tương tác cho phép chứng minh một tuyên bố (thường là toán học) là đúng, mà không tiết lộ bất cứ điều gì khác so với tính xác thực của bản tuyên bố.
Ví dụ sau sẽ giải thích cách thức hoạt động.
Giả sử có hang động hình dạng giống như một vòng tròn, với lối vào ở một bên và cánh cửa ma thuật ngăn chặn ở phía đối diện. Mai muốn chứng minh cho Nam rằng cô cấy biết bí mật để mở cánh cửa ma thuật, nhưng không muốn nói với Nam bí mật đó.Họ lặp lại các giao thức sau n lần:
Bước 1 : Nam chờ đợi ở phía trước lối vào tòa nhà trong khi Mai đi vào.Họ dán nhãn các đường dẫn bên trái và phải từ lối vào là A và B (Lựa chọn của Mai ngẫu nhiên)
Bước 2: Nam đi vào tòa nhà và gọi nhiều lần tới Mai tên con đường mà anh muốn cô ra ngoài theo lối A hoặc B ( lựa chọn của Nam ngẫu nhiên ). Lưu ý rằng Nam không biết con đường mà Mai đã đi xuống.
Bước 3 : Nếu Mai đi ra từ bất cứ bên nào Nam yêu cầu,giao thức chạy được coi là thành công.
Nếu không nó không thành công. Nếu Mai không biết câu thần chú mở cửa,xác suất để cô ra đúng đường Nam gọi là 50%, Nếu tất cả n chạy giao thức đã thành công , xác suất để Mai thực sự biết bí mật là p =1-0.5n
Một chứng minh không kiến thức phải đáp ứng ba đặc tính:
Đầy đủ: nếu tuyên bố là đúng sự thật, người xác minh (đó là, theo giao thức đúng) sẽ được thuyết phục về thực tế này bởi người chứng minh.
Sự hợp lý: nếu tuyên bố là sai, không có gian lận người chứng minh có thể thuyết phục người xác minh rằng nó là sự thật, ngoại trừ với một số xác suất nhỏ. Không kiến thức: nếu tuyên bố là đúng sự thật, không có kiểm định gian lận bất cứ điều gì khác hơn là thực tế.Điều này được chính thức hóa bằng cách tất cả các kiểm
định gian lận có một số mô phỏng, chỉ tuyên bố được chứng minh (và không có quyền truy cập vào các điều chứng minh).