CƠ SỞ TOÁN HỌC CHO MÃ HÓA THÔNG TIN

12 849 6
CƠ SỞ TOÁN HỌC CHO  MÃ HÓA THÔNG TIN

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bảo mật thông tin là khoa học nghiên cứu các nguyên lý và phương pháp cho phép mã hóa thông tin sao cho chỉ người có khóa giải mã (bí mật) mới có thể giải để hiểu được thông tin gốc. CƠ SỞ TOÁN HỌC VỀ SỐ NGUYÊN VÀ CÁC THUẬT TOÁN Thuật giải RSA Mã khóa công khai Mã theo khối Mã khóa bí mật

SỞ TOÁN HỌC CHO HÓA THÔNG TIN I. SỞ TOÁN HỌC VỀ SỐ NGUYÊN VÀ CÁC THUẬT TOÁN 1. Một số định nghĩa - Tập số tự nhiên: N = {0, 1, 2, 3, 4, . . . } - Tập số nguyên: Z = {0, ±1, ±2, ±3, . . . } - Thứ tự ≤ trên N là tối thứ tự. - Quan hệ “ước số”, ký hiệu | : a | b ⇔ ∃ k ∈ Z, k.a = b Nói cách khác: b là bội số của a. - Một số khái niệm khác: • ước số chung, ước số chung lớn nhất. Ký hiệu ước số chung lớn nhất của a và b: gcd(a,b) hay a ∧ b hay (a,b) • bội số chung, bội số chung nhỏ nhất. Ký hiệu bội số chung nhỏ nhất của a và b: lcm(a,b) hay a ∨ b • Phép toán chia “thương” và chia “dư”: Định lý: Với a ∈ Z, b ∈ N * , duy nhất q ∈ Z và r ∈ N sao cho a = q.b + r, 0 ≤ r < b.  Định nghĩa: a / b = q, và a % b = r. a % b còn được viết là a mod b. • a và b là nguyên tố cùng nhau khi (a,b) = 1. Ký hiệu: a ⊥ b. • p ∈ N là số nguyên tố khi : p > 1, và p chỉ 2 ước số dương là 1 và p. Ngược lại, thì p được gọi là hợp số. • Ký hiệu tập các số nguyên tố là P. 2. Một số tính chất, định lý, và thuật toán - Định lý: a, b ∈ N * ⇒ a ∨ b = a.b / (a ∧ b). - Định lý: Với a, b ∈ N * và a > b ta : a ∧ b = a ∧ (a % b) a ∧ b = a ∧ (a - b) - Thuật toán Euclide: tính gcd(a,b) với a và b là các số tự nhiên. B1 : While a > 0 and b > 0 do if a > b then a := a % b Else b := b % a. B2 : gcd(a,b) = a + b. - Định lý Bezout: Với a, b ∈ N, a > b ≥ 1 ta : (i) Tồn tại x, y ∈ Z: a.x + b.y = gcd(a,b). (ii) a và b nguyên tố cùng nhau ⇔ tồn tại x, y ∈ Z: a.x + b.y = 1. - Thuật toán Bezout: Input: a và b không âm, a ≥ b. Output: d = gcd(a,b) và hai số nguyên x, y: a.x + b.y = d. B1: nếu b = 0 thì d = a; x =1; y = 0. B2 : x2 = 1 ; x1 = 0 ; y2 = 0 ; y1 = 1. B3 : while b > 0 do Begin q = a/b ; r = a-q.b ; x = x2 – q.x1 ; y = y2 – q.y1 ; a = b ; b = r ; x2 = x1 ; x1 = x ; y2 = y1 ; y1 = y ; end B4 : d = a ; x = x2 ; y = y2. B5 : return d, x, y ; - Định lý bản của số học: Mọi số nguyên n ≥ 2 đều thể biểu diễn duy nhất dưới dạng tích các thừa số nguyên tố (không kể sai khác phép hoán vị các thừa số nguyên tố). 3. Phép chia dư trên trường Z m , với m ∈ N * Cho m ∈ N * . Quan hệ “đồng dư mod m” trên Z: x ≡ y (mod m) ⇔ m | (x-y) Z m = tập các số nguyên mod m. = { 0, 1, 2, . . . , m-1 } - Định lý: (i) Quan hệ “đồng dư mod m” là quan hệ tương đương trên Z. (ii) a ≡ a1 (mod m), b ≡ b1 (mod m) ⇒ a + b ≡ a1 + b1 (mod m) a.b ≡ a1.b1 (mod m) a n = (a1) n (mod m), với mọi n ∈ Z. ⇒ ta phép toán cộng (+) và nhân (.) trên Z m . 4. Hàm phi-Euler, Định lý Euler và Định lý Fermat Ký hiệu tập các phần tử khả nghịch trong Z m là Z m * . - Định nghĩa hàm phi-Euler : Cho n ≥1, đặt ϕ(n) = số các số nguyên trong khoảng [1,n] nguyên tố cùng nhau với n. - Định lý: Cho x, y ∈ Z m , m ≥ 2. (i) x ∈ Z m * ⇔ x ⊥ m. (ii) x, y ∈ Z m * ⇔ x -1 , xy ∈ Z m * . (iii) card(Z m * ) = ϕ(m) Nhận xét : Khi m nguyên tố thì ϕ(m) = m-1 và Z m * = Z m - {0}. - Định lý Euler: Cho m ≥ 2. ta : x ⊥ m ⇒ x ϕ (m) ≡ 1 (mod m). - Định lý Fermat: Cho m ≥ 2. ta : p ∈ P, x ⊥ p ⇒ x p-1 ≡ 1 (mod p). - Định lý: (i) p ∈ P, n ∈ Z ⇒ n p ≡ n (mod p). (ii) p ∈ P, n ∈ Z, r ≡ s (mod ϕ(m)) ⇒ n r ≡ n s (mod p). (iii) Nếu p và q là hai số nguyên tố khác nhau, và n = p.q thì ϕ(n) = (p-1)(q-1). - Định lý dư số Trung Hoa: (i) Nếu các số nguyên n 1 , n 2 , …, n k đôi một nguyên tố cùng nhau và n = n 1 .n 2 …n k , thì hệ đồng dư x ≡ a 1 (mod n 1 ) x ≡ a 2 (mod n 2 ) . . . x ≡ a k (mod n k ) nghiệm duy nhất trong Z n . (ii) Ánh xạ f : Z n → Z n1 x Z n2 x … x Z nk với f(x) = (x mod n 1 , x mod n 2 , …, x mod n k ), x ∈ Z n , là song ánh. - Định lý: Cho m ⊥ n. Ánh xạ f : Z mn → Z m x Z n xác định bởi f(x) = (x mod m, x mod n), x ∈ Z mn , là song ánh. 5. Các biểu diễn số theo số và các thuật giải tính toán số học. (tham khảo: [12]) II. BẢO MẬT THÔNG TIN 1. Giới thiệu: Bảo mật thông tin là khoa học nghiên cứu các nguyên lý và phương pháp cho phép mã hóa thông tin sao cho chỉ người khóa giải (bí mật) mới thể giải để hiểu được thông tin gốc. - Hai dạng bài toán an toàn thông tin: (1) Bảo mật: ngăn cản không cho người lạ trích chọn thông tin từ các thông điệp được gởi trên các kênh truyền phổ biến (thường không an toàn). (2) Chứng thực: đảm bảo chỉ người nhận đúng mới thể đọc được thông điệp, đồng thời cũng đảm bảo người gửi không thể phủ nhận thông điệp mình gửi. - Hai loại hệ mã: (1) Hệ khóa bí mật (còn được gọi là hệ đối xứng). (2) Hệ khóa công khai (còn được gọi là hệ không đối xứng). - Các ký hiệu: • M: không gian các bản rõ, mỗi bản rõ là một chuỗi ký tự cần hóa. • C: không gian các bản mã, mỗi bản là một chuỗi ký tự đã được hóa. • K: không gian khóa, mỗi khóa là một chuỗi ký tự. Trong đó, e k : khóa hóa. d k : khóa giải mã. • E: tiến trình (thuật giải) hóa: E(e k ,M) = C. • D: tiến trình (thuật giải) giải mã: D(d k ,C) = M. Các thuật giải E và D phải thỏa các tính chất: D(d k ,C) = D(d k , E(e k ,M) = M 2. khóa bí mật Trong khóa bí mật cả quá trình hóa lẫn giải chỉ sử dụng một khóa, gọi là khóa bí mật; vì vậy hệ thống này còn được gọi là hệ đối xứng. Ở người gửi, thực hiện hóa và truyền đi: C = E(k,M) Ở người nhận được C, thực hiện giải mãđể được thông tin gốc: D(k,C) = M. Dưới đây là một số dạng đối xứng. - theo chuỗi bit: Thông điệp M là một chuỗi bit, khóa K cũng là chuỗi bit được phát sinh ngẫu nhiên. Bản rõ được hóa theo từng bit một để được bản mã, chẳng hạn C = M xor K; khi đó phép giải sẽ là C xor K = M. - theo theo chữ: Biến đổi một chữ cái trong bản rõ thành một chữ cái khác trong bản mã. Kỹ thuật này còn được gọi là thay thế. Ví dụ: Các chữ cái từ A đến Z được cho tương ứng với các số nguyên từ 0 đến 25. Phép hóa như sau: E(k,m) = m + k (mod 26) = c, 0 ≤ k,m ≤ 25; và phép giải mã: D(k,c) = c – k (mod 26), 0 ≤ k,c ≤ 25 Cụ thể: E(3,IBM) = LEP E(7,ENCRYPTION) = LUJXFWAPYU - theo khối: Để tăng độ an toàn ta thể hóa theo khối. Bản rõ và bản được chia thành từng khối ký tự trước khi thực hiện hóa và giải mã: (1) Chia văn bản M thành nhiều khối M = M 1 M 2 …M j , mỗi khối M i gồm n ký tự. (2) Chuyển các ký tự thành các số tương ứng và xây dựng bản mã: C i ≡ A.M i + B (mod n), i = 1, 2, …, j trong đó, (A, B) là khóa, A là ma trận khả nghịch cấp n với gcd(det(A), n) = 1, B = [B 1 B 2 … B n ] t , C = [c 1 c 2 … c n ] t , và M = [m 1 m 2 … m n ] t . (3) Để giải mã, ta thi hành phép toán: M i ≡ A -1 .(C i – B) (mod n). Trong đó, A -1 ma trận nghịch đảo của A. Ví dụ : Chọn B = [0 0 … 0] t , n = 3, ma trận hóa           = 17720 25235 19212 A Ta :           = − 2195 22915 72310 1 A Thông điệp M = ONE TWO SIX sẽ được hóa thành: C = WBX ZPS BRB Tiến trình giải sẽ cho ta thông điệm gốc: M = ONE TWO SIX 3. khóa công khai - Khái niệm bản: • Trong một hệ mạ hóa công khai (mã không đối xứng), khóa hóa e k và khóa giải d k khác nhau. • e k thể công bố (vì chỉ dùng để hóa), còn gọi là khóa công khai. • d k phải giữ bí mật, còn gọi là khóa cá nhân. • Hệ khóa công khai được xây dựng trên ý tưởng hàm một chiều. Định nghĩa: Cho các tập hữu hạn S và T. Hàm một chiều f : S → T là hàm khả nghịch thỏa: (1) f dễ thực hiện. (2) hàm ngược f -1 khó thực hiện. (3) f -1 thể dễ tính được khi thêm một số thông tin. Ví dụ: Một số hàm một chiều (a) f : (p,q) → n = p.q là hàm một chiều với p và q là các số nguyên tố lớn. (b) f g,N : x → g x mod N là hàm một chiều. (c) f k,N : x → x k mod N là hàm một chiều, với N = pq, p và q là các số nguyên tố lớn, k.k’ ≡ 1 (mod ϕ(N)). [...]... me mod n, c được gọi là bản (ciphertext) [2] Giải Tìm lại bản rõ m từ bản c, sử dụng khóa cá nhân d để tính M = cd mod n Ví dụ: p = 2357, q = 2551 n = pq = 6012707, ϕ = (p-1)(q-1) = 6007800 Với e = 3674911 ∈ (1, ϕ), thuật giải Bezout cho ta d = e-1 mod ϕ = 422191 Vì thế khóa công khai là cặp (n = 6012707, e = 3674911) và khóa cá nhân là d = 422191 Để hóa bản tin m = 5234673 ta tính c =... thức (xk)k’ = x - Hệ RSA: Hệ thống RSA, viết tắt từ tên của 3 nhà toán học đã phát minh ra hệ RSA: R Rivest, A Shamir, L Adleman Định lý: Cho p và q là hai số nguyên tố phân biệt, n = pq, ϕ = ϕ(n) = (p-1)(q-1), 1 < e < ϕ, e và ϕ nguyên tố cùng nhau, d = e-1 mod ϕ, 1 < d < ϕ, 0 ≤ m < n, và c = me mod n Thì m = cd mod n - Thuật giải RSA: [1] hóa (1) Từ khóa công khai (n, e) và thông điệp dưới dạng... thuật giải Bezout cho ta d = e-1 mod ϕ = 422191 Vì thế khóa công khai là cặp (n = 6012707, e = 3674911) và khóa cá nhân là d = 422191 Để hóa bản tin m = 5234673 ta tính c = me mod n = 3650502 Để giải c, ta tính cd mod n = 5234673 . học. (tham khảo: [12]) II. BẢO MẬT THÔNG TIN 1. Giới thiệu: Bảo mật thông tin là khoa học nghiên cứu các nguyên lý và phương pháp cho phép mã hóa thông tin sao cho chỉ người có khóa giải mã (bí mật). (bí mật) mới có thể giải để hiểu được thông tin gốc. - Hai dạng bài toán an toàn thông tin: (1) Bảo mật: ngăn cản không cho người lạ trích chọn thông tin từ các thông điệp được gởi trên các kênh. mod n 2 , …, x mod n k ), x ∈ Z n , là song ánh. - Định lý: Cho m ⊥ n. Ánh xạ f : Z mn → Z m x Z n xác định bởi f(x) = (x mod m, x mod n), x ∈ Z mn , là song ánh. 5. Các biểu diễn số theo cơ

Ngày đăng: 23/06/2014, 16:21

Tài liệu cùng người dùng

Tài liệu liên quan