Chương này đã trình bày một số khái niệm, phân loại phương pháp giấu tin, thủy vân và các tính chất của một lược đồ giấu tin. Dựa trên những tính chất này, những chương tiếp theo sẽ phân tích, so sánh và đánh giá các lược đồ đề xuất so với những lược đồ liên quan.
Bên cạnh các khái niệm về giấu tin và thủy vân, chương này cũng nhắc đến một số khái niệm cơ bản trong mật mã học như: số nguyên tố, Định lý đồng dư Trung Hoa, hệ mật mã Rabin và hai phép biến đổi thông dụng trong xử lý dữ liệu đa phương tiện là DCT và DWT. Các phép biến đổi này được sử dụng ở Chương 3 và Chương 4 của luận án.
25
CHƯƠNG 2. GIẤU TIN VÀ HỆ MẬT MÃ RABIN CẢI TIẾN 2.1. Bảo mật dữ liệu bằng sự kết hợp giữa giấu tin và mật mã
Như đã đề cập, mật mã học là một trong những phương pháp hữu hiệu để bảo mật dữ liệu trên các kênh truyền công khai. Trong mật mã, nếu một sơ đồ sử dụng chung khóa cho cả thuật toán mã hóa (lập mã) và thuật toán giải mã thì được gọi là hệ mật mã khóa đối xứng. Một số hệ mật mã đối xứng thông dụng như: hệ mật mã DES (Data Encryption Standard), hệ mật mã AES (Advanced Encryption Standard). Hệ mật mã đối xứng thường có tốc độ thực hiện nhanh, tuy nhiên do sử dụng chung khóa nên dẫn đến khó khăn trong việc quản lý và trao đổi.
Trái với mật mã đối xứng, các hệ mật mã bất đối xứng sử dụng hai khóa khác nhau cho hai quá trình lập mã và giải mã. Nếu một trong hai khóa này có thể công khai mà không sợ ảnh hưởng đến khóa còn lại thì được gọi là hệ mật mã khóa công khai. Một số hệ mật mã khóa công khai phổ biến như RSA, Rabin và Elgamal.
Trong mô hình bảo mật dữ liệu bằng phương pháp mật mã, người gửi sử dụng khóa công khai (đối với hệ mật mã khóa công khai) hay khóa bí mật (đối với hệ mật mã đối xứng) để lập mã, và chuyển bản mã tới người nhận thông qua các kênh truyền công khai. Từ bản mã, người nhận giải mã bằng khóa bí mật để nhận được bản rõ tương ứng.
Ngoài việc ứng dụng trong bài toán bảo mật dữ liệu, hệ mật mã khóa công khai còn được dùng trong xác thực dữ liệu. Trong bài toán xác thực, người gửi sử dụng khóa bí mật để mã hóa đại diện của văn bản (chữ ký) và người nhận sử dụng khóa công khai để xác thực chữ ký.
Nhìn chung, quá trình trao đổi thông tin bằng phương pháp mật mã là khá an toàn. Tuy nhiên, việc bản mã được truyền tải trực tiếp trên đường truyền sẽ gây ra sự chú ý, thách thức cho các đối thủ. Điều này không những tạo ra nguy cơ lộ thông tin mà còn dễ dàng bị các đối thủ theo dõi. Hạn chế này không gặp phải khi sử dụng phương pháp giấu tin.
Giấu tin là phương pháp nhúng các thông điệp cần trao đổi vào những dạng dữ liệu được truyền tải phổ biến như: văn bản, hình ảnh và âm thanh. Việc trao đổi dữ liệu chứa tin (dạng dữ liệu thông dụng) trên đường truyền sẽ không gây ra sự chú ý với các đối thủ, tuy nhiên tính bảo mật của phương pháp giấu tin thường không cao
26
bằng mật mã. Do vậy, sự kết hợp giữa giấu tin với mật mã sẽ làm cho hệ thống an toàn hơn. Việc kết hợp hai phương pháp này có thể thực hiện theo những hướng tiếp cận sau:
1) Sử dụng các hệ mật mã để mã hóa tin mật và giấu bản mã vào dữ liệu đa phương tiện.
2) Sử dụng hệ mật mã khóa công khai để trao đổi khóa bí mật của các lược đồ giấu tin.
3) Kết hợp mật mã với giấu tin để xây dựng các lược đồ thủy vân dễ vỡ khóa công khai.
4) Kết hợp mật mã, giấu tin và thủy vân thuận nghịch để xây dựng mô hình bảo mật và xác thực dữ liệu trên đường truyền.
Nội dung chính của chương này đề xuất sơ đồ Rabin mới và hai lược đồ giấu tin mật trên ảnh nhị phân, ảnh chỉ số màu. Các đề xuất này được sử dụng trong Chương 3 để xây dựng mô hình bảo mật và xác thực dữ liệu trên đường truyền.
2.2. Một số kết quả gần đây về các sơ đồ Rabin cải tiến
Để khắc phục hạn chế của thuật toán giải mã trong sơ đồ Rabin [46] (từ một bản mã cho ra 4 bản rõ) đã có một số sơ đồ cải tiến như: Shimada [42], Chen – Tsu [14] và Harn [36]. Trong các sơ đồ Shimada và Chen-Tsu yêu cầu hai số nguyến tố 𝑝, 𝑞
có dạng 𝑝 ≡ 7 (𝑚𝑜𝑑 8) và 𝑞 ≡ 3 (𝑚𝑜𝑑 8), điều này dẫn đến phạm vi ứng dụng bị thu hẹp. Ngoài ra, hai sơ đồ này có hạn chế chung là phải tính toán khá nhiều. Sơ đồ của Harn [36] vẫn sử dụng các số nguyên tố 𝑝, 𝑞 có dạng 3 (𝑚𝑜𝑑 4) như hệ mật mã Rabin, nhưng đòi hỏi một khối lượng tính toán còn lớn hơn so với hai sơ đồ Shimada [42] và Chen-Tsu [14].
2.2.1.Sơ đồ Shimada
Sơ đồ Shimada [42] sử dụng hai số nguyên tố 𝑝, 𝑞 có dạng: 𝑝 ≡ 7(𝑚𝑜𝑑 8) và
𝑞 ≡ 3(𝑚𝑜𝑑 8). Thuật toán mã hóa sử dụng hai hàm 𝑡𝑒, 𝑢𝑒 và thuật toán giải mã sử dụng thêm hai hàm 𝑡𝑑, 𝑢𝑑. Nội dung thuật toán mã hóa và giải mã như sau :
2.2.1.1. Thuật toán mã hóa
Bản rõ 𝑀 thuộc {0, … , 𝑁 − 1} với 𝑁 = 𝑝 × 𝑞, bản mã 𝐶 được lập theo các bước:
27
Bước 1: Tính 𝑡𝑒(𝑀) theo công thức:
𝑡𝑒(𝑀) = { 𝟏, nếu 0 ≤ 𝑀 ≤ 𝑁 − 1 2 −𝟏, nếu 𝑁 + 1 2 ≤ 𝑀 ≤ (𝑁 − 1) Bước 2: Tính 𝑢𝑒(𝑀): 𝑢𝑒(𝑀) = {1, nếu 𝐽 ( 𝑀 𝑁 ) = 0 hoặc 1 2, nếu 𝐽 (𝑀 𝑁) = −1 Bước 3: Tính 𝜃: 𝜃 = 𝑀2 𝑚𝑜𝑑 𝑁 Bước 4: Tạo bản mã 𝐶: 𝐶 = 𝑡𝑒(𝑀) × 𝑢𝑒(𝑀) × 𝜃 𝑚𝑜𝑑 𝑁
2.2.1.2. Thuật toán giải mã
Khi biết bản mã 𝐶 thuộc {0, … , 𝑁 − 1} thì bản rõ 𝑀 được xác định theo các bước: Bước 1: Tính 𝑡𝑑(𝐶): 𝑡𝑑(𝐶) = { 1, nếu 𝐿 (𝐶 𝑝) = 𝐿 ( 𝐶 𝑞) = 0 𝐿 (𝐶 𝑝) , nếu 𝐿 ( 𝐶 𝑝) = 0 𝑣à 𝐿 ( 𝐶 𝑞) ≠ 0 𝐿 (𝐶 𝑞) , nếu 𝐿 ( 𝐶 𝑝) ≠ 0 Bước 2: Tính 𝑢𝑑(𝐶): 𝑢𝑑(𝐶) = { 1, nếu 𝐿 (𝐶 𝑝) × 𝐿 ( 𝐶 𝑞) = 0 hoặc 1 2, nếu 𝐿 (𝐶 𝑝) × 𝐿 ( 𝐶 𝑞) = −1 Bước 3: Tính 𝜃: 𝜃 = 𝐶 × [𝑡𝑑(𝐶)]−1× [𝑢𝑑(𝐶)]−1 𝑚𝑜𝑑 𝑁 Bước 4: Tìm bản rõ 𝑀:
28
Giải phương trình 𝑋2 ≡ 𝜃 (𝑚𝑜𝑑 𝑁) theo mục 1.4.5 để tìm một nghiệm thỏa mãn các điều kiện:
𝑡𝑒(𝑥) = 𝑡𝑑(𝐶) và 𝑢𝑒(𝑥) = 𝑢𝑑(𝐶)
nghiệm tìm được chính là bản rõ 𝑀.
2.2.2.Sơ đồ Chen-Tsu
Sơ đồ Chen-Tsu [14] là sự cải tiến của sơ đồ Shimada nhằm giảm khối lượng tính toán trong thuật toán giải mã. Hai sơ đồ này có cùng thuật toán mã hóa và chỉ khác thuật toán giải mã, nội dung thuật toán giải mã như sau:
Bước 1: Tính 𝑡𝑑(𝐶), 𝑢𝑑(𝐶) và 𝜃 như trong thuật toán giải mã của Shimada.
Bước 2: Xác định hai nghiệm 𝑥1và 𝑥2 của phương trình 𝑋2 ≡ 𝜃 (𝑚𝑜𝑑 𝑁) theo mục 1.4.5.
Bước 3: Bản rõ 𝑀 được xác định tùy thuộc vào giá trị của mỗi nghiệm và của các hàm 𝑡𝑑(𝐶), 𝑢𝑑(𝐶). Xét 4 trường hợp:
T/h1:𝑡𝑑(𝐶) = 1 và 𝑢𝑑(𝐶) = 1,
Nếu 𝑥1 ∈ [0,𝑁−1
2 ] thì 𝑀 = 𝑥1, trái lại 𝑀 = 𝑁 − 𝑥1
T/h2: 𝑡𝑑(𝐶) = 1 và 𝑢𝑑(𝐶) = 2,
Nếu 𝑥2 ∈ [0,𝑁−12 ] thì 𝑀 = 𝑥2, trái lại 𝑀 = 𝑁 − 𝑥2
T/h3: 𝑡𝑑(𝐶) = −1 và 𝑢𝑑(𝐶) = 2, Nếu 𝑥2 ∈ [𝑁+1 2 , 𝑁 − 1] thì 𝑀 = 𝑥2, trái lại 𝑀 = 𝑁 − 𝑥2 T/h4:𝑡𝑑(𝐶) = −1 và 𝑢𝑑(𝐶) = 1, Nếu 𝑥1 ∈ [𝑁+1 2 , 𝑁 − 1] thì 𝑀 = 𝑥1, trái lại 𝑀 = 𝑁 − 𝑥1
2.3. Đề xuất một sơ đồ Rabin mới
Dựa trên ý tưởng của các sơ đồ [14,36,42], phần này đề xuất sơ đồ Rabin mới cũng có khả năng xác định bản rõ duy nhất trong thuật toán giải mã, nhưng khối lượng tính toán của thuật toán giải mã ít hơn hẳn so với các thuật toán giải mã của hai sơ đồ Shimada và Chen-Tsu. Ngoài ra, sơ đồ đề xuất vẫn sử dụng hai số nguyên tố 𝑝, 𝑞 có dạng 3 (mod 4) nên phạm vi ứng dụng cũng được cải thiện hơn. Trước tiên luận án xét phương trình Rabin:
29
2.3.1.Phương trình Rabin
Phương trình đồng dư bậc hai có dạng:
𝑋2 ≡ 𝜃 (𝑚𝑜𝑑 𝑁 ) (2.1)
Trong đó, 𝑋 là nghiệm cần tìm, 𝜃 và 𝑁 là hai tham số đã biết. Những tham số này có hai tính chất sau:
- 𝑁 = 𝑝 × 𝑞 và 𝑝, 𝑞 là hai số nguyên tố có dạng 3 mod 4. - 𝜃 là thặng dư bình phương của 𝑁 và 0 ≤ 𝜃 < 𝑁
Phương trình (2.1) được sử dụng trong thuật toán giải mã của sơ đồ Rabin, nên luận án gọi là phương trình Rabin. Theo mục 1.4.5, phương trình này có tối đa bốn nghiệm phân biệt 𝑥1, 𝑥2, 𝑥2, 𝑥4 và khi biết hai số nguyên tố 𝑝, 𝑞 thì các nghiệm này có thể được xác định như sau:
𝑥1 = 𝑅𝑜𝑜𝑡(𝑥𝑝, 𝑥𝑞), 𝑥2 = 𝑅𝑜𝑜𝑡(𝑥𝑝, 𝑞 − 𝑥𝑞),
𝑥3 = 𝑅𝑜𝑜𝑡(𝑝 − 𝑥𝑝, 𝑥𝑞) và 𝑥4 = 𝑅𝑜𝑜𝑡(𝑝 − 𝑥𝑝, 𝑞 − 𝑥𝑞)
Trong đó:
- 𝑥𝑝 = 𝜃(𝑝+1)/4 𝑚𝑜𝑑 𝑝 và 𝑥𝑞 = 𝜃(𝑞+1)/4 𝑚𝑜𝑑 𝑞
- Ký hiệu 𝑅𝑜𝑜𝑡(𝑢, 𝑣) là nghiệm của hệ phương trình đồng dư:
{𝑥 ≡ 𝑢 (mod 𝑝) 𝑥 ≡ 𝑣 (mod 𝑞)
Nghiệm của hệ này có thể tính theo Định lý đồng dư Trung Hoa.
Định lý 2.1. (1)Nếu 𝑝|𝜃 thì 𝑥1 = 𝑥3, 𝑥2 = 𝑥4, 𝑥2 = 𝑁 – 𝑥1, 𝐽 (𝑥1 𝑁) = 𝐽 (𝑥2 𝑁) = 0 (2)Nếu 𝑞|𝜃 thì 𝑥1 = 𝑥2, 𝑥3 = 𝑥4, 𝑥3 = 𝑁 – 𝑥1, 𝐽 (𝑥1 𝑁) = 𝐽 (𝑥3 𝑁) = 0 (3)Nếu 𝑝⏋𝜃 và 𝑞⏋𝜃 thì: - 𝐽 (𝑥1 𝑁) = 𝐽 (𝑥4 𝑁) = 1 và 𝑥4 = 𝑁 − 𝑥1 - 𝐽 (𝑥2 𝑁) = 𝐽 (𝑥3 𝑁) = −1 và 𝑥3 = 𝑁 − 𝑥2
Ký hiệu 𝑝⏋𝜃 (𝑞⏋𝜃 ) có nghĩa 𝜃 không chia hết cho 𝑝 (𝑞).
Chứng minh Định lý 2.1
30
𝑥1 = 𝑥3, 𝑥2 = 𝑥4, 𝐽 (𝑥1
𝑁) = 𝐽 ( 𝑥2
𝑁) = 0
Như vậy phương trình (2.1) có hai nghiệm 𝑥1 và 𝑥2 nên 𝑥2 = 𝑁 – 𝑥1. Vậy, (1) được chứng minh. Và (2) được chứng minh tương tự.
(3) Do 𝑝⏋θ, 𝑞⏋θ và các giả thiết về 𝜃, 𝑝, 𝑞, 𝑁 suy ra 𝑥𝑝 là thặng dư bậc hai của
𝑝 và 𝑥𝑞 là thặng dư bậc hai của 𝑞, nên:
𝐿 (𝑥𝑝
𝑝) = 𝐿 (𝑥𝑞
𝑞) = 1.
Vì 𝑝 có dạng 3 mod 4, nên từ các tính chất cơ sở của Legendre suy ra:
𝐿 (𝑝 − 𝑥𝑝 𝑝 ) = 𝐿 ( −𝑥𝑝 𝑝 ) = 𝐿 ( −1 𝑝 ) × 𝐿 ( 𝑥𝑝 𝑝) = 𝐿 ( −1 𝑝 ) = (−1)𝑝−12 = −1.
Tương tự suy ra:
𝐿 (𝑞−𝑥𝑞 𝑞 ) = −1. Từ đó suy ra: 𝐽 (𝑥1 𝑁) = 𝐽 ( 𝑥4 𝑁) = 1, 𝐽 ( 𝑥2 𝑁) = 𝐽 ( 𝑥3 𝑁) = −1
Mặt khác có thể thấy, nếu 𝑥 là nghiệm của phương trình (2.1) và 𝐽 (𝑁𝑥) = 1 hoặc -1, thì 𝑁 − 𝑥 cũng là nghiệm của phương trình (2.1) và 𝐽 (𝑁−𝑥
𝑁 ) = 𝐽 (𝑥
𝑁). Từ đó suy ra, 𝑥4 = 𝑁 − 𝑥1 và 𝑥3 = 𝑁 − 𝑥2.
Vậy Định lý 2.1 được chứng minh. Từ Định lý 2.1 suy ra hệ quả sau:
Hệ quả 2.1
Giả sử 𝑀 là nghiệm cần tìm của phương trình (2.1), thì 𝑀 có thể được xác định như sau:
(1) Nếu 𝐽 (𝑀
𝑁) = 0 hoặc 1, thì 𝑀 = 𝑥1hoặc 𝑀 = 𝑁 − 𝑥1 (2) Nếu 𝐽 (𝑀
𝑁) = −1, thì 𝑀 = 𝑥2hoặc 𝑀 = 𝑁 − 𝑥2
31
Nhận xét 2.1.
Khi biết 𝐽 (𝑀
𝑁) và biết 𝑀 thuộc nửa trên [0,𝑁−1
2 ] hoặc nửa dưới [ 𝑁+1
2 , 𝑁 − 1]của đoạn [0, 𝑁 − 1], thì từ Hệ quả 2.1 có thể xác định duy nhất giá trị 𝑀 thông qua 𝑥1
hoặc 𝑥2. Ý tưởng này sẽ được sử dụng trong sơ đồ đề xuất.
2.3.2.Thuật toán mã hóa
Với bản rõ 𝑀 thuộc {0, … , 𝑁 − 1} (với 𝑁 = 𝑝 × 𝑞), bản mã 𝐶 được xác định theo các bước: Bước 1: Xác định tham số 𝛼: 𝛼 = { 0, nếu 𝐽 (𝑀 𝑁) = 0 hoặc 1 và 𝑀 ∈ [0, 𝑁 − 1 2 ] 1, nếu 𝐽 (𝑀 𝑁) = 0 hoặc 1 và 𝑀 ∈ [ 𝑁 + 1 2 , 𝑁 − 1] 2, nếu 𝐽 (𝑀 𝑁) = −1 và 𝑀 ∈ [0, 𝑁 − 1 2 ] 3, nếu 𝐽 (𝑀 𝑁) = −1 và 𝑀 ∈ [ 𝑁 + 1 2 , 𝑁 − 1]
Bước 2: Xác định bản mã 𝐶 theo công thức:
𝐶 = 4 × (𝑀2 𝑚𝑜𝑑 𝑁) + 𝛼
2.3.3.Thuật toán giải mã
Khi biết bản mã 𝐶, việc xác định bản rõ 𝑀 gồm các bước :
Bước 1: Tính
- 𝛽 = 𝐶 𝑚𝑜𝑑 4
- 𝜃 = 𝐶 𝑑𝑖𝑣 4
Bước 2: Xét phương trình đồng dư:
𝑋2 ≡ θ (mod N)
Nếu 𝛽 = 0 hoặc 𝛽 = 1 thì tính nghiệm 𝑥1, còn nếu 𝛽 = 2 hoặc 𝛽 = 3 thì tính nghiệm 𝑥2 của phương trình đồng dư trên theo các công thức trong mục 2.3.1.
Bước 3: Bản rõ 𝑀 được xác định theo 𝛽 và 𝑥1 hoặc 𝑥2 như sau:
32
𝑀 = {𝑥1, nếu 𝑥1 ∈ [0,𝑁 − 1 2 ] 𝑁 − 𝑥1, nếu trái lại
T/h2:𝛽 = 1, thì:
𝑀 = {𝑥1, nếu 𝑥1 ∈ [
𝑁+1
2 , 𝑁 − 1] 𝑁 − 𝑥1, nếu trái lại
T/h3:𝛽 = 2, thì:
𝑀 = {𝑥2, nếu 𝑥2 ∈ [0,𝑁 − 1 2 ] 𝑁 − 𝑥2, nếu trái lại
T/h4:𝛽 = 3, thì:
𝑀 = { 𝑥2, nếu 𝑥1 ∈ [
𝑁+1
2 , 𝑁 − 1] 𝑁 − 𝑥2, nếu trái lại
2.3.4. Xét ví dụ minh họa sơ đồ Rabin đề xuất
Để làm rõ hơn nội dung của sơ đồ đề xuất, ta xét hai ví dụ minh họa quá trình mã hóa và giải mã ứng với hai số nguyên tố 𝑝, 𝑞 có dạng 3 (mod 4) như sau:
𝑝 = 43 = 3 + 4 × 10 và 𝑞 = 31 = 3 + 4 × 7. Vậy 𝑁 = 𝑝 × 𝑞 = 1333. Ví dụ 1: Xét bản rõ 𝑀 = 213 Quá trình mã hóa Bước 1: 𝐽 (𝑀 𝑁) = 𝐽 (213
1333) = −1 (tính theo thuật toán trong [2], trang 110).
Do 𝑀 ∈ [0,𝑁−1 2 ] và 𝐽 (𝑀 𝑁) = −1 nên 𝜶 = 2 Bước 2: 𝐶 = 4(𝑀2 mod 𝑁) + 𝛼 = 4(1232 mod 1333) + 2 = 190 Quá trình giải mã Bước 1: 𝛽 = 𝐶 𝑚𝑜𝑑 4 = 190 𝑚𝑜𝑑 4 = 2 và 𝜃 = 𝐶 𝑑𝑖𝑣 4 = 190 𝑑𝑖𝑣 4 = 47
33
{𝑥𝑝 = 𝜃(𝑝+1)/4 𝑚𝑜𝑑 𝑝 = 4711 𝑚𝑜𝑑 43 = 41 𝑥𝑞 = 𝜃(𝑞+1)/4 𝑚𝑜𝑑 𝑞 = 478 𝑚𝑜𝑑 31 = 4
Giải hệ phương trình đồng dư:
{𝑥2 ≡ 𝑥𝑝 (𝑚𝑜𝑑 𝑝) 𝑥2 ≡ 𝑞−𝑥𝑞 (𝑚𝑜𝑑 𝑞){ 𝑥2 ≡ 41 (𝑚𝑜𝑑 43 ) 𝑥2 ≡ 31 − 4 (𝑚𝑜𝑑 31){ 𝑥2 ≡ 41 (𝑚𝑜𝑑 43) 𝑥2 ≡ 27 (𝑚𝑜𝑑 31 ) được nghiệm 𝑥2 = 213. Bước 3: Do 𝛽 = 2 và 𝑥2 ∈ [0,𝑁−1 2 ]nên 𝑀 = 𝑥2. Vậy 𝑀 = 213. Ví dụ 2: Xét 𝑀 = 913 Quá trình mã hóa Bước 1: 𝐽 (𝑀 𝑁) = 𝐽 (913
1333) = 1 (tính theo thuật toán trong [2], trang 110).
Do 𝑀 ∈ [𝑁+1 2 , 𝑁 − 1] và 𝐽 (𝑀 𝑁) = 1 nên 𝛼 = 1. Bướć3: ́ ́ ́ ́ ́́ ́ 𝐶 = 4 × (𝑀2 mod 𝑁) + 𝛼 = 4 × (913𝟐 mod 1333) + 1 = 1777 Quá trình giải mã Bước 1: 𝛽 = 𝐶 𝑚𝑜𝑑 4 = 1777 𝑚𝑜𝑑 4 = 1 và 𝜃 = 𝐶 𝑑𝑖𝑣 4 = 1777 𝑑𝑖𝑣 4 = 444
Bước 2: Do 𝛽 = 1, xác định nghiệm 𝑥1 như sau:
{𝑥𝑝 = 𝜃
(𝑝+1)/4 𝑚𝑜𝑑 𝑝 = 44411 𝑚𝑜𝑑 43 = 10 𝑥𝑞 = 𝜃(𝑞+1)/4 𝑚𝑜𝑑 𝑞 = 4448 𝑚𝑜𝑑 31 = 14
Giải hệ phương trình đồng dư:
{𝑥1 ≡ 𝑥𝑝 (𝑚𝑜𝑑 𝑝) 𝑥1 ≡ 𝑥𝑞(𝑚𝑜𝑑 𝑞) { 𝑥1 ≡ 10 (𝑚𝑜𝑑 43 ) 𝑥1 ≡ 14 (𝑚𝑜𝑑 31) được nghiệm 𝑥1 = 913. Bước 3: Do β = 1 và 𝑥1 ∈ [𝑁+1 2 , 𝑁 − 1]nên 𝑀 = 𝑥1. Vậy 𝑀 = 913.
34
Các ví dụ trên cho thấy, sơ đồ đề xuất đều xác định đúng và duy nhất bản rõ ứng với mỗi bản mã. Ngoài ra, nội dung thuật toán khá đơn giản so với hai sơ đồ Shimada và Chen-Tsu.
2.3.5.Chứng minh tính đúng đắn của sơ đồ Rabin đề xuất
Từ Bước 2 của thuật toán mã hóa và Bước 1 của thuật toán giải mã ta có thể dễ dàng suy ra:
𝛽 = 𝛼 và 𝜃 ≡ 𝑀2 (𝑚𝑜𝑑 𝑁)
Như vậy, 𝜃 là thặng dư bình phương của 𝑁, nên phương trình ở Bước 2 trong thuật toán giải mã chính là phương trình Rabin và bốn nghiệm 𝑥1, 𝑥2, 𝑥3, 𝑥4 có thể được tính theo các công thức trong mục 2.3.1.
Mặt khác, bản rõ 𝑀 hiển nhiên cũng là một nghiệm của phương trình này. Do đó,
𝑀 phải trùng với một trong bốn nghiệm nói trên.
Vì 𝛽 = 𝛼, nên 𝛽 có thể nhận một trong bốn giá trị từ 0 đến 3. Ta sẽ lần lượt xét từng trường hợp trong Bước 3 của thuật toán giải mã.
T/h1: Nếu 𝛽 = 0, thì từ Bước 1 thuật toán mã hóa suy ra 𝐽 (𝑀𝑁) = 0 hoặc 1 và 𝑀
thuộc nửa trên [0, 𝑁−12 ]. Nên theo Hệ quả 2.1, 𝑀 = 𝑥1 hoặc 𝑀 = 𝑁 − 𝑥1. Vì vậy, 𝑀 = 𝑥1 nếu 𝑥1 thuộc nửa trên và 𝑀 = 𝑁 − 𝑥1 nếu trái lại.
T/h2: Nếu 𝛽 = 1, lập luận tương tự chỉ khác 𝑀 thuộc nửa dưới, do đó 𝑀 = 𝑥1
nếu 𝑥1 thuộc nửa dưới và 𝑀 = 𝑁 − 𝑥1 nếu trái lại.
T/h3: Nếu 𝛽 = 2, theo thuật toán mã hóa suy ra 𝐽 (𝑀𝑁) = −1 và 𝑀 thuộc nửa trên. Do 𝐽 (𝑀𝑁) = −1 nên theo Hệ quả 2.1, 𝑀 = 𝑥2 hoặc 𝑁 − 𝑥2. Vậy 𝑀 = 𝑥2 nếu