Bài 7: Định Lý Phần Dư Trung Hoa - Blog Nam Phạm
Có thể bạn quan tâm
Định lý số dư Trung Hoa (Định lý thặng dư Trung Hoa), hay bài toán Hàn Tín điểm binh, là một định lý nói về nghiệm của hệ phương trình đồng dư bậc nhất. Nhưng trong ngành mật mã , chúng ta sẽ dùng định lý này để áp dụng vào việc tăng tốc độ giải mã cho thuật toán RSA.
Bạn có thể xem chi tiết thuật toán phần dư Trung Hoa ở link: https://vi.wikipedia.org/wiki/Định_lý_số_dư_Trung_Quốc
Trong nhiều trường hợp ta muốn tìm cách để tăng tốc độ tính toán Modulo các phép toán, các số lớn sẽ được phân tách thành số nhỏ hơn là các cặp nguyên tố cùng nhau, sau đó dùng thuật toán phần dư Trung Hoa.
- Các bước thuật toán
- Ví dụ
Các bước thuật toán
Để tính ${\displaystyle A \pmod{M}}$ với M khá lớn và A là biểu thức số học nào đó.
- Bước 1: Phân tích ${\displaystyle M=m_{1}*m_{2}*…*m_{k}}$ với ${\displaystyle m_{i}, m_{j}, i \neq j}$ là các số nguyên tố cùng nhau.
- Bước 2: Tính ${\displaystyle M_{1}=M/m_{1},M_{2}=M/m_{2},…,M_{k}=M/m_{k}}$
- Bước 3: Xác định ${\displaystyle a_{i}=A\mod{m_{i}}, 1 \leq i \leq k}$
- Bước 4: Tính ${\displaystyle c_{i}=M_{i}*({M_{i}}^{-1} \mod{m_{i}}), 1 \leq i \leq k}$
- Bước 5: Sau đó sử dụng công thức: ${\displaystyle (\sum_{i=1}^k a_i c_i) \pmod{M}}$
Chú ý: Để tính được theo định lý phần dư Trung Hoa thì ${\displaystyle GCD(m_i, m_j) = 1, i \neq j}$, tức mi phải là các số nguyên tố cùng nhau.
Ví dụ
Ví dụ 1: Áp dụng định lý phần dư Trung Hoa, tính ${\displaystyle 17^8 \mod{77}}$
- Bước 1: ${\displaystyle M=77=m_{1}*m_{2}=7*11}$ thoản mãn GCD(7,11)=1
- Bước 2: Tính
- ${\displaystyle M_{1}=M/m_{1}=77/7=11}$
- ${\displaystyle M_{2}=M/m_{2}=77/11=7}$
- Bước 3: Xác định
- ${\displaystyle a_{1}=A\mod{m_{1}}=17^8\mod{7}=2}$ (Dùng bình phương và nhân)
- ${\displaystyle a_{2}=A\mod{m_{2}}=17^8\mod{11}=4}$ (Dùng bình phương và nhân)
- Bước 4: Tính
- ${\displaystyle c_{1}=M_{1}*({M_{1}}^{-1} \mod{m_{1}})=11*(11^{-1} \mod{7})=11*2=22}$ (Dùng Euclid để tính nghịch đảo vành Zn)
- ${\displaystyle c_{2}=M_{2}*({M_{2}}^{-1} \mod{m_{2}})=7*(7^{-1} \mod{11})=7*8=56}$ (Dùng Euclid để tính nghịch đảo vành Zn)
- Bước 5: Sau đó sử dụng công thức: ${\displaystyle (\sum_{i=1}^k a_i c_i) \pmod{M} = a_1 c_1 + a_2 c_2 = 2*22 + 4*56=268=37 \pmod{77}}$
BÀI TẬP
Sử dụng định lý phần dư trung hoa tính giá trị biểu thức:
- ${\displaystyle 25^{30} \pmod{7*8}}$
- ${\displaystyle 70^{254} \pmod{11*13}}$
- ${\displaystyle 60^{-1} \pmod{11*13}}$
- ${\displaystyle ((21^{100}+33^{-1})*45^{51}) \pmod{7*9*11}}$
- ${\displaystyle (19^{125}+25^{51})*(47^{21}/37) \pmod{9*11*13}}$
Từ khóa » định Lý Trung Quốc Về Phần Dư
-
Định Lý Số Dư Trung Quốc – Wikipedia Tiếng Việt
-
Định Lý Thặng Dư Trung Hoa Và Một Số ứng Dụng - Nguyễn Duy Liên
-
Định Lí Phần Dư Trung Hoa Và Những ứng Dụng - Diễn đàn Toán Học
-
Định Lý Số Dư Trung Hoa – Chinese Remainder Theorem
-
Định Lý Số Dư Trung Hoa, Tính Lũy Thừa Modulo - YouTube
-
[PDF] ÐỊNH LÝ THẶNG DƯ TRUNG HOA VÀ MỘT SỐ ỨNG DỤNG
-
DINH LY Thang DU Trung HOA - StuDocu
-
SỐ Học đính Lý Phần Dư Trung Hoa - Tài Liệu Text - 123doc
-
Định Lý Phần Dư Trung Hoa Và Các ứng Dụng Trong Giải Toán Số Học
-
định Lý Số Dư Trung Hoa | Xemtailieu
-
Định Lý Phần Dư Trung Quốc | Toán Học - Páginas De Delphi
-
Định Lý Phần Dư Trung Quốc - Wiko
-
Định Lí Phần Dư Trung Hoa Và ứng Dụng | Huy Cao's Blog
-
Vì Sao định Lý Thặng Dư Trung Quốc Có Thể Dùng để Mã Hóa Máy Tính?