Tính không tiết lộ thông tin hoàn thiện với v tuỳ ý có thể được chứng minh theo phương pháp tương tự như đối với bái toán đẳng cấu đồ thị.. Để minh hoạ thêm cho vấn đề này ta sẽ đưa ra m
Trang 1Các bộ ba được tạo theo cách này có cùng phân bố xác suất các bộ ba
được tạo trong giao thức với giả thiết Vic chọn các yêu cầu của mình một cách ngẫu nhiên Tính không tiết lộ thông tin hoàn thiện (với v tuỳ ý) có thể
được chứng minh theo phương pháp tương tự như đối với bái toán đẳng cấu
đồ thị Nó đòi hỏi phải xây dựng một bộ mô phỏng s để giả định các yêu cầu của v và chỉ giữ lại các bộ ba ứng với các giả định đúng
Để minh hoạ thêm cho vấn đề này ta sẽ đưa ra một ví dụ nữa về phép chứng minh không tiết lộ thông tin hoàn thiện, đây là một phép chứng minh cho một bái toán quyết định có liên quan đến bái toán logarit rời rạc Bái toán này được gọi là bái toán thành viên của nhóm con ( được mô tả ở hình 13.9 )
Dĩ nhiên là số nguyên k ( nếu nó tồn tại ) chính là logarit rời rạc của β
Hình 13.9 Thành viên của nhóm con
Hình 13.10 Mô tả một phép chứng minh không tiết lộ thông tin hoàn thiện cho bái toán thành viên nhóm con Việc phân tích giao thức nỳ tương tự như các giao thức mà ta đã xem xét ; các chi tiết được giành cho bạn đọc xem xét
Hình 13.10 Hệ thống chứng minh tương hỗ không tiết lộ thông tin hoàn
thiện cho thành viên của nhóm con
Đặc trưng của bái toán : Hai số nguyên dương n và l, và hai
phần tử phân biệt α, β ∈ Zn trong đó α có cấp l trong Zn
Vấn đề : phải chăng β = αk đối với một số nguyên tố k nào
đó sao cho 0≤k≤n-1 ?(nói một cách khác là phải chăng
β là một thành viên của nhóm Zn được tạo bởi α ?)
Trang 213.3 Các cam kết bít
Hệ thống chứng minh không tiết lộ thông tin đối với bái toán đẳng cấu
đồ thị là một hệ thống thú vị, tuy nhiên sẽ là hữu ích hơn nếu có các hệ thống chứng minh không tiết lộ thông tin cho các bái toán được coi là NP đầy đủ
Về mặt lý thuyết, không tồn tại các phép chứng minh không tiết lộ thông tin hoàn thiện cho các bái toán NP đầy đủ Tuy nhiên ta có thể mô tả các hệ
thống chứng minh có dạng không tiết lộ thông tin về mặt tính toán Các hệ
thống chứng minh thực tế sẽ được mô tả ở phần sau ; trong phần này ta sẽ mô tả kỹ thuật cam kết bít là một công cụ quan trọng được dùng trong hệ thống chứng minh
Giả sử Peggy viết một thông báo lên một mẩu giấy rôì đặt nó vào một két sắt mà cô ta biết mã số Sau đó Peggy trao két sắt cho Vic Mặc dù Vic
không biết thông báo là gì cho tới khi két được mở nhưng ta sẽ coi rằng
Peggy đã bị ràng buộc với thông báo của mình vì cô ta không thể thay đổi nó Hơn nữa, Vic không thể biết thông báo là gì ( giả sử Vic không biết mã số
của két )
Trừ phi Peggy mở két cho anh ta ( Hãy nhớ lạI là ta đã dùng lập luận tương tự ở chương 4 để mô tả ý tưởng về một hệ mật công khai, tuy nhiên
trong trường hợp đó Vic là người có thể mở két bởi vì anh ta là người nhận
thông báo )
Đầu vào:Một số nguyên dương n và hai phần tử phân biệt α,β∈Zn trong đó
cấp của α được ký hiệu bằng l và được công khai
1 Lập lại các bước sau log2n lần :
2 Peggy chọn một số ngẫu nhiên j sao chi 0≤ j ≤ l - 1 và tính γ = αjmod n Peggy gửi γ cho Vic
3 Vic chọn một số ngẫu nhiên I = 0 hoặc i = 1 và gửi nó cho Peggy
4 Peggy tính h = j+ik mod l trong đó k = logαβ và gửi cho Vic
5 Vic kiểm tra xem liệu có thoả mãn đồng dư thức sau không :
αh ≡ β iγ (mod n)
6 Vic sẽ chấp nhận chứng minh của Peeggy nếu tính toán ở bước 5 được kiểm tra cho mỗi vòng trong log2n vòng
Trang 3Giả sử thông báo là một bít = 0 và Peggy sẽ mã hoá b theo cách nào
đó Dạng đã mã hoá của b đôI khi được gọi blob và phương pháp mã hoá
được gọi là một sơ đồ cam kết bít Nói chung , một sơ đồ cam kết bít là một
hàm f: {0,1} x X → Y, trong đó X và Y là các tập hữu hạn Một phép mã hoá
của b là giá trị bất kỳ f(b,x), x∈X Ta có thể định nghĩa một cách phi hình
thức hai tính chất mà một sơ đồ cam kết phải thoả mãn
Tính chất giấu kín:
Với một bít b = 0 hoặc 1, Vic không thể xác định được giá trị của b từ blob f(b,x)
Tính ràng buộc :
Sau đó Peggy có thể mở được blob bằng cách tiết lộ giá trị x dùng mã hoá b để thuyết phục Vic rằng b là giá trị đã mã
Peggy không thể mở một blob bởi cả hai giá trị 0 và 1
Nếu Peggy muốm cam kết ( ràng buộc) một xâu bit bất kỳ thì một cách
đơn giản là cô ta phảI ràng buộc từng bit một cách độc lập
Một phương pháp để thực hiện cam kết bit là sử dụng hệ mật xác suất
Goldwasser - micali mô tả ở phần 12.4 hãy nhớ lại rằng trong hệ mật này n =
pq trong đó p, q là các số nguyên tố và m ∈ ???QR(n) Các số nguyên m và
n là công khai và chỉ có Peggy biết phân tích n = pq trong sơ đồ cam kết bit
ta có X = Y = Zn* và :
f(b,x)=mb x2 mod n
Peggy sẽ mã hoá giá trị b bằng cách chọn một số ngẫu nhiên x và tính
y=f(b,x) ; giá trị y chính là blob
Sau đó khi peggy muốn mở y, cô ta sẽ tiết lộ các giá trị b và x Khi đó
Vic có thể kiểm tra thấy rằng :
y ≡ mb x2 mod n
Ta xem xét tính giấu kín và tính ràng buộc Một blob là một phép mã
hoá của 0 hoặc 1, và sẽ không để lộ thông tin về giá trị bản rõ x miễn là bái
toán các thặng dư bậc hai là không có khả năng giảI ( ta đã thảo luận kỹ đIều
này chương 12 ) Bởi vậy sơ đồ có tính giấu kín
Liệu sơ đồ có tính ràng buộc không ? Nếu ta giả sử là không thì
m x12 ≡ x22(mod n)
Với các giá trị x1, x2 nào đó thuộc Zn Tuy nhiên
Trang 4m ≡ (x2x1-1)2 mod n
điều này mâu thuẫn bởi vì m ∈??????QR(n)
Các sơ đồ ràng buộc bit sẽ được dùng để xây dựng các phép chứng minh không tiết lộ thông tin Tuy nhiên chúng còn có một ứng dụng tuyết vời khác vào một bái toán tung đồng xu qua đIện thoại Giả sử Alice và Bob muốn đưa ra một quyết định nào đó dựa trên phép tung đồng xu ngẫu nhiên nhưng họ không ở cùng một địa đIểm ĐIều này có nghĩa là không thể thực hiện được công việc một người tung đồng xu thực còn người kia kiểm tra phép thử này Sơ đồ ràng buộc bit sẽ cho một phương pháp thoát khỏi tình trạng bế tắc này Một trong hai người ( chẳng hạn Alice ) sẽ chọn một bit ngẫu nhiên b và tính blob y Cô ta sẽ trao y cho Bob Bây giờ Bob sẽ giả định giá trị của b và rồi Alice sẽ mở blob để tiết lộ b ở đây, tính chất giấu kín có nghĩa là Bob không có khả năng tính b theo y đã cho, và tính chất ràng buộc
có nghĩa là Alice không thể thay đổi được lựa chọn của mình sau khi Bob tiết
lộ giả định của anh ta
Sau đây là một ví dụ khác về sơ đồ ràng buộc bit dựa trên bái toán logarithm rời rạc Từ phần 5.1.2 ta đã có : Nếu p ≡ 3 ( mod 4) là một số
nguyên tố sao cho bái toán logarithm trong Zp không giảI được thì bit bậc thấp nhất thứ hai của một logarit rời rạc là an toàn Trên thực tế, đối với các
số nguyên tố p ≡ 3 (mod 4), người ta chứng minh rằng thuật toán Monte -Carlo bất kỳ cho bái toán về bit thứ hai sẽ có xác suất sai bằng 1/2 - ε với ε>0 có thể được dùng để giảI toán logarit rời rạc trong Zp Kết quả mạnh hơn nhiều này là cơ sở cho sơ đồ ràng buộc bit
Sơ đồ ràng buộc này sẽ có X = {1, , p-1}và Y = Zp Bit bậc thấp nhất thứ hai của số nguyên x ( ký hiệu là SLB (x)) được xác định như sau :
sơ đồ ràng buộc bit được xác định bởi :
Nói cách khác bit b sẽ được mã bằng cách chọn một một phần tử ngẫu nhiên có bit cuối cùng thứ hai là b và nâng α lên luỹ thừa x modulo p.( Chú ý rằng SLB ( p-x ) ≠ SLB (x) vì p ≡ 3 ( mod 4))
3(mod4) 2,
x Nếu
mod4) 1(
0, x Nếu SLB
≡
≡
=
b SLB(x) Nếu
p mod α
b SLB(x) Nếu
p mod α x)
f(b,
1 -p
x
≠
=
=
Trang 5Sơ đồ thoả mãn tính ràng buộc và theo các nhận xét đã nêu, nó cũng thoả mãn tính giấu kín nếu bái toán logarit rời rạc trong Zp là không giảI được
13.4 các chứng minh không tiết lộ thông tin về mặt tính toán
Trong phần này ta sẽ đưa ra một hệ thống chứng minh không tiết lộ thông tin cho bái toán quyết định NP đầy đủ là bái toán về khả năng tô màu một đồ thị bằng ba màu, bái toán này được nêu ở hình 13.11
Hệ thống chứng minh sẽ sử dụng một đồ thị cam kết ( ràng buộc ) bit:
để xác định ,ta sẽ áp dụng sơ đồ ràng buộc bit được mô tả ở 13.3 ( dựa trên mã hoá xác suất ) Giả sử Peggy biết hàm φ ba màu của đồ thị G và cô ta muốn thuyết phục Vic rằng có thể tô màu G bằng ba màu theo kiểu không tiết lộ thông tin Không mất tính tổng quát, giả sử rằng G có tập đỉnh V={1 n} Ký hiệu m ={E} Hệ thống chứng minh sẽ được mô tả theo các thuật ngữ cuả sơ đồ ràng buộc f:{0,1} x X →Y ( được đưa ra công khai ) Vì không thể mã hoá một màu bằng một bit nên ta thay màu 1 bằng hai bit 01, màu hai bằng 10, màu ba bằng 11.Khi đó ta sẽ mã hoá mỗi bit trong hai bit (biểu thị màu ) bằng hàm f
Hình 13.11.khả năng tô đồ thị bằng ba mằu
Hệ thống chứng minh tương hỗ được trình bày trên hình 13.12.Một cách không hình thức ,quá trình xẩy ra như sau:ở mỗi vòng ,Peggy sẽ quy
Đặc trưng của bái toán :Một đồ thị G = (V,E) có n đỉnh
Vấn đề :Liệu có thể tô G bằng đúng 3 mầu hay không?
(Theo các thuật ngữ toán học có chăng một hàm ф:V(G)ặ{1,2,3}
sao cho {u,v}є E thì ф (u)= ф (v)?)