Mở đầu : trình bày lý do chọn đề tài, nêu rõ đối tượng và phạm vi nghiên cứu. Sau cùng là cách tổ chức của luận văn Chƣơng 2 Tổng quan về mã hóa và trao đổi khóa: nêu lên các khái niệm, giao thức về mã hóa và trao đổi khóa Chƣơng 3 Tìm hiểu về mạng nơron nhân tạo: nêu lịch sử phát triển, khái niệm nơron và mạng nơron, phân loại và cách huấn luyện mạng nơron Chƣơng 4 Ứng dụng mạng nơron vào trao đổi khóa bí mật : giới thiệu mô hình Tree Parity Machines, đưa ra thuật toán trao đổi khóa bằng mạng nơron Perceptron Chƣơng 5 Cài đặt chƣơng trình thử nghiệm: áp dụng thuật toán trao đổi khóa bằng mạng nơron Perceptron. Đưa giao diện chương trình. 4 CHƢƠNG II TỔNG QUAN VỀ MÃ HÓA VÀ TRAO ĐỔI KHÓA I.
Giới thiệu chung: Mật mã học là ngành khoa học ứng dụng toán học vào việc biến đổi thông tin thành một dạng khác với mục đích che giấu nội dung, ý nghĩa thông tin cần mã hoá. Đây là một ngành quan trọng và có nhiều ứng dụng trong đời sống xã hội. Ngày nay, các ứng dụng mã hóa và bảo mật thông tin đang được sử dụng ngày càng phổ biến hơn trong các lĩnh vực khác nhau trên thế giới, từ các lĩnh vực an ninh, quân sự, quốc phòng…cho đến các lĩnh vực dân sự như thương mại điện tử, ngân hàng… Cùng với sự phát triển của khoa học máy tính và internet, các nghiên cứu và ứng dụng của khoa học mật mã ngày càng trở nên đa dạng hơn, mở ra nhiều hướng nghiên cứu chuyên sâu vào từng lĩnh vực ứng dụng đặc thù với những đặc trưng riêng. Ứng dụng của khoa học về mật mã không chỉ đơn thuần là mã hóa và giải mã thông tin mà còn bao gồm nhiều vấn đề khác nhau cần được nghiên cứu và giải quyết: chứng thực nguồn gốc nội dung thông tin ( kỹ thuật chữ ký điện tử), chứng nhận tính xác thực về người sở hữu mã khóa ( chứng nhận khóa công cộng), các quy trình trao đổi thông tin và thực hiện giao dịch điện tử an toàn trên mạng… Những kết quả nghiên cứu về mật mã cũng đã được đưa vào trong các hệ thống phức tạp hơn, kết hợp với những kỹ thuật khác để đáp ứng các yêu cầu đa dạng của các hệ thống ứng dụng khác nhau trong thực tế, ví dụ như hệ thống bỏ phiếu bầu cử qua mạng, hệ thống đào tạo từ xa, hệ thống quản lý an ninh… 5 2.
Định nghĩa: Mật mã học là sự nghiên cứu các phương pháp toán học, liên quan đến một số khía cạnh của thông tin như an toàn, sự toàn vẹn dữ liệu, sự xác nhận tồn tại và sự xác nhận tính nguyên bản của thông tin. Khái niệm mã hóa (Encryption) và giải mã (Decryption): Mã hóa: là quá trình chuyển thông tin có thể đọc được (gọi là bản rõ) thành thông tin “ khó ” có thể đọc được theo cách thông thường (gọi là bản mã ) đó là một trong những kỹ thuật để bảo mật thông tin. Giải mã: là quá trình chuyển thông tin ngược lại từ bản mã thành bản rõ. Thuật toán mã hóa hay giải mã là thủ tục để thực hiện mã hóa hay giải mã.
Khóa E Bản rõ Bản mã Mã hóa Xin chào! ₤€µ®ﻊﻅ Đây là văn bản. Kênh công cộng …………. Giải mã Khóa D Hình 2.1 Sơ đồ hệ thống mã hóa 6 Mã hóa đối xứng: Khóa E = Khóa D Mã hóa bất đối xứng: Khóa E ≠ Khóa D Khóa mã hóa là giá trị làm cho thuật toán mã hóa thực hiện theo cách riêng biệt và sinh ra bản rõ riêng. Thông thường khóa càng lớn thì bản mã càng an toàn.
Phạm vi các giá trị có thể có của khóa được gọi là Không gian khóa. Hệ mã hóa là tập các thuật toán, các khóa nhằm che giấu thông tin cũng như làm rõ nó.1 Các loại thuật toán khóa đối xứng Thuật toán đối xứng có thể được chia ra làm hai thể loại, mật mã luồng (stream ciphers) và mật mã khối (block ciphers). Mật mã luồng mã hóa từng bit của thông điệp trong khi mật mã khối gộp một số bit lại và mã hóa chúng như một đơn vị. Cỡ khối được dùng thường là các khối 64 bit.
Thuật toán AES được NIST công nhận tháng 12 năm 2001, sử dụng các khối gồm 128 bit. Các thuật toán đối xứng thường không được sử dụng độc lập. Trong thiết kế của các hệ thống mật mã hiện đại, cả hai thuật toán bất đối xứng và thuật toán đối xứng được sử dụng phối hợp để tận dụng các ưu điểm của cả hai. Những hệ thống sử dụng cả hai thuật toán bao gồm những cái như SSL, PGP và GPG v.
Các thuật toán khóa bất đối xứng được sử dụng để phân phối khóa mật cho thuật toán đối xứng có tốc độ cao hơn.Tốc độ Các thuật toán đối xứng nói chung đòi hỏi công suất tính toán ít hơn các thuật toán khóa bất đối xứng. Trên thực tế, một thuật toán khóa bất đối 7 xứng có khối lượng tính toán nhiều hơn gấp hằng trăm, hằng ngàn lần một thuật toán khóa đối xứng có chất lượng tương đương.Hạn chế Hạn chế của các thuật toán khóa đối xứng bắt nguồn từ yêu cầu về sự phân hưởng khóa bí mật, mỗi bên phải có một bản sao của khóa. Do khả năng các khóa có thể bị phát hiện bởi đối thủ mật mã, chúng thường phải được bảo toàn trong khi phân phối và trong khi dùng. Hậu quả của yêu cầu về việc lựa chọn, phân phối và lưu trữ các khóa một cách không có lỗi, không bị mất mát là một việc làm khó khăn, khó có thể đạt được một cách đáng tin cậy.
Để đảm bảo giao thông liên lạc an toàn cho tất cả mọi người trong 𝑛(𝑛−1) một nhóm gồm n người, tổng số lượng khóa cần phải có là 2 Hiện nay người ta phổ biến dùng các thuật toán bất đối xứng có tốc độ chậm hơn để phân phối khóa đối xứng khi một phiên giao dịch bắt đầu, sau đó các thuật toán khóa đối xứng tiếp quản phần còn lại. Vấn đề về bảo quản sự phân phối khóa một cách đáng tin cậy cũng tồn tại ở tầng đối xứng, song ở một điểm nào đấy, người ta có thể kiểm soát chúng dễ dàng hơn. Tuy thế, các khóa đối xứng hầu như đều được sinh tạo tại chỗ. Các thuật toán khóa đối xứng không thể dùng cho mục đích xác thực (authentication) hay mục đích chống thoái thác (non-repudiation) được.2 Mã hóa bất đối xứng (Mã hóa công khai) Là thuật toán trong đó việc mã hóa và giãi mã dùng hai khóa khác nhau là pulic key (khóa công khai ) và private key (khóa riêng ).
Nếu dùng public key để mã hóa thì private key sẽ dùng để giải mã và ngược lại 8 2. An toàn Về khía cạnh an toàn, các thuật toán mật mã hóa bất đối xứng cũng không khác nhiều với các thuật toán mã hóa đối xứng. Có những thuật toán được dùng rộng rãi, có thuật toán chủ yếu trên lý thuyết; có thuật toán vẫn được xem là an toàn, có thuật toán đã bị phá vỡ… Cũng cần lưu ý là những thuật toán được dùng rộng rãi không phải lúc nào cũng đảm bảo an toàn. Một số thuật toán có những chứng minh về độ an toàn với những tiêu chuẩn khác nhau.
Nhiều chứng minh gắn việc phá vỡ thuật toán với những bài toán nổi tiếng vẫn được cho là không có lời giải trong thời gian đa thức. Vì vậy, cũng giống như tất cả các thuật toán mật mã nói chung, các thuật toán mã hóa khóa công khai cần phải được sử dụng một cách thận trọng. Ứng dụng Ứng dụng rõ ràng nhất của mật mã hóa khóa công khai là bảo mật: một văn bản được mã hóa bằng khóa công khai của một người sử dụng thì chỉ có thể giải mã với khóa bí mật của người đó. Các thuật toán tạo chữ ký số khóa công khai có thể dùng để nhận thức.
Một người sử dụng có thể mã hóa văn bản với khóa bí mật của mình. Nếu một người khác có thể giải mã với khóa công khai của người gửi thì có thể tin rằng văn bản thực sự xuất phát từ người gắn với khóa công khai đó. Hạn chế Tồn tại khả năng một người nào đó có thể tìm ra được khóa bí mật. Không giống với hệ thống mật mã sử dụng một lần (one-time pad) hoặc tương đương, chưa có thuật toán mã hóa khóa bất đối xứng nào được chứng minh là an toàn trước các tấn công dựa trên bản chất toán học của thuật toán.
Khả năng một mối quan hệ nào đó giữa 2 khóa hay điểm yếu của thuật toán dẫn tới cho phép giải mã không cần tới khóa hay chỉ cần khóa mã hóa vẫn chưa được loại trừ. An toàn của các thuật toán này đều dựa trên các ước 9 lượng về khối lượng tính toán để giải các bài toán gắn với chúng. Các ước lượng này lại luôn thay đổi tùy thuộc khả năng của máy tính và các phát hiện toán học mới. Khả năng bị tấn công dạng kẻ tấn công đứng giữa (man in the middle attack): kẻ tấn công lợi dụng việc phân phối khóa công khai để thay đổi khóa công khai.
Sau khi đã giả mạo được khóa công khai, kẻ tấn công đứng ở giữa 2 bên để nhận các gói tin, giải mã rồi lại mã hóa với khóa đúng và gửi đến nơi nhận để tránh bị phát hiện. Dạng tấn công kiểu này có thể phòng ngừa bằng các phương pháp trao đổi khóa an toàn nhằm đảm bảo nhận thực người gửi và toàn vẹn thông tin. Khối lượng tính toán Để đạt được độ an toàn tương đương đòi hỏi khối lượng tính toán nhiều hơn đáng kể so với thuật toán mật mã hóa đối xứng. Vì thế trong thực tế hai dạng thuật toán này thường được dùng bổ sung cho nhau để đạt hiệu quả cao.
Trong mô hình này, một bên tham gia trao đổi thông tin tạo ra một khóa đối xứng dùng cho phiên giao dịch. Khóa này sẽ được trao đổi an toàn thông qua hệ thống mã hóa khóa bất đối xứng. Sau đó 2 bên trao đổi thông tin bí mật bằng hệ thống mã hóa đối xứng trong suốt phiên giao dịch. Trao đổi khóa 1.
Giới thiệu trao đổi khóa Diffie-Hellman: Trao đổi khóa Diffie-Hellman là một phương pháp trao đổi khóa được phát minh sớm nhất trong mật mã học. Phương pháp trao đổi khóa Diffie- Hellman cho phép hai bên (người, thực thể giao tiếp) thiết lập một khóa bí mật chung để mã hóa dữ liệu sử dụng trên kênh truyền thông không an toàn mà không cần có sự thỏa thuận trước về khóa bí mật giữa hai bên.