ĐỊNH LÝ THẶNG DƯ TRUNG HOA

Một phần của tài liệu BÀI TOÁN LOGARIT rời rạc và DIFFIE HELLMAN (Trang 26 - 29)

Đẳng thức đồng dư đầu chỉ ra rằng x 1 (mod 5). Do đó, tập nghiệm của phương trình đầu là họ các số nguyên

x = 1 + 5y, y 2 Z. Thay (7.3) vào phương trình thứ hai của (7.2) ta có

1 + 5y 9 (mod 11), và do đó 5y 8 (mod 11).

Ta giải y bằng cách nhân cả 2 vế của (7.4) với nghịch đảo của 5 modulo 11. Nghịch đảo này tồn tại do gcd(5, 11) = 1 và có thể tính được. Tuy nhiên, trong trường hợp này việc lấy modulo là số nhỏ nên ta có thể tìm bằng cách "vét cạn"do 5.9 = 45 1

(mod 11). Trong mọi trường hợp, nhân cả hai vế của (7.4) với 9 ta suy ra

y 9.8 72 6 (mod 11). Cuối cùng, thay giá trị của y vào (7.3) ta thu được nghiệm

x = 1 + 5.6 = 31 của bài toán ban đầu.

Cách làm ở ví dụ trên có thể sử dụng để suy ra một công thức tổng quát cho nghiệm của hệ hai phương trình đồng dư.

Định lý 7.2 (Định lý thặng dư Trung Hoa).Cho m1, . . . , mk là họ các số nguyên đôi một nguyên tố cùng nhau. Điều này nghĩa là

gcd(mi, mj) = 1 với mọi i 6= j.

Cho a1, . . . , aklà các số nguyên bất kỳ. Khi đó hệ các phương trình đồng dư

x a1 (mod m1), x a2 (mod m2), . . . , x ak (mod mk).

có nghiệm x = c. Hơn nữa, nếu x = c x = c0 đều là nghiệm, khi đó

c c0 (mod m1m2 mk).

Chứng minh. Giả sử rằng với một giá trị nào đó của i ta đã tìm được nghiệm x = ci cho hệ phương trình đồng dư

x a1 (mod m1), x a2 (mod m2), . . . , x ai (mod mi).

Ví dụ, nếu i = 1, thì c1 = a1. Ta sẽ giải thích cách làm để tìm ra nghiệm cho một phương trình đồng dư nữa

x a1 (mod m1), x a2 (mod m2), . . . , x ai+1 (mod mi+1). 21

Ý tường là ta sẽ tìm nghiệm dưới dạng

x = ci + m1 miy.

Để ý rằng giá trị này của x vẫn thỏa mãn tất cả phương trình trong (7.7), do đó ta cần chọn được y sao cho nó cũng thỏa mãn x ai+1 (mod mi+ 1). Nói cách khác, ta cần tìm một giá trị của y thỏa mãn

ci + m1m2 miy ai+1 (mod mi+1).

Việc gcd(mi+1, m1m2 mi) = 1 chỉ ra rằng ta luôn có thể làm được điều này. Do đó ta đã chỉ ra sự tồn tại nghiệm của hệ phương trình đồng dư đã cho.

Chứng minh của Định lý thặng dư Trung Hoa dễ dàng chuyển thành một thuật toán tìm nghiệm của một hệ phương trình đồng dư. Ví dụ dưới đây được dùng để mô tả phương pháp tổng quát.

Ví dụ 7.3. Ta giải hệ phương trình đồng dư

x 2 (mod 3), x 3 (mod 7), x 4 (mod 16).

Định lý thặng dư Trung Hoa chỉ ra rằng tồn tại duy nhất một nghiệm modulo 336, do 336 = 3.7.16. Ta bắt đầu với nghiệm x = 2 cho phương trình đồng dư đầu tiên là

x 2 (mod 3). Ta sử dụng nó để tìm nghiệm tổng quát dưới dạng x = 2 + 3y và thay vào phương trình đồng dư thứ 2 ta có

2 + 3y 3 (mod 7).

Ta rút gọn còn 3y 1 (mod 7), và ta nhân cả hai vế với 5 (do 5 là nghịch đảo của 3 modulo 7) để thu được y 5 (mod 7). Khi đó, ta có giá trị

x = 2 + 3y = 2 + 3.5 = 17

là một nghiệm của hai phương trình đồng dư đầu trong (7.8).

Nghiệm tổng quát cho hai phương trình đầu là x = 21z + 17. Ta thay vào phương trình đồng dư thứ ba ta thu được

21z + 17 4 (mod 16).

Suy ra 5z 3 (mod 16). Ta nhân hai vế với 13, là nghịch đảo của 5 modulo 16, thu được

z 3.13 39 7 (mod 16). Cuối cùng, ta thấy x = 17 + 21z để thu được nghiệm

x = 17 + 21.7 = 164.

Các nghiệm khác thu được bằng cách cộng hoặc trừ một số lần bội của 336 với nghiệm trên.

7.1 Giải các phương trình đồng dư với các modulo hợp số 7 ĐỊNH LÝ THẶNG DƯ TRUNG HOA

7.1 Giải các phương trình đồng dư với các modulo hợp số

Thông thường cách dễ nhất để giải một phương trình đồng dư với một modulo hợp số bằng cách giải các phương trình đồng dư modulo các số nguyên tố (hoặc lũy thừa của số nguyên tố) và sau đó kết hợp nghiệm bằng cách sử dụng Định lý thặng dư Trung Hoa. Ta sẽ minh họa quy tắc đó trong phần này bằng cách đưa ra bài toán tìm căn bậc 2 modulo m. Việc tính căn bậc hai của một số modulo nguyên tố khá dễ dàng. Thật vậy, với các số nguyên tố đồng dư 3 modulo 4, việc tìm căn bậc hai rất dễ.

Mệnh đề 7.4. Cho p là một số nguyên tố thỏa mãn p 3 ( mod 4). Cho a là một số nguyên sao cho x2 a (mod p) có nghiệm, nghĩa là a có một căn bậc hai modulo p. Khi đó

p+1

b a 4 (mod p)

là một nghiệm thỏa mãn b2a (mod p).

Chứng minh. Cho g là một phần tử nguyên thủy modulo p. Khi đó a là một lũy thừa của g, và việc a có căn bậc hai modulo p nghĩa là a là một lũy thừa chẵn của g, giả sử là a g2k (mod p). Khi đó, ta tính

p+1 b2 a 2 p+1 (g2k) 2 g(p+1)k g2k+(p 1)k a.(gp 1 )k a

( mod p) theo định nghĩa của b, ( mod p) do a g2k (mod p), ( mod p) ( mod p) ( mod p) do a g2k (mod p), ( mod p) do gp 1 1 (mod p). Do đó b là một căn bậc hai của a modulo p.

Ví dụ 7.5. Một căn bậc hai của a = 2201 modulo p = 4127 là b a

p+1 Để thấy rằng a thật sự có căn bậc hai modulo 4127, ta bình phương b và kiểm tra được rằng 37182 = 13823524 2201 (mod 4127).

Giả sử ta muốn tính một căn bậc 2 modulo m, với m không nhất thiết là số nguyên tố. Một phương pháp hiệu quả là phân tích m, tính căn bậc hai modulo mỗi số nguyên tố (hoặc lũy thừa nguyên tố) của các thừa số, và kết hợp nghiệm bằng cách sử dụng Định lý thặng dư Trung Hoa.

Ví dụ 7.6. Ta tìm nghiệm của phép đồng dư

x2 197 (mod 437).

Phép phân tích cho ta 437 = 19.23. Do đó, đầu tiên ta giải hệ hai phương trình đồng dư

y2197 7 (mod 19), và z2 197 13 (mod 23).

Do 19 và 23 đều đồng dư 3 modulo 4, nên ta có thể tìm các căn bậc hai của chúng theo Mệnh đề (7.4). Khi đó, ta có

y 8 (mod 19) và z 6 (mod 23).

Ta có thể chọn y bằng 8 hoặc -8, và z bằng 6 hoặc -6. Ta sẽ chọn hai nghiệm dương, và sử dụng Định lý thặng dư Trung Hoa để giải hệ phương trình đồng dư

x 8 (mod 19) và x 6 (mod 23).

Ta tìm được x 236 (mod 437), do đó tìm được nghiệm của bài toán ban đầu.

Nhận xét 7.7. Nghiệm của bài toán trên là không duy nhất. Ban đầu ta hoàn toàn có thể chọn số âm

236 201 (mod 437),

để thu được căn bậc hai thứ hai của 197 modulo 437. Nếu các modulo là các số nguyên tố, thì chỉ có duy nhất hai căn bậc hai như trên. Tuy nhiên, do 437=19.23 là hợp số, do đó có thêm hai số nữa. Để tìm chúng, ta thấy hoặc 8 hoặc 6 là số âm. Từ đó tính ra được x = 144 và x = 293, do đó 197 có bốn căn bậc hai modulo 437.

Nhận xét 7.8. Ta thấy rằng từ Ví dụ (7.6) khá dễ dàng tính được các căn bậc hai modulo m nếu ta biết cách phân tích m thành tích các lũy thừa của các số nguyên tố. Tuy nhiên, giả sử m quá lớn và ta không thể phân tích nó. Khi đó bài toán tìm căn bậc hai modulo m là rất khó. Thật vậy, theo một nghĩa nào đó việc tìm căn bậc hai modulo m khó tương đương với việc phân tích m thành thừa số nguyên tố.

Thật ra, nếu m là một số nguyên lớn và không biết phân tích thừa số nguyên tố của nó, khi đó rất khó để xác định một số nguyên a cho trước có căn bậc hai modulo m, kể cả không yêu cầu tính căn bậc hai.

Một phần của tài liệu BÀI TOÁN LOGARIT rời rạc và DIFFIE HELLMAN (Trang 26 - 29)