ừ l - •’ym) (* !’• •’^m) *1,2 • h,ra *2,1 h,2 ■ ^2,m ^m,l ^m,2 + ( h | ,b m ) ^m,m Giả sử Oscar biết rõ "adispỉayedequation" mã tương ứng "DSRMSIOPLXLJBZULLM" Oscar biết m =3 Hãy tính khố tất tính tốn cần thiết Sau cách thám mã hệ mã Hill sử dụng phương pháp công với mã Giả sử ta biết m = Chia mã thành khối có độ dài kí tự (các đôi) Mỗi đôi mã đôi rõ nhờ dùng ma trận mã hoá chưa biết Hãy nhặt đôi thường gặp mã coi mã đơi thường gặp danh sách bảng 1.1 (ví dụ TH ST) Với giả định, thực phép công với rõ biết tìm ma trận giải mã Sau ví dụ mã để bạn giải mã theo phương pháp nêu: LMQETXYEAGTXCTUEWNCTXLZEWUAISPZYVAPEWLM GQWVAXFTGMSQCADAGTXLMDXNXSNPJQSYVAPRIQSMHNO CVAXFV Ta mô tả trường hợp đặc biệt cùa mã hoán vị Giả sử m, n số nguyên dương Hãy viết rõ theo thành hàng thành hình chữ nhật m X n Sau tạo mã cách lấy cột hình chữ nhật Ví dụ, m = 4, n = ta mã hố rõ "cryptography" cách x â y d ự n g h ình ch ữ nhật : cryp togr aphy Bản mã là: "CTAROPYGHPRY" a Hãy mô tả cách Bob giải mã mã (với m, n biết) 130 b Hãy giải mã mã sau: (nhận theo phương pháp nêu): MYAMRARUYIQTENCTORAHROYWDSOYEOUARRGDERN OGW 10 Hãy chứng minh phép giải mã DES thực cách áp dụng thuật toán mã hoá DES cho rõ với bảng khoá đảo ngược 131 C hư ng M ẬT MÃ KHĨA CƠNG KHAI 3.1 Giói thiệu chung Trong mơ hình mật mã nghiên cứu cho đen (mật mã khóa bí mật), Alice Bob thoả thuận chọn cách bí mật khố k Từ k người ta suy qui tắc mã hoá ek qui tắc giải mã dk.Trong hệ mật này, thấy dk trùng với ek, dễ dàng rút từ ek (ví dụ phép giải mã DES nói chung đồng với phép mã hố, khác lược đồ khoá thỉ đào ngược) Các hệ mật loại gọi hệ mật khố bí mật (hoặc riêng, đối xứng), việc tiết lộ ek làm cho hệ thống khơng an tồn Một đặc điểm hệ mật khố bí mật chỗ u cầu thoả thuận khố Alice Bob sử dụng kênh an toàn, trước mã bất ki truyền.Trong thực tế thực điều khó Ý tưởng nằm sau hệ mật khố cơng khai chỗ người ta tìm hệ mật khơng thể tính tốn để xác định dk biết ek Nếu thỉ qui tắc mã ek cho cơng khai cách cơng bố thư mục (vì có thuật ngữ hệ mật khố cơng khai) Ưu điểm cùa hệ mật khố cơng khai chỗ Alice (hoặc ngirịi khác hất kỳ) CĨ thể gửi thông báo mã tới Bob (mà không cần liên lạc trước khố bí mật) cách dùng qui tắc mã hố cơng khai eic- Bob người giải mã cách sử dụng qui tắc giải mã bí mật dk Ta hình dung sau: Alice đặt vật vào hộp sắt sau khố với khố bấm Bob để lại Bob người mờ hộp vi có chìa Một nhận xét quan trọng hệ mật khố cơng khai khơng cung cấp độ mật vơ điều kiện Đó quan sát mã y, đối phương mã hố rõ nhờ ek tìm thấy 132 X thoả mãn y=ek(x) Nghiệm X ià giải mã y Như độ an tồn hệ mật khố cơng khai độ an tồn tính tốn Hàm mã hố cơng khai ẽk Bob phải dễ dàng tính tốn Chúng ta ý v iệ c tính h àm n g ợ c , n g h ĩa v iệ c g iả i m ã, phái k h ó đ ố i v i người ngồi Bob Tính chất dễ tính tốn khó đảo ngược thương gọi tính chất chiều (tựa bán dẫn) Chúng ta mong muốn ek hàm chiều Các hàm chiều đóng vai trị trung tâm mật mã, chúng quan trọng việc thiết lập hệ mật khố cơng khai nội dung khác Đáng tiếc là, có nhiều hàm người ta tin hàm chiều, chưa có hàm chứng minh hàm chiều Nếu ta định thiết lập hệ mật khoá cơng khai việc tìm hàm chiều chưa đù Bob muốn giải mã thơng báo nhận cách có hiệu Như Bob cần có cửa sập (trap door), chứa thơng tin bí mật cho phép dễ dàng đảo ngược ek Nghĩa Bob giải mã hiệu có tri thức bí mật đặc biệt k Do ta nói rằng: f(x) hàm chiều cửa sập hàm chiều, trở nên dễ đào nguợc có tri thức cửa sập xác định Nói chung, có cách để tìm cửa sập hàm chiều Sau dãy ví dụ hàm đưực coi hàm mội chiều Giả sử n tích hai số nguyên tố lớn p q, giả sử b số nguyên dương Khi ta xác định ánh xạ f : Zn -> Zn f (x) = x b m od n (với b n chọn thích hợp hàm mã RSA, sau ta nói nhiều nó) Ý tưởng hệ mật khố cơng khai Diffie Hellman đưa vào năm 1976 Còn việc thực hố Rivesrt, Shamir Adleman đưa lần đẩu tiên vào năm 1977, họ tạo nên hệ mật tiếng RSA (sẽ nghiên cứu chương này) Kể từ cơng bố số hệ, độ mật chúng dựa tính tốn khác Trong đó, quan trọng hệ mật khố cơng khai sau: 133 - Hệ mật RSA: Độ bảo mật hệ RSA dựa độ khó việc phân tích thừa số nguyên lớn - Hệ mật Rabin: Độ bảo mật hệ Rabin dựa độ khó việc phân tích thừa số nguyên lớn - Hệ mật ElGamal: Hệ mật ElGamal dựa tính khó giải tốn logarit rịi rạc trường hữu hạn - Hệ mật đường cong Elliptic: Các hệ mật biến tướng hệ mật khác (chẳng hạn hệ mật ElGamal), chúng làm việc đường cong Elliptic trường hữu hạn Hệ mật đảm bảo độ mật với số khố nhỏ hệ mật khố cơng khai khác - Hệ mật xếp ba lô Merkle - Hellman: Hệ hệ liên quan dựa tính khó giải tốn tổng tập (bài toán toán NP đầy đủ - lớp lớn tốn khơng có giải thuật biết thời gian đa thức) Tuy nhiên tất hệ mật xếp ba lô khác bị chứng tỏ khơng an tồn (ngoại trừ hệ mật Chor-Rivest) - Hệ mậtMcEliece: Hệ dựa lý thuyết mã đại số coi an toàn Hệ mật McEliece dựa tốn giải mã cho mã tuyến tính (cũng toán NP đầy đủ) - Hệ mật Chor-Rivest: Hệ mật Chor-Rivest xem hệ mật xếp ba lơ Tuy nhiên coi an toàn 134 3.2 Hệ m ật RSA Bài tốn phân tích thừa số Bài tốn phân tích số nguyên n >1 thành thừa số nguyên tố xem tốn khó thường sử dụng lý thuyết mật mã Biết số n hợp số việc phân tích n thành thừa số có nghĩa, thường để giải tốn phân tích n thành thưa số, ta thử trước n có hợp số hay khơng; tốn phân tích n thành thừa số dẫn tốn tìm ước so n, biết ước số d cùa n tiến trình phân tích n tiếp tục thực cách phân tích d nịd Bài tốn phân tích thành thừa số, hay tốn tìm ước số số nguyên cho trước, nghiên cứu nhiều, chưa có thuật tốn hiệu để giải trường hợp tổng quát mà người ta có xu hướng giải tốn theo trường hợp đặc biệt số cần phải phân tích, chẳng hạn n có ước số ngun tố p với p - B-mịn với cận B > đó, n số Blum, tức số có dạng tích hai số nguyên tố lớn (n = p.q) Ta xét trường hợp thứ với (p - 1) - thuật toán Pollard sau: Một số nguyên n gọi B-mịn tất uớc số nguyên tố < B Ý chứa (p - 1) - thuật toán Pollard sau: Giả sừ 11 B-m ịn Kí liiệu Q bội chung bó tất lũy thừa cùa số nguyên tố < B mà thân chúng < n Nếu q' < n /lnq < ln/7, tức / < ln/ỉ ln q (Ị_JCJ số nguyên bé lớn x) Ta có: [lnn/lngj e = n ? q thỉ cho kết (d) Với số nguyên tố q < B thực hiện: 3.1 Tính / = 3.2 Tính a ln n ln q mod n Tính d = gcd(a - 1, n) Nếu < d < n cho kết (d) Nếu ngược lại thuật tốn coi nhu khơng có kết Ví dụ 3.1 Dùng thuật toán cho số n = 19048567 Ta chọn B = 19, a = tính gcd (3, n) = Chuyến sang thực bước ta đuợc bảng sau (mỗi hàng ứng với giá trị q): Bảng 3.1 Kết tính bước thuật (oán Pollard 136 Q L A 24 2293244 15 13555889 10 16937223 15214586 11 9685355 13 13271154 17 11406961 19 554506 Sau ta tính d = gcd (554506 - 1, 19048567) = 5281 Vậy ta thừa số p = 5281, thừa số q = n/p = 3607 Cả hai thừa số số nguyên tố Chú ý p - = 25.3.5.11, có tất ước số nguyên tố < 19, chắn thuật tốn kết thúc có kết Thuật tốn kết thúc khơng có kết độ mịn B chọn bé để không thùa số nguyên tố p n mà p - chứa ước số nguyên tố < B Như vậy, xem (p-l)-thuật tốn Pollard phân tích n thành thừa số ngun tố có hiệu số nguyên n B-mịn, người ta tính thời gian cần để thực thuật tốn cỡ o (#ln/í/ln#) phép nhân theo mơdulo Bây ta xét trường hợp số nguyên Blum, tức số có dạng n = p.q, tích hai số nguyên tố lớn Trước hết ta ý ta biết hai số nguyên khác X, V cho x2= y2 mod n ta dễ tìm thừa số n Thực vậy, tị x2= y2 mod n ta có X2 - y2 = (x - y) (x + y) chia hết cho n, n không ước số X + y X - y nên gcd(x - y, n) phải ước số n, tức p q Ta biết n = p.q số Blum phương trình đồng dư x2= a2 mod n có nghiệm , hai nghiệm tầm thường X = a X = -a Hai nghiệm không tầm thường khác ± b, chúng nghiệm cùa hai hệ phương trình đồng dư bậc sau đây: ỊX = a m o d p \ x = —a m o d q í x — a m°d p [jf = a m o d q 137 Bằng lập luận ta thấy n số Blum, a số nguyên tố với n ta biết nghiệm khơng tầm thường phuơng trình X = a2 mod n, tức biết X í ± a cho x 2= a2 mod n thỉ gcd(x-a, n) ước số n Những điều cho số phương pháp tìm ước số nguyên tố số nguyên dạng Blum; ý chung phương pháp dẫn việc tim nghiệm không tầm thường phương trinh dạng X = a2 mod n, chẳng hạn phương trình X mod n Một trường hợp lý thú lý thuyết mật mã ta biết hai số a, b nghịch đảo theo mod