Chƣơng 3 : PHÂN TÍCH ĐÁNH GIÁ MỘT SỐ HỆ MÃ HOÁ
3.5.2. An toàn Planitext – Awareness
3.5.2.1. Weak plaintext – Awareness(WPA hay PA94)
Khái niệm an toàn này được giới thiệu bởi Mihir Bellare và Phillip Rogaway, gắn liền với mô hình máy tư vấn ngẫu nhiên, được phát biểu một cách không hình thức như sau:
Không thể tạo ra bản mã hợp lệ, mà không biết bản rõ tương ứng của nó.
Khái niệm an toàn này được định nghĩa một cách hình thức thông qua
Plaintext – Extractor P (máy trích chọn bản rõ).
Trong mô hình máy tư vấn ngẫu nhiên, có thể lưu giữ những lần truy vấn tới máy ngẫu nhiên O và kết quả trả lời của nó vào trong một danh sách, khi thám mã A tương tác với máy ngẫu nhiên.
Plaintext – Extractor P có khả năng mô phỏng giải thuật giải mã mà không cần khóa bí mật.
Nó nhận đầu vào là bản mã y được tạo ra bởi bất kỳ thám mã A nào, cùng với danh sách những câu truy vấn / trả lời tới máy ngẫu nhiên của thám mã đó. Cho đầu ra là bản rõ tương ứng với bản mã y với xác xuất đúng rất lớn (xấp xỉ bằng 1).
Ở đây bản mã y được thám mã tạo ra nhờ dùng máy tư vấn mã hóa. Ký hiệu tập những bản mã như vậy là C.
Máy tư vấn mã hóa là máy có cài đặt sẵn giải thuật mã hóa, cứ cho đầu vào là bản rõ (input), sẽ có đầu ra là bản mã (output).
Nói cách khác là cho trước bản mã y cùng với danh sách các câu truy vấn / trả lời tới máy ngẫu nhiên, Plaintext – Extractor P sẽ cho đầu ra là bản rõ (hoặc câu trả lời “Reject”) với xác xuất rất lớn.
Ký hiệu Succwpa
(P) là xác xuất mà P (ở trường hợp WPA) sẽ cho đầu ra là bản rõ tương ứng với bản mã y. Ý nghĩa của Succwpa
(P) chính là xác xuất mà P cho ra dự đoán đúng bản rõ (ở trường hợp WPA).
Ký hiệu ExecA(pk) (y, O) có nghĩa là thám mã A biết khóa công khai pk, cho đầu ra là bản mã y và danh sách các câu truy vấn / trả lời tới máy ngẫu nhiên O. Ta lưu ý ở đây bản mã y là do kẻ thám mã tạo ra bằng một cách nào đó, ở trường hợp này là dùng máy tư vấn mã hóa.
Succwpa (P) = Pr[(Gk({0, 1}k ) (pk, sk), ExecA(pk) (y, O)): P(y, O) = Dsk(y)] có giá trị rất lớn.
Hay 1 - Succwpa (P) là không đáng kể. D là hàm giải mã của lược đồ.
Dsk(y) chính là bản rõ : Giải mã bản mã y dưới khóa bí mật sk.
P(y, O) chính là kết quả dự đoán bản rõ của máy P với đầu vào là y và O.
Ví dụ : Như trong trường hợp sinh viên sau khi lấy được câu hỏi đề thi, nhưng không thể hỏi giáo sư trực tiếp trên câu hỏi đề thi này được, bèn dùng một câu hỏi tương tự như câu hỏi đề thi đó, để hỏi giáo sư. Ở đây khả năng tạo ra một câu hỏi, tương tự như câu hỏi đề thi như thế, chính là việc tạo ra một bản mã y như trên. Như thế ta có thể thấy rằng, sinh viên muốn tạo ra được một câu hỏi tương tự như câu hỏi của đề thi, thì rõ ràng phải có câu trả lời trước (bản rõ), mà như vậy thì không còn ý nghĩa, vì sinh viên tạo ra câu hỏi tương tự câu hỏi của đề thi nhằm mục đích hỗ trợ cho việc biết được lời giải của đề thi.
Một cách nói khác :
Máy (t, ) Plaintext – Extractor P : nếu xác xuất mà P cho kết quả là bản rõ sai (cho đầu ra sai) là bé hơn , P chạy trong thời gian tối đa là t.
t là thời gian chạy tối đa của P,
là xác xuất P cho đầu ra là kết quả dự đoán sai.
Pr[(Gk({0, 1}k ) (pk, sk), ExecA(pk) (y, O)): P(y, O) Dsk(y)] ≤ là lượng “không đáng kể” nên rõ ràng ta hiểu rằng xác xuất mà P cho đầu ra sai là “không đáng kể”, hay xác xuất mà P cho đầu ra đúng là xấp xĩ 1.
3.5.2.2. Plaintext – Awareness(PA hay PA98)
Như 3.5.2.1 ta ký hiệu tập những bản mã, mà được thám mã tạo ra nhờ vào máy tư vấn mã hóa là C.
Thực tế có nhiều những bản mã y hợp lệ, mà không được tạo ra bởi thám mã nhờ máy tư vấn mã hóa, mà bằng một phương pháp nào đó, ví dụ như nghe trộm trên đường truyền hay ăn cắp ở đâu đó.
Ví dụ: Như trong trường hợp đề thi như ta trình bày ở 3.5.2.1, lúc này sinh viên có thể đến nhà giáo sư và "vô tình" nhìn thấy một câu hỏi tương tự với câu hỏi của đề thi, và ăn cắp về, lúc này rõ ràng sinh viên có một câu hỏi tương tự với câu hỏi của đề thi (tức là đã tạo ra một bản mã y), mà không cần nhờ đến máy tư vấn mã hóa. Nghĩa là y C.
Như thế dẫn tới khái niệm mạnh hơn là PA hay PA98 như sau:
Thám mã cho đầu ra là bản mã y (không thuộc C), bản mã này được cho trước tới Plaintext – Extractor P cùng với list O (danh sách các câu truy vấn / trả lời tới O) và C.
Dựa trên những dữ liệu này, Plaintext – Extractor P cho đầu ra là bản rõ (hoặc là câu trả lời “Reject”) với xác xuất lớn Succpa
(P) như sau: Succpa(P) = Pr[(Gk({0, 1}k ) (pk, sk), ExecA(pk) (y, C, O)): P(y, C, O) = Dsk(y)]
Ký hiệu ExecA
(pk) (y, C, O) có nghĩa là thám mã A với đầu vào là khóa pk cho đầu ra là danh sách các câu truy vấn / trả lời tới O, tập các bản mã được thám mã tạo ra nhờ vào máy tư vấn C, và bản mã y C. Ở đây chú ý rằng y không nằm trong C, nói cách khác y là bản mã hợp lệ được tạo ra bằng một cách nào đó (ví dụ như nghe trộm trên đường truyền) mà không phải bằng cách dùng máy tư vấn mã hóa.
Ta liên hệ lại với định nghĩa ban đầu về khái niệm an toàn PA, “ không thể tạo ra bản mã hợp lệ mà không biết bản rõ tương ứng của nó”.
Rõ ràng là thám mã tạo ra bất kỳ bản mã hợp lệ nào dù bằng bất kỳ phương pháp nào (dùng máy tư vấn mã hóa, hay nghe trộm, …) thì cũng vẫn biết bản rõ tương ứng của nó với xác xuất rất lớn nhờ dùng máy Plaintext – Extractor.
Hiểu theo cách khác :
Một hệ mã đạt an toàn Planitext – Awareness là hệ mã có máy Plaintext – Extractor như trên với mọi thám mã, để cho thám mã không thể tạo ra bản mã hợp lệ, mà thám mã không biết trước bản rõ tương ứng của nó.
Ví dụ : Như thế ta có thể thấy rằng sinh viên sau khi lấy được câu hỏi đề thi, nhưng không thể hỏi giáo sư các câu hỏi đó, cũng như không có khả năng tạo ra các câu hỏi tương tự với câu hỏi đó (trường hợp PA94), nếu có khả năng ấy như trong trường hợp PA98 (bằng cách ăn cắp chẳng hạn), thì sinh viên cũng luôn biết trước được lời giải nhờ máy P , mà việc sinh viên biết trước được lời giải rồi thì việc hỏi giáo sư không còn ý nghĩa nữa. Nên đề thi vẫn không thể giải được dù sinh viên có hỏi giáo sư bất kỳ câu hỏi nào, hay nói cách khác hệ mã là an toàn.
Kết luận:
PA hay PA98 tương ứng với khái niệm an toàn IND-CCA2, còn WPA hay PA94 tương ứng với khái niệm an toàn IND-CCA1.