MÃ HÓA DỮ LIỆU KHOA CNTT Mục Lục Mở đầu Chương i Cơ sở tốn học 1.Lý thuyết thơng tin 1.1 Entropy 1.2 Tốc độ ngôn ngữ (Rate of Language) 1.3 An toàn hệ thống mã hoá 2.Lý thuyết độ phức tạp 10 3.Lý thuyết toán học 12 3.1 Modular số học 12 3.2 Số nguyên tố 13 3.3 Ước số chung lớn 14 3.4 Số nghịch đảo Modulo 15 3.5 Ký hiệu La grăng (Legendre Symboy) 17 3.6 Ký hiệu Jacobi (Jacobi Symboy) 18 3.7 Định lý phần dư trung hoa 20 3.8 Định lý Fermat 21 Các phép kiểm tra số nguyên tố 21 4.1 Soloway-Strassen 22 4.2 Rabin-Miller 23 4.3 Lehmann 24 4.4 Strong Primes 24 Chương II Mật mã Khái niệm 26 Protocol 28 2.1 Giới thiệu Protocol 28 2.2 Protocol mật mã 29 Khoa Công Nghệ Thông Tin 2.3 Mục đích Protocol 2.4 Truyền thông sử dụng hệ mật mã đối xứng 31 2.5 Truyền thông sử dụng hệ mật mã công khai.33 Khoá 37 3.1 Độ dài khoá 37 3.2 Quản lý khố cơng khai 39 Mã dòng, mã khối (CFB, CBC) 41 4.1 Mơ hình mã hố khối 41 4.1.1 Mơ hình dây truyền khối mã hố 42 4.1.2 Mơ hình mã hố với thơng tin phản hồi.44 4.2 Mơ hình mã hố dịng 44 Các hệ mật mã đối xứng công khai 46 5.1 Hệ mật mã đối xứng 46 5.2 Hệ mật mã công khai 48 Các cách thám mã Chương III 50 Hệ mã hoá RSA Khái niệm hệ mật mã RSA 56 Độ an toàn hệ RSA 59 Một số tính chất hệ RSA Chương IV 61 Mơ hình Client/Server 1.Mơ hình Client/Server 64 Mã hố mơ hình Client/Server 65 Chương V Xây dựng hàm thư viện 1.Xây dựng thư viện liên kết động CRYPTO.DLL 68 2.Chương trình Demo thư viện CRYPTO.DLL 84 Khoa Công Nghệ Thông Tin Mở đầu Thế kỷ XXI kỷ công nghệ thông tin, thông tin tác động trực tiếp đến mặt hoạt động kinh tế xã hội hầu hết quốc gia giới Thơng tin có vai trị quan trọng, phải đảm bảo tính suốt thơng tin nghĩa thơng tin không bị sai lệch, bị thay đổi, bị lộ trình truyền từ nơi gửi đến nơi nhận Với phát triển nhanh công nghệ mạng máy tính đặc biệt mạng INTERNET khối lượng thơng tin ngày chuyển tải nhiều Những tập đoàn công nghiệp, công ty đa quốc gia, thị trường chứng khoán tiến hành xử lý truyền nhận thông tin đắt giá, phiên giao dịch hay mua bán cổ phiếu, trái phiếu tiến hành qua mạng Giờ với tăng trưởng nhanh siêu thị điện tử, thương mại điện tử hàng ngày có khối lượng tiền lớn lưu chuyển mạng tồn cầu INTERNET, vấn đề khó khăn đặt giữ thơng tin bí mật giữ cho tiền đến địa cần đến Bạn bạn gửi thư cho người bạn lại bị kẻ lạ mặt xem trộm sửa đổi nội dung thư trái với chủ ý bạn, tệ hại bạn ký hợp đồng, gửi thông qua mạng lại bị kẻ xấu sửa đổi Khoa Công Nghệ Thông Tin điều khoản đó, cịn nhiều điều tương tự Hậu ? Bạn bị người khác hiểu nhầm nội dung thư bị thay đổi, hợp đồng bị phá vỡ điều khoản khơng cịn ngun vẹn Như tình cảm, tiền bạc bạn nói rộng nghiệp bạn bị đe dọa thông tin mà bạn gửi khơng đảm bảo tính ngun vẹn chúng Mã hố thơng tin phương pháp đảm bảo tính suốt thơng tin Nó giải vấn rắc rối giúp bạn, thông tin mã hố gửi kẻ xấu khó giải mã Một số khái niệm mã hố thơng tin, phương pháp mã hố thơng tin RSA xây dựng thư viện hàm mã hố phục vụ trao đổi thơng tin mơ hình Client/Server Chương I Cơ sở tốn học Chương II Mật mã Chương III Hệ mã hoá RSA Chương IV Mơ hình Client/Server Chương V Xây dựng hàm thư viện Khoa Công Nghệ Thông Tin Chương i Cơ sở tốn học Để có thuật tốn mã hố tốt, phải có kiến thức toán học đáp ứng cho yêu cầu, chương mô tả khái niệm lý thuyết thông tin Entropy, tốc độ ngôn ngữ, hiểu biết độ phức tạp thuật toán, độ an tồn thuật tốn, với kiến thức toán học: modulo số học, số nguyên tố, định lý phần dư trung hoa, định lý Fermat phương pháp kiểm tra xem số có phải ngun tố hay khơng Những vấn đề trình bày chương gồm : ♦ Lý thuyết thông tin ♦ Lý thuyết độ phức tạp ♦ Lý thuyết số học 1.Lý thuyết thông tin Mô hình lý thuyết thơng tin định nghĩa lần vào năm 1948 Claude Elmwood Shannon Trong phần đề cập tới số chủ đề quan trọng lý thuyết thông tin 1.1 Entropy Lý thuyết thông tin định nghĩa khối lượng thơng tin thơng báo số bít nhỏ cần thiết để mã hoá tất nghĩa thơng báo Khoa Cơng Nghệ Thơng Tin Ví dụ, trường ngay_thang sở liệu chứa khơng q bít thơng tin, thơng tin mã hố với bít 000 = Sunday 001 = Monday 010 = Tuesday 011 = Wednesday 100 = Thursday 101 = Friday 110 = Saturday 111 is unused Nếu thông tin biểu diễn chuỗi ký tự ASCII tương ứng, chiếm nhiều khơng gian nhớ hơn, không chứa nhiều thông tin Tương tự trường gioi_tinh sở liệu chứa bít thơng tin, lưu trữ hai xâu ký tự ASCII : Nam, Nữ Khối lượng thông tin thông báo M đo Entropy thơng báo đó, ký hiệu H(M) Entropy thông báo gioi_tinh bít, ký hiệu H(gioi_tinh) = 1, Entropy thơng báo số ngày tuần nhỏ 3bits Trong trường hợp tổng quát, Entropy thông báo log2n, với n số khả H(M) = log2n Khoa Công Nghệ Thông Tin 1.2 Tốc độ ngôn ngữ (Rate of Language) Đối với ngôn ngữ, tốc độ ngôn ngữ r = H(M)/N trường hợp N độ dài thông báo Tốc độ tiếng Anh bình thường có vài giá trị 1.0 bits/chữ 1.5 bits/chữ cái, áp dụng với giá trị N lớn Tốc độ tuyệt đối ngôn ngữ số bits lớn nhất, chúng mã hố ký tự Nếu có L ký tự ngơn ngữ, tốc độ tuyệt đối : R = log2L Đây số Entropy lớn ký tự đơn lẻ Đối với tiếng Anh gồm 26 chữ cái, tốc độ tuyệt đối log226 = 4.7bits/chữ Sẽ điều ngạc nhiên tất người thực tế tốc độ tiếng Anh nhỏ nhiều so với tốc độ tuyệt đối 1.3 An tồn hệ thống mã hố Shannon định nghĩa rõ ràng, tỉ mỉ mơ hình tốn học, điều có nghĩa hệ thống mã hố an tồn Mục đích người phân tích phát khoá k, rõ p, hai thứ Hơn họ hài lịng với vài thơng tin có khả rõ p âm số, văn tiếng Đức, bảng tính liệu, v v Khoa Công Nghệ Thơng Tin Trong hầu hết lần phân tích mã, người phân tích có vài thơng tin có khả rõ p trước bắt đầu phân tích Họ biết ngơn ngữ mã hố Ngơn ngữ chắn có dư thừa kết hợp với ngơn ngữ Nếu thơng báo gửi tới Bob, bắt đầu với "Dear Bob" Chắc chắn "Dear Bob " khả chuỗi khơng mang ý nghĩa chẳng hạn "tm*h&rf" Mục đích việc thám mã sửa tập hợp khả có mã với khả rõ Có điều giống hệ thống mã hố, chúng đạt bí mật tuyệt đối Hệ thống mã hố mã khơng mang lại thơng tin để tìm lại rõ Shannon phát triển lý thuyết cho rằng, hệ thống mã hố an tồn tuyệt đối nếu số khố nhiều số thơng báo Hiểu theo nghĩa khác, khố tối thiểu dài thơng báo Ngoại trừ an tồn tuyệt đối, mã mang lại vài thông tin với rõ, điều khơng thể tránh Một thuật tốn mật mã tốt giữ cho thông tin mức nhỏ nhất, người thám mã tốt khai thác thông tin để phát rõ Người phân tích mã sử dụng dư thừa tự nhiên ngôn ngữ để làm giảm số khả rõ Nhiều thông tin dư thừa ngôn ngữ, Khoa Công Nghệ Thông Tin dễ dàng cho phân tích mật mã Chính lý mà nhiều thực mã hoá sử dụng chương trình nén rõ để giảm kích thước văn trước mã hố chúng Bởi q trình nén làm giảm dư thừa thông báo Entropy hệ thống mã hố đo kích thước khơng gian khố (keyspace) H(K) = log2(number of keys ) 1.4 Sự lộn xộn rườm rà (Confusion and Diffusion) Theo nhà khoa học Shannon, có hai kỹ thuật để che dấu dư thừa thông tin thơng báo gốc : lộn xộn rườm rà Kỹ thuật lộn xộn (Confusion) che dấu mối quan hệ rõ gốc Kỹ thuật làm thất bại cố gắng nghiên cứu mã tìm kiếm thơng tin dư thừa thống kê mẫu Phương pháp dễ để thực điều thông qua kỹ thuật thay Một hệ mã hoá thay đơn giản, chẳng hạn hệ mã dịch vòng Caesar, dựa tảng thay chữ cái, nghĩa chữ thay chữ khác Sự tồn chữ mã, việc dịch chuyển k vị trí chữ rõ Kỹ thuật rườm rà (Diffusion) làm dư thừa rõ bề rộng vượt q mã (nghĩa mã kích thước nhỏ rõ) Một người phân tích tìm kiếm dư thừa có ... Mơ hình mã hố với thơng tin phản hồi.44 4.2 Mơ hình mã hố dịng 44 Các hệ mật mã đối xứng công khai 46 5.1 Hệ mật mã đối xứng 46 5.2 Hệ mật mã công khai 48 Các cách thám mã Chương... hệ mật mã cơng khai.33 Khố 37 3.1 Độ dài khoá 37 3.2 Quản lý khố cơng khai 39 Mã dòng, mã khối (CFB, CBC) 41 4.1 Mơ hình mã hố khối 41 4.1.1 Mơ hình dây truyền khối mã hố... chúng Mã hố thơng tin phương pháp đảm bảo tính suốt thơng tin Nó giải vấn rắc rối giúp bạn, thơng tin mã hố gửi kẻ xấu khó khơng thể giải mã Một số khái niệm mã hố thơng tin, phương pháp mã hố