Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
567,44 KB
Nội dung
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT SỐ HỌC Chương 2: Cơ sở lý thuyết số học 2.1 Lý thuyết thông tin Những khái niệm mở đầu lý thuyết thông tin đưa lần vào năm 1948 Claude Elwood Shannon (một nhà khoa học coi cha đẻ lý thuyết thông tin) Kỹ thuật lộn xộn rườm rà (Confusion and Diffusion) Theo Shannon, có hai kỹ thuật để che dấu dư thừa thơng tin thơng báo gốc, là: lộn xộn rườm rà Chương 2: Cơ sở lý thuyết số học Thông thường hệ mã đại thường kết hợp hai kỹ thuật thay hoán vị để tạo thuật tốn mã hóa có độ an tồn cao Chương 2: Cơ sở lý thuyết số học 2.1.1 Entropy ⚫ Lý thuyết thông tin định nghĩa khối lượng thông tin thông báo số bit nhỏ cần thiết để mã hóa tất nghĩa thơng báo Ví dụ: trường ngay_thang sở liệu chứa không bit thông tin, thơng tin ngày mã hóa với bit liệu: 000 = Sunday 100 = Thursday 001 = Monday 101 = Friday 010 = Tuesday 110 = Saturday 011 = Wednesday 111 is unused Chương 2: Cơ sở lý thuyết số học 2.2 Lý thuyết độ phức tạp ⚫ ⚫ ⚫ ⚫ Lý thuyết độ phức tạp cung cấp phương pháp để phân tích độ phức tạp tính tốn thuật tốn kỹ thuật mã hóa khác Nó so sánh thuật tốn mã hóa, kỹ thuật phát độ an tồn thuật tốn Lý thuyết thông tin cho biết thuật tốn mã hóa bị bại lộ Cịn lý thuyết độ phức tạp cho biết khả bị thám mã hệ mật mã Độ phức tạp thời gian thuật tốn hàm kích thước liệu input thuật tốn Thuật tốn có độ phức tạp thời gian f(n) n kích thước input n, nghĩa số bước thực thuật toán lớn f(n) bước Chương 2: Cơ sở lý thuyết số học 2.2.1 Độ an tồn tính tốn Định nghĩa: Một hệ mật gọi an tồn mặt tính tốn có thuật tốn tốt để phá cần N phép tốn, với N số lớn Chương 2: Cơ sở lý thuyết số học 2.2.2 Độ an tồn khơng điều kiện Một hệ mật coi an tồn khơng điều kiện khơng thể bị phá với khả tính tốn khơng hạn chế Rõ ràng độ an tồn khơng điều kiện khơng thể nghiên cứu theo quan điểm độ phức tạp tính tốn thời gian tính tốn khơng hạn chế Vì vậy, lý thuyết xác suất đề cập để nghiên cứu “an tồn khơng điều kiện” Chương 2: Cơ sở lý thuyết số học 2.3 Số nguyên tố, Đồng dư Thặng dư a Số nguyên tố Định nghĩa (Số nguyên tố) Một số nguyên tố p ≥ gọi số nguyên tố chia hết cho p Ngược lại hợp số Các số nguyên tố từ đến 100: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 Số số nguyên tố nhỏ số nguyên tố chẵn Chương 2: Cơ sở lý thuyết số học 2.3 Số nguyên tố, Đồng dư Thặng dư # Bảng số nguyên tố - sàng Eratosthene Sàn Eratosthenes giải thuật cổ xưa để lập bảng tất số nguyên tố nhỏ số n cho trước Giải thuật dựa tính chất: hợp số n có ước ngun tố khơng vượt q (sqrt(n)) Giải thuật xóa số khỏi tập số nguyên tố Số số số 2, số nguyên tố Bắt đầu từ số xóa tất bội khỏi bảng Số khơng bị xóa sau số (số 3) số nguyên tố Tiếp theo lại xóa bội … Giải thuật tiếp tục gặp số nguyên tố lớn sqrt(n) dừng lại Tất số chưa bị xóa số nguyên tố Chương 2: Cơ sở lý thuyết số học 2.3 Số nguyên tố, Đồng dư Thặng dư b Modulo số học – đồng dư Định nghĩa (Modulo số học – đồng dư): Nếu a b hai số nguyên, a gọi đồng dư với b theo modulo n, ký hiệu: a ≡ b (mod n) (a-b) chia hết n, n gọi modulus đồng dư Ví dụ: (i) 24 ≡ (mod 5) 24 – = 3x5 (ii) -11 ≡ 17 (mod 7) -11 – 17 = -4x7 (iii) 42 ≡ (mod 9) 42 – = 4x9 (iv) -42 ≡ ? (mod 9) 10 Chương 2: Cơ sở lý thuyết số học Ví dụ Bảng mơ tả bước thực thuật toán Euclidean mở rộng với đầu vào a=4864, b = 3458 nhận kết gcd(4864, 3458)=38 (4864)(?) + (3458)(?) = 38 𝑥2 𝑥1 𝑦2 𝑦1 4864 3458 0 -1 3458 1406 1 -1 -2 1406 646 -2 -1 114 -7 646 114 -2 -7 76 -27 38 114 76 -27 -7 38 38 32 -45 76 38 -27 32 38 -45 -91 128 38 32 -91 -45 128 q r x y - - - - 1406 646 a b 20 Chương 2: Cơ sở lý thuyết số học Thuật toán Tính phần tử nghịch đảo 𝑍𝑛 INPUT: a ∈ 𝑍𝑁 OUTPUT: 𝑎−1 mod n, tồn Sử dụng thuật tốn Euclidean mở rộng, tìm x y để ax + ny = d, d = gcd(a, n) Nếu d>1, 𝑎−1 mod n khơng tồn Ngược lại kết x 21 Chương 2: Cơ sở lý thuyết số học 2.4 Một số giải thuật modulo ❑ Giải thuật lũy thừa nhanh ❑ Giải thuật Lehman ❑ Phần dư trung hoa 22 Chương 2: Cơ sở lý thuyết số học 2.4.1 Giải thuật lũy thừa nhanh Thuật toán Chivers đưa vào năm 1984, thuật tốn tìm 𝑎 𝑥 mod n có độ phức tạp tính tốn khơng q 𝑙𝑜𝑔2 (𝑥 + 1) bước 23 Chương 2: Cơ sở lý thuyết số học 2.4.1 Giải thuật lũy thừa nhanh Thuật toán Chivers đưa vào năm 1984, thuật tốn tìm 𝑎 𝑥 mod n có độ phức tạp tính tốn không 𝑙𝑜𝑔2 (𝑚 + 1) bước long modexp(long a, long x, long n) ▪ Input: a, x, N { 𝑥 ▪ Output: 𝑎 mod N long r=1; } while (x>0){ if (x%2==1) /*x is odd?*/ r=(r*a)%n; a=(a*a)%n x/=2; } return r; 24 Chương 2: Cơ sở lý thuyết số học Mô tả giải thuật lũy thừa nhanh Input: a=31, x=101, n=1024 Lặp: (đầu tiên gán r=1) x lẻ: r=(r*a) mod n = 31, a=(a*a) mod n = 961, x=x/2=50 x chẵn: a=(a*a) mod n = 987, x=x/2=25 x lẻ: r=(r*a) mod n = 159, a=(a*a) mod n = 769, x=x/2=12 x chẵn: a=(a*a) mod n = 513, x=x/2=6 x chẵn: a=(a*a) mod n = 1, x=x/2=3 x lẻ: r=(r*a) mod n = 159, a=(a*a) mod n = 1, x=x/2=1 x lẻ: r=(r*a) mod n = 159, a=(a*a) mod n = 1, x=x/2=0 x = 0, Stop Output: 𝑎 𝑥 mod n = r = 159 25 Chương 2: Cơ sở lý thuyết số học Hãy tự vận dụng lũy thừa nhanh để ▪ ▪ Tìm 1798 mod 77, nghĩa là: A=17, x = 98, n = 77 26 Chương 2: Cơ sở lý thuyết số học 2.4.2 Giải thuật Lehman Thuật toán đoán số nguyên dương N số nguyên tố dựa toán số nguyên tố Lehman Sự xác phép đốn tỷ lệ số lượng phép thử 27 Chương 2: Cơ sở lý thuyết số học 2.4.2 Giải thuật Lehman Chọn số lần thử thực chu trình: - Với a khác (1