Professional Documents
Culture Documents
Information Sercurity
CHƯƠNG 2
Lê Đắc Nhường
Khoa Toán Tin - Trường Đại học Hải Phòng
E-mail: Nhuongld@yahoo.com
Cell Phone: 0987.394.900
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
Nội dung chương 2
2.1 Lý thuyết số
2.1.1 Khái niệm đồng dư modulo
2.1.2 Định nghĩa số học modulo
2.1.3 Phần tử nghịch đảo
2.1.4 Khái niệm nhóm
2.1.5 Bài toán Logarit rời rạc
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1 Lý thuyết số
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.1 Khái niệm đồng dư modulo
a = q1m + r1 và b = q2m + r2
trong đó 0r1m-1 và 0r2m-1.
Khi đó có thể dễ dàng thấy rằng:
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.1 Khái niệm đồng dư modulo
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.1 Khái niệm đồng dư modulo
Ví dụ:
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.1 Khái niệm đồng dư modulo
Chú ý:
Nhiều ngôn ngữ lập trình của máy tính xác định a mod m là
phần dư trong dải -m+1,…,m-1 có cùng dấu với a.
Ví dụ -18 mod 7 = –4,
Giá trị này khác với giá trị 3 là giá trị được xác định theo công
thức trên (vì phần bù: 7 – 4 = 3)
Tuy nhiên, để thuận tiện ta sẽ xác định a mod m luôn là một
số không âm
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.2 Định nghĩa số học modulo
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.2 Định nghĩa số học modulo
Ví dụ:
Z26 được coi là tập hợp {0,1, 2…,25} có trang bị hai phép toán
cộng và nhân.
25+7 = 32 mod 26 = 6 ( ví dụ K=7, ‘Z’ ‘H’)
5*9 = 45 mod 26 = 19
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.2 Định nghĩa số học modulo
Chứng minh:
Ta giả sử rằng, UCLN(a,m) = d >1.
Với b = 0 thì đồng dư thức ax0 (mod m) sẽ có ít nhất hai nghiệm
phân biệt trong Zm là x = 0 và x = m/d.
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.2 Định nghĩa số học modulo
KQ x=8
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo
Tính chất
a có nghịch đảo theo mođun m khi và chỉ khi UCLN(a,m) = 1,
Nếu nghịch đảo tồn tại thì phải là duy nhất.
Nếu b = a-1 thì a = b-1.
Nếu m là số nguyên tố thì mọi phần tử khác không của Zm
đều có nghịch đảo.
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo
Giả sử n a.
Thuật toán Euclide tìm UCLN (a,n) được thực hiện bằng một
dãy các phép chia liên tiếp sau đây
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo
Thuật toán phải kết thúc ở một bước thứ m nào đó. Ta có:
(n,a) = (r0,r1) = (r1,r2) = …… = (rm-1,rm) = rm
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo
Vậy ta tìm được rm = (n,a). Mở rộng thuật toán Euclide bằng cách
xác định thêm dãy số t0, t1,…,tm :
t0 = 0,
t1 = 1,
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo – Thuật toán Euclide mở rộng
Dòng r0 r1 r2 q t0 t1
Dòng r0 r1 r2 q t0 t1
0 n a 0 1
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo – Thuật toán Euclide mở rộng
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo – Thuật toán Euclide mở rộng
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo – Thuật toán Euclide mở rộng
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo – Thuật toán Euclide mở rộng
Bước 6: Sao chép giá trị sang dòng tiếp theo theo quy tắc
dưới đây, sau đó, trở lại bước 3:
Dòng r0 r1 r2 q t0 t1
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo – Thuật toán Euclide mở rộng
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo – Thuật toán Euclide mở rộng
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.3 Phần tử nghịch đảo – Thuật toán Euclide mở rộng
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.4 Khái niệm nhóm
Có tính kết hợp: (x*y)*z=x*(y*z) với mọi x,y,z G
Có phần tử trung lập eG: x*e=e*x=x với mọi xG
Với mọi xG, có phần tử nghịch đảo x’G: x*x’=x’*x=e
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.4 Khái niệm nhóm
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.4 Khái niệm nhóm
Tập này cùng với phép cộng lập thành nhóm Cyclic có phần tử sinh là
1. Đó là nhóm hữu hạn có cấp n.
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.5 Bài toán Logarit rời rạc
Nhóm nhân Zp* là nhóm cyclic và phần tử sinh của Zp* được gọi
là phần tử nguyên thủy
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.1.5 Bài toán Logarit rời rạc
a (mod p)
Ta sẽ xác định số nguyên:
a = log (mod p)
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
Một vài vấn đề khác:
Thặng dư bậc hai và ký hiệu Ledendre
Thuật toán kiểm tra tính nguyên tố
Solovay_Strassen
Solovay_Strassen (cải tiến bởi Lehmann)
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.2 Lý thuyết về độ phức tạp tính toán
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.2 Lý thuyết về độ phức tạp tính toán
Lý thuyết thuật toán và các hàm tính ra đời từ những năm 30 đã đặt nền
móng cho các nghiên cứu về các vấn đề “tính được”, “giải được”, và
đã thu được nhiều kết quả rất quan trọng.
Nhưng từ cái “tính được” một cách trừu tượng, tiềm năng đến việc tính
được trong thực tế của khoa học tính toán bằng máy tính điện tử là một
khoảng cách rất lớn.
Lý thuyết về độ phức tạp tính toán được nghiên cứu bắt đầu từ những
năm 60 đã bù đắp cho khoảng trống đó, cho ta nhiều tri thức cơ bản,
đồng thời có nhiều ứng dụng thực tế rất phong phú.
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.2 Lý thuyết về độ phức tạp tính toán
Độ phức tạp (về không gian hay thời gian) của một quá trình tính toán là số
ô nhớ hay số các phép toán được thực hiện trong quá trình tính toán đó.
Độ phức tạp tính toán của một thuật toán: được hiểu là một hàm số f, sao
cho với mỗi n, f(n) là là số ô nhớ hay số các phép toán tối đa mà thuật toán
thực hiện quá trình tính toán của mình trên các dữ liệu vào có độ lớn n.
Độ phức tạp tính toán của một bài toán (của một hàm) được định nghĩa là
độ phức tạp của một thuật toán tốt nhất có thể tìm được để giải bài toán (hay
tính hàm) đó
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.2 Lý thuyết về độ phức tạp tính toán
NP là lớp các bài toán mà đối với chúng có thuật toán không đơn định để
giải trong thời gian đa thức. Thuật toán không đơn định là một mô hình tính
toán trừu tượng, được giả định là sau mỗi bước có thể có một số hữu hạn
bước được lựa chọn đồng thời tiếp sau.
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.2 Lý thuyết về độ phức tạp tính toán
Một cách trực giác, lớp NP bao gồm các bài toán khó hơn phức tạp hơn các
bài toán thuộc lớp P, nhưng điều có vẻ hiển nhiên trực giác đó vẫn chưa
được chứng minh hay bác bỏ.
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.2 Lý thuyết về độ phức tạp tính toán
Cho đến nay, người ta đã chứng minh được hàng trăm bài toán thuộc nhiều
lĩnh vực khác nhau là NP_đầy đủ. Bài toán đồng dư bậc hai kể trên là
NP_đầy đủ, bài toán hợp số không là NP_đầy đủ, nhưng chưa tìm được một
thuật toán làm việc trong thời gian đa thức giải nó
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.3 Hàm một phía và hàm cửa sập một phía
Tính y = f(x) là dễ,
Nhưng việc tính ngược x = f-1(y) là rất khó.
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.3 Hàm một phía và hàm cửa sập một phía
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.3 Hàm một phía và hàm cửa sập một phía
Nhưng có cửa sập z để tính x = fz-1(y) là dễ
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường
2.3 Hàm một phía và hàm cửa sập một phía
GV.
GV. Lê
Lê Đắc
Đắc Nhường
Nhường