Số học trong đó các số quay vòng sau khi đạt tới một môđun cố định.
Trực giácChiếc đồng hồ: những con số quay vòng
Hãy nhìn mặt đồng hồ. Sau 12 giờ lại tới 1 giờ chứ không phải 13 giờ: kim giờ "quay vòng" sau mỗi 12 bước. Nếu bây giờ là 9 giờ, 8 giờ nữa không phải là "17 giờ" mà là 5 giờ, vì 17 và 5 chia cho 12 có cùng số dư. Sự quay vòng quen thuộc này chính là ý tưởng đằng sau đồng dư: hai số nguyên được coi là "như nhau" nếu chúng hơn kém nhau một bội của một số cố định m, gọi là môđun. Đồng dư cho phép ta thay các số rất lớn bằng số dư của chúng mà vẫn tính đúng — đó là cơ chế đứng sau đồng hồ, lịch, chữ số kiểm tra, bảng băm và mật mã hiện đại.
Các số dư 0 đến 11 trên đường tròn, với dây cung biểu diễn x thành 5x theo môđun 12.
Ánh xạ x↦5xmod12 nối mỗi số dư với đầu dây cung tương ứng. Vì gcd(5,12)=1, nó hoán vị cả 12 số dư; hệ số có ước chung với 12 sẽ gộp một số vị trí xuất phát.
Phổ thôngĐịnh nghĩa và tính chất cơ bản
Định nghĩa: Đồng dư theo môđun m
Cố định một số nguyên dương m (môđun). Hai số nguyên a và b được gọi là **đồng dư theo môđun m**, ký hiệu a≡b(modm), khi m chia hết hiệu của chúng: m∣(a−b). Tương đương, a và b có cùng số dư khi chia cho m. Mọi số nguyên đồng dư với một a cố định lập thành lớp thặng dư[a]={…,a−m,a,a+m,a+2m,…}, và có đúng m lớp thặng dư phân biệt, ký hiệu Z/mZ.
a≡b(modm)⟺m∣(a−b)
Ở đây a,b,m là các số nguyên với m>0; ký hiệu ∣ đọc là "chia hết", và (modm) ghi rõ môđun gắn với một đồng dư. Chỉ với định nghĩa này ta đã thấy đồng dư có tính phản xạ, đối xứng và bắc cầu — một quan hệ tương đương — vì vậy việc nói tới "các lớp thặng dư theo môđun m" như những đối tượng độc lập, gom lại thành tập Z/mZ={[0],[1],…,[m−1]}, là hợp lý.
Với môđun m cố định: (i) a≡a(modm) với mọi a; (ii) a≡b(modm)⟹b≡a(modm); (iii) a≡b,b≡c(modm)⟹a≡c(modm); và nếu a≡b(modm) và c≡d(modm) thì a+c≡b+d(modm) và ac≡bd(modm).
Vì sao đúng?
Đây chính là điều khiến đồng dư dùng được như số học: nghĩa là ta có thể cộng, trừ, nhân trực tiếp trên số dư thay vì các số gốc rất lớn, và luôn nhận lại số dư đúng — lý do máy tính có thể kiểm tra một số thẻ 16 chữ số hay tính 7100mod13 mà không bao giờ phải lưu một số có 100 chữ số.
Chứng minh
Phản xạ: a−a=0 và m∣0 với mọi m, nên a≡a(modm).
Đối xứng: nếu a≡b(modm) thì a−b=mk với một số nguyên k nào đó, suy ra b−a=m(−k); vì −k cũng là số nguyên nên m∣(b−a), tức b≡a(modm).
Bắc cầu: nếu a≡b(modm) và b≡c(modm), viết a−b=mk1 và b−c=mk2. Cộng hai đẳng thức: a−c=(a−b)+(b−c)=m(k1+k2), nên m∣(a−c) và a≡c(modm).
Tương thích với phép cộng: từ a−b=mk1 và c−d=mk2, cộng hai phương trình: (a+c)−(b+d)=m(k1+k2), là một bội của m, nên a+c≡b+d(modm).
Tương thích với phép nhân: viết ac−bd=ac−bc+bc−bd=c(a−b)+b(c−d)=c⋅mk1+b⋅mk2=m(ck1+bk2). Đây lại là một bội của m, nên ac≡bd(modm). Kết hợp (i)-(iii) làm cho đồng dư trở thành quan hệ tương đương, và hai bước cuối cho thấy mọi phép toán vành trên Z đều chuyển xuống thành phép toán xác định tốt trên các lớp thặng dư Z/mZ.
Nếu gcd(c,m)=1, thì ac≡bc(modm),gcd(c,m)=1⟹a≡b(modm). Tương đương, c có nghịch đảo nhân theo môđun m: một số nguyên u sao cho cu≡1(modm).
Vì sao đúng?
"Chia" thông thường thực chất là nhân với nghịch đảo, và định lý này cho biết chính xác khi nào nghịch đảo đó tồn tại theo môđun m: đúng khi c không có ước chung nào với m. Thiếu điều kiện này, phép giản ước thực sự thất bại (xem hàng cuối bảng trên), đó là lý do mọi kết quả sau này về lũy thừa theo môđun m — định lý Fermat nhỏ, định lý Euler, định lý phần dư Trung Hoa — đều được xây trên chính sự kiện đại số duy nhất này.
Chứng minh
Vì gcd(c,m)=1, đẳng thức Bézout (hệ quả của thuật toán Euclid) đảm bảo ∃u,v∈Z:cu+mv=1: tồn tại các số nguyên u,v với cu+mv=1.
Nhân cả hai vế của ac≡bc(modm) với u: acu≡bcu(modm). Thay cu=1−mv: vế trái trở thành a(1−mv)=a−amv, và vì amv là bội của m nên a(1−mv)≡a(modm); tương tự vế phải b(1−mv)≡b(modm). Do đó a≡b(modm), chứng minh luật giản ước.
Hơn nữa, không cần lấy a=1,b=0,c=c — trực tiếp, cùng phép thay thế cho cu=1−mv≡1(modm), nên chính u là nghịch đảo nhân của c theo môđun m: đây chính là đối tượng mà phát biểu định lý khẳng định sự tồn tại.
Giả thiết gcd(c,m)=1 là thiết yếu: lấy c=4,m=6 (nên gcd(4,6)=2=1). Khi đó 4×2=8≡2(mod6) và 4×5=20≡2(mod6), nên 4×2≡4×5(mod6), nhưng 2≡5(mod6) — luật giản ước thực sự thất bại một khi bỏ giả thiết nguyên tố cùng nhau.
Nâng caoỨng dụng thực tiễn và Ví dụ minh họa
Số học modulo là một trong những công cụ ứng dụng phổ biến âm thầm nhất trong toán học ứng dụng. Lịch dùng nó để tìm thứ trong tuần (mod 7); hệ thống mã vạch và ISBN dùng nó để bắt lỗi gõ sai bằng một chữ số kiểm tra duy nhất (mod 11 hoặc mod 10); bảng băm trong khoa học máy tính ánh xạ khóa vào các ngăn bằng cách lấy số dư; và mật mã kiểu RSA (sẽ trình bày sâu ở hai chủ đề tiếp theo) mã hóa và giải mã thông điệp hoàn toàn qua lũy thừa modulo. Hai ví dụ cụ thể dưới đây cho thấy lập luận hàng ngày đứng sau ứng dụng lịch và chữ số kiểm tra.
Ví dụ: Tìm thứ trong tuần
Nếu hôm nay là thứ Ba, thì 100 ngày nữa sẽ là thứ mấy?
Lời giải
Các ngày trong tuần lặp lại với chu kỳ 7, nên chỉ số dư của 100 khi chia cho 7 mới quan trọng: 100=7×14+2, nên 100≡2(mod7).
Theo tính tương thích với phép cộng đã chứng minh ở trên, tiến 100 ngày có cùng hiệu ứng theo môđun 7 như tiến chỉ 2 ngày: thứ Ba +2 ngày là thứ Năm.
Vậy 100 ngày kể từ thứ Ba là thứ Năm. Chú ý ta không cần đếm từng ngày trong cả 100 ngày — đồng dư cho phép ta thu gọn một số lớn thành số dư nhỏ tương đương.
Ví dụ: Kiểm tra chữ số kiểm tra ISBN-10
Mã ISBN-10 d1d2⋯d10 hợp lệ khi và chỉ khi ∑i=110idi≡0(mod11). Kiểm tra xem 0-306-40615-2 có phải ISBN-10 hợp lệ không.
Lời giải
Liệt kê các chữ số d1,…,d10=0,3,0,6,4,0,6,1,5,2 và lập tổng có trọng số ∑idi=1(0)+2(3)+3(0)+4(6)+5(4)+6(0)+7(6)+8(1)+9(5)+10(2).
Tính từng số hạng: 0,6,0,24,20,0,42,8,45,20. Cộng lại: 0+6+0+24+20+0+42+8+45+20=165.
Nhờ tính tương thích với cộng và nhân của đồng dư, ta chỉ cần 165mod11: vì 11×15=165, ta được 165≡0(mod11). Kiểm tra đúng, nên 0-306-40615-2là ISBN-10 hợp lệ. Nếu gõ sai dù chỉ một chữ số, tổng có trọng số hầu như chắc chắn sẽ không còn ≡0(mod11), đó chính là lý do nhà xuất bản dùng sơ đồ này để tự động bắt lỗi nhập liệu.
Nghiên cứuĐồng dư ở biên giới nghiên cứu: hệ thống thặng dư trong mật mã hiện đại
Theo quy ước chuẩn 0≤r<m, −17mod5 bằng bao nhiêu?
Nếu a≡4(mod9) và b≡7(mod9), thì abmod9 bằng bao nhiêu?
Nếu hôm nay là thứ Ba, thì 50 ngày nữa là thứ mấy?
Luật giản ước ac≡bc(modm)⟹a≡b(modm) được đảm bảo đúng khi nào?