Nghiên cứu mạng nơron nhân tạo và ứng dụng trong trao đổi khóa bí mật

60 36 0
Nghiên cứu mạng nơron nhân tạo và ứng dụng trong trao đổi khóa bí mật

Đ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Ộ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - PHẠM CÔNG THIỆN NGHIÊN CỨU MẠNG NƠRON NHÂN TẠO VÀ ỨNG DỤNG VÀO TRAO ĐỔI KHĨA BÍ MẬT LUẬN VĂN THẠC SĨ Chuyên ngành : Công Nghệ Thông Tin Mã số ngành: 60480201 TP Hồ Chí Minh, Tháng 04 Năm 2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - PHẠM CÔNG THIỆN NGHIÊN CỨU MẠNG NƠRON NHÂN TẠO VÀ ỨNG DỤNG VÀO TRAO ĐỔI KHÓA BÍ MẬT LUẬN VĂN THẠC SĨ Chun ngành : Cơng Nghệ Thông Tin Mã số ngành: 60480201 CÁN BỘ HƢỚNG DẪN KHOA HỌC: TS LƢ NHẬT VINH TP Hồ Chí Minh, Tháng 04 Năm 2015 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM Cán hướng dẫn khoa học : TS Lư Nhật Vinh (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn Thạc sĩ bảo vệ Trường Đại học Công nghệ TP HCM ngày 11 tháng 04 năm 2015 Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm: TT Họ tên Chức danh Hội đồng PGS TS Lê Trọng Vĩnh Chủ tịch PGS TS Đỗ Phúc Phản biện PGS TS Lê Hồng Thái Phản biện TS Võ Đình Bảy Ủy viên TS Lê Tuấn Anh Ủy viên, Thư ký Xác nhận Chủ tịch Hội đồng đánh giá Luận sau Luận văn sửa chữa Chủ tịch Hội đồng đánh giá LV TRƯỜNG ĐH CÔNG NGHỆ TP HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc PHÒNG QLKH – ĐTSĐH TP.HCM, Ngày 10 tháng 03 năm 2015 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: PHẠM CƠNG THIỆN .Giới tính: Nam Ngày, tháng, năm sinh: 18-01-1987 .Nơi sinh: Vĩnh Long Chuyên ngành: .Công nghệ thông tin .MSHV:1341860024 I- Tên đề tài: NGHIÊN CỨU MẠNG NƠRON NHÂN TẠO VÀ ỨNG DỤNG VÀO TRAO ĐỔI KHĨA BÍ MẬT II- Nhiệm vụ nội dung: - Nghiên cứu tìm hiểu mạng nơron nhân tạo Tìm hiểu thuật tốn trao đổi khóa, mã hóa , giải mã Từ xây dựng chương trình trao đổi khóa bí mật dựa vào mạng nơron nhân tạo + Xây dựng mạng nơron phù hợp với toán + Huấn luyện mạng nơron để tạo ma trận trọng số tối ưu + Tạo khóa dựa vào ma trận trọng số đồng + Mã hóa giải mã dựa vào khóa vừa tạo III- Ngày giao nhiệm vụ: 18/8/2014 IV- Ngày hoàn thành nhiệm vụ: 10/3/2015 V- Cán hƣớng dẫn: TS LƯ NHẬT VINH CÁN BỘ HƢỚNG DẪN (Họ tên chữ ký) KHOA QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) i LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu Luận văn trung thực chưa công bố cơng trình khác Tơi xin cam đoan giúp đỡ cho việc thực Luận văn cảm ơn thơng tin trích dẫn Luận văn rõ nguồn gốc Học viên thực Luận văn (Ký ghi rõ họ tên) Phạm Công Thiện ii LỜI CẢM ƠN Trước tiên, xin gửi lời cảm ơn đến Ban Giám Hiệu, toàn thể cán nhân viên, giảng viên trường Đại Học HUTECH, Ban lãnh đạo Phòng Quản Lý Khoa Học Đào Tạo Sau Đại Học, khoa Công Nghệ Thông Tin tạo điều kiện thuận lợi cho học tập nghiên cứu suốt học trình cao học Xin gửi lời cảm ơn đến tất quý thầy cô giảng dạy chương trình Đào tạo thạc sĩ chun ngành Cơng nghệ thơng tin, khóa 2, lớp 13SCT11 - Trường Đại học Cơng Nghệ TPHCM, người truyền đạt cho kiến thức hữu ích để làm sở cho tơi thực tốt luận văn Với lịng kính trọng biết ơn, xin bày tỏ lời cảm ơn đến TS Lư Nhật Vinh tận tình hướng dẫn cho thời gian thực luận văn Mặc dù q trình thực luận văn có giai đoạn khơng thuận lợi, thầy hướng dẫn, bảo cho nhiều kinh nghiệm thời gian thực luận văn Xin gửi lời cảm ơn đến bạn Phạm Duy giúp đỡ tư vấn tơi phần code cho chương trình suốt q trình tơi thực luận văn Sau xin gửi lời biết ơn sâu sắc đến bạn bè, gia đình, anh chị tập thể lớp 13SCT11 tạo điều kiện tốt cho suốt trình học thực luận văn Do thời gian có hạn kinh nghiệm nghiên cứu khoa học chưa nhiều nên luận văn nhiều thiếu sót, mong nhận ý kiến góp ý Thầy/Cô anh chị học viên iii TÓM TẮT Mật mã cung cấp dịch vụ khả gửi thông tin thành viên tham gia, phải đảm bảo an toàn ngăn chặn người khác đọc Để bảo vệ nội dung chống lại kẻ công, người gửi mã hóa thơng điệp cách sử dụng thuật tốn mã hóa đối xứng bất đối xứng Nhưng người nhận cần phải biết khóa người gửi để giải mã đọc thơng điệp đó, vấn đề ta đạt cách sử dụng giao thức trao đổi khóa Diffie-Hellman giao thức trao đổi khóa giới thiệu, giao thức trao đổi khóa phổ biến Tuy nhiên giao thức trao đổi khóa Diffie-Hellman khơng đảm bảo an tồn q trình trao đổi khóa có kẻ thứ ba can thiệp Với lý chọn đề tài “ Nghiên cứu mạng nơron nhân tạo ứng dụng vào trao đổi khố bí mật” Nghiên cứu thay thuật toán Diffie-Hellman mạng nơron nhân tạo (sử dụng mạng nơron Perceptron Cách thức giao thức trao đổi khóa khác so với thuật tốn Diffie-Hellman Cụ thể: + Khóa bí mật tạo việc đồng trọng số liên kết mạng nơron thơng qua mơ hình Tree Parity Machines + Khi tạo khóa bí mật thơng tin sử dụng tiêu chuẩn mã hóa tiên tiến để mã hóa giải mã iv ABSTRACT Cryptography is the art of mangling information into apparent unintelligibility in a manner allowing a secret method of unmangling The basic service provided by cryptography is the ability to send information between participants in a way that prevents others from reading it In order to protect the content against an opponent, sender encrypts histher message using a fast symmetric encryption algorithm But receiver needs to know sender's key for reading her message, one can achieve this by using a keyexchange protocol Diffie Hellman key exchange protocol was introduced for key exchange protocol But Diffie Hellman is prune to man in middle attack so neural cryptography is used for key exchange From all reasons above I would like to choose the topic “ Research neural networks and applications to serect key exchange ” This research will substitute Diffie-Hellman algorithm by neural network with more secure purpose in the key exchange process It is also different from Diffie-Hellman algorithm about the way and key exchange protocol  Secret key is created by synchronizing the weight of neural network with Tree Parity Machines model  When we create secret key, so the information will use Advanced Encryption Standard to encryption and decryption v MỤC LỤC Chƣơng I: MỞ ĐẦU I Giới thiệu II Lý chọn đề tài III Mục tiêu đề tài IV Đối tượng phạm vi nghiên cứu V Cấu trúc luận văn Chƣơng II: TỔNG QUAN VỀ MÃ HÓA VÀ TRAO ĐỔI KHÓA I Mật mã học Giới thiệu chung Định nghĩa II Mã hóa Khái niệm mã hóa giải mã Các kỹ thuật mã hóa III Trao đổi khóa Giới thiệu trao đổi khóa Diffie–Hellman Giao thức trao đổi khoá Diffie-Hellman 10 Hạn chế 14 Chƣơng III: TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO 15 I Lịch sử phát triển mạng nơron 15 II Khái niệm mạng nơron 18 Tìm hiểu nơron 18 Mạng nơron nhân tạo 22 III Đặc trưng mạng nơron 23 Tính phi tuyến 23 vi Tính chất tương ứng đầu vào đầu 23 Tính chất thích nghi 24 Tính chất đưa lời giải có chứng 24 Tính chất chấp nhận sai sót 25 Khả cài đặt VLSI (Very-large-scale-intergrated) 25 Tính chất đồng dạng phân tích thiết kế 25 IV Phân loại mạng nơron nhân tạo 26 Các kiểu mơ hình mạng nơron 26 Perceptron 28 Mạng nhiều tầng truyền thẳng (MLP) 29 V Xây dựng mạng nơron 31 VI Huấn luyện mạng nơron 32 Huấn luyện có giám sát 32 Huấn luyện không giám sát 33 Huấn luyện tăng cường 33 VII Biểu diễn tri thức cho mạng nơron 33 VIII Một số vấn đề mạng nơron 36 IX Ứng dụng mạng nơron 37 Chƣơng IV: ỨNG DỤNG MẠNG NƠRON VÀO TRAO ĐỔI KHĨA BÍ MẬT 38 I Ý tưởng 38 II Thuật toán trao đổi khóa mạng nơron Perceptron 41 Chƣơng V: CÀI ĐẶT CHƢƠNG TRÌNH THỬ NGHIỆM 43 Kết luận 46 Tài liệu tham khảo 47 33 Như với huấn luyện có giám sát, số lớp cần phân loại biết trước Nhiệm vụ thuật toán phải xác định cách thức phân lớp cho với vector đầu vào phân loại xác vào lớp Huấn luyện khơng giám sát Là việc huấn luyện khơng cần có giám sát Trong toán huấn luyện không giám sát, tập liệu huấn luyện cho dạng: D = {(x1, x2, , xN)}, với (x1, x2, , xN), vector đặc trưng mẫu huấn luyện Nhiệm vụ thuật toán phải phân chia tập liệu D thành nhóm con, nhóm chứa vector đầu vào có đặc trưng giống Như với huấn luyện không giám sát, số lớp phân loại chưa biết trước, tùy theo tiêu chuẩn đánh giá độ tương tự mẫu mà ta có lớp phân loại khác Huấn luyện tăng cƣờng Là tổ hợp hai mơ hình Phương pháp cụ thể sau: với vector đầu vào, quan sát vector đầu mạng tính Nếu kết xem “tốt” mạng thưởng theo nghĩa tăng trọng số kết nối lên; ngược lại mạng bị phạt, trọng số kết nối không thích hợp giảm xuống Do huấn luyện tăng cường huấn luyện theo nhà phê bình (critic), ngược với huấn luyện có giám sát huấn luyện theo thầy giáo (teacher) VII Biểu diễn tri thức cho mạng nơron Chúng ta đưa định nghĩa tri thức sau: Tri thức thơng tin lưu trữ hay mơ hình người máy móc sử dụng để biểu diễn giới thực, phán đốn giới có đáp ứng phù hợp với giới bên Tri thức bao gồm kiện luật 34 Các đặc tính biểu diễn tri thức là:  Thơng tin thực biểu diễn  Làm thơng tin mã hóa cách vật lý cho việc sử dụng sau Trong ứng dụng thực tế máy tính thơng minh, nói giải pháp tốt phụ thuộc vào biến tri thức tốt Điều với mạng nơron, lớp đặc biệt máy thông minh Tuy nhiên, dạng biểu diễn từ đầu vào thành tham số bên mạng đa dạng, có khuynh hướng cho việc tìm giải pháp thích hợp nhằm biểu diễn tri thức phương tiện mạng nơron trở nên thách thức thiết kế Ở cần nhấn mạnh mạng nơron lưu trữ thơng tin giới thực thân cấu trúc kể mặt hình dạng giá trị tham số bên (có thể thay đổi để nắm bắt mới) Một nhiệm vụ mạng nơron học mơ hình giới thực để đạt số mục đích xác định cần quan tâm Tri thức giới bao gồm hai loại thông tin sau:  Trạng thái giới biết, biểu diễn kiện biết; dạng tri thức xem thông tin ban đầu  Các quan sát (đo đạc) giới, thu nhận thông qua cảm biến thiết kế để thăm dị mơi trường mà mạng hoạt động Nói chung, quan sát ln bị nhiễu sai lệch nhiều nguyên nhân khác Các quan sát thu nhận cung cấp quỹ thơng tin, mà từ lấy ví dụ dùng để huấn luyện mạng nơron Do cấu trúc mạng nơron vô đa dạng, nên để biểu diễn tri thức cách có hiệu quả, người ta đưa bốn quy tắc chung sau: Quy tắc 1: Các đầu vào tương tự lớp tương tự cần phải tạo biểu diễn tương tự mạng, nên phân lớp thuộc loại Trong tiêu chuẩn này, người ta thường sử dụng 35 số thước đo để xác định độ “tương tự” đầu vào (ví dụ khoảng cách euclide) Quy tắc 2: Các phân tử mà phân thành lớp riêng biệt nên có biểu diễn khác đáng kể mạng Quy tắc 3: Nếu đặc trưng đặc biệt quan trọng nên có số lượng lớn nơron liên quan đến việc biểu diễn đặc trưng mạng Số lượng lớn nơron bảo đảm mức độ xác cao việc thực định nâng cao khả chịu đựng nơron hỏng Quy tắc 4: Thông tin ban đầu tính chất bất biến nên đưa vào thiết kế ban đầu mạng neural, giảm bớt gánh nặng cho trình huấn luyện Quy tắc đặc biệt quan trọng áp dụng cách thích hợp dẫn đến khả tạo mạng nơron với kiến trúc chuyên biệt Điều thực quan tâm số nguyên nhân sau: Các mạng nơron thị giác thính giác sinh học biết chuyên biệt Một mạng nơron với cấu trúc chuyên biệt thường có số lượng nhỏ tham số tự phù hợp cho việc chỉnh lý mạng kết nối đầy đủ Như mạng nơron chuyên biệt cần tập hợp liệu nhỏ cho việc tích lũy; học nhanh hơn, thường có khả tổng quát hóa tốt Tốc độ chuyển thơng tin qua mạng chuyên biệt nhanh Giá việc xây dựng mạng chuyên biệt nhỏ kích thước nhỏ so với mạng kết nối đầy đủ 36 VIII Một số vấn đề mạng nơron Khi xây dựng ứng dụng mạng nơron cần quan tâm số vấn đề sau: Vấn đề kiến trúc mạng nơron: nơron nối với nơron nào? Đây lựa chọn mơ hình mạng nơron Nó phụ thuộc vào trình bày liệu ứng dụng Những mơ hình phức tạp dẫn đến vấn đề lựa chọn trình huấn luyện việc lựa chọn giải thuật học Lựa chọn giải thuật học: có nhiều cân thuật học Gần giải thuật làm tốt với độ xác siêu tham số cho việc huấn luyện tập liệu cố định trước Tuy nhiên lựa chọn điều hướng giải thuật cho việc huấn luyện tập liệu cần thực nhiều thí nghiệm, điều quan trọng Trên mơ hình lựa chọn giải thuật hàm đánh giá phù hợp mạng nơron cho kết tốt Trọng số cung nối ngưỡng thay đổi thường xuyên Đã có nhiều nghiên cứu vấn đề có số kết quả: Nếu mạng gây lỗi, xác định nơron gây lỗi => điều chỉnh nơron Với cách tiếp cận này, mạng phải biết gây lỗi Trong thực tế, lỗi biết sau thời gian dài Chức nơron không đơn giản mơ hình Bởi mạng nơron hoạt động hộp đen Một số hƣớng dẫn sử dụng mạng nơron Xây dựng mạng khởi tạo (dùng lớp ẩn có số nơron =1/2 tổng số nơron lớp nhập lớp xuất) Huấn luyện mạng dùng giải thuật học Nên thực nhiều mạng khác để tránh trường hợp cực tiểu cục Nếu máy “Không thuộc bài” => thêm vài nơron cho tầng ẩn Ngược lại máy “Học vẹt” => bớt vài nơron khỏi tầng ẩn 37 Khi tìm kiến trúc mạng tương đối tốt lấy mẫu lại tập liệu huấn luyện lại để tìm mạng IX Ứng dụng mạng nơron Mạng nơron vài năm trở lại nhiều người quan tâm áp dụng thành cơng nhiều lĩnh vực khác nhau, tài chính, y tế, địa chất, vật lý Thật vậy, đâu có vấn đề dự báo, phân loại điều khiển, mạng nơron đề ứng dụng Ví dụ khả nhận dạng mặt người hệ thống quản lý thông tin liên quan đến người (quản lý nhân công sở, doanh nghiệp; quản lý học sinh, sinh viên trường trung học, đại học, cao đẳng…); ngành khoa học hình sự, tội phạm; khoa học tướng số, tử vi… Kết hợp chặt chẽ với logic mở, mạng nơron nhân tạo tạo nên cách mạng thực việc thơng minh hóa vạn hóa điều khiển kỹ thuật cao cho tương lai Ví dụ ứng dụng tự động điều khiển hệ thống lái tàu, hệ thống dự báo cố,… 38 CHƢƠNG IV: ỨNG DỤNG MẠNG NƠRON VÀO TRAO ĐỔI KHĨA BÍ MẬT I Ý tƣởng: Xây dựng mạng nơron Perceptron mà phần tử trọng số liên kết đồng hóa vào lớp mạng này, mà trọng số liên kết khóa bí mật mơ hình Tree Parity Machines Mơ hình TPM (Tree Parity Machines) bao gồm vector đầu vào X, lớp ẩn Sigma 𝛿, trọng số liên kết W vector đầu vào lớp ẩn, hàm kích hoạt mà đếm giá trị kết τ Nó mơ tả ba thơng số: K( số lượng tế bào thần kinh ẩn), N (số lượng tế bào thần kinh kết nối với đầu vào tế bào thần kinh ẩn) L (giới hạn giá trị cho trọng số ({-L + L}) τ = (-1;1) 𝛿1 W11 𝛿𝑛 = {-1; 1} 𝛿2 W1n W2n X11 X12 X13 X1n X21 X22 X23 X2n W kn={-L;…;L} Xk1 Xk2 Xk3 Xkn={-1;1} Hình 4.1 Mơ hình Tree parity machine 39 Hai máy có cấu trúc mạng nơron theo mơ hình TPM tương tự Để tính giá trị đầu ra, ta sử dụng phương pháp đơn giản: τ= Với: 𝐾 𝑖=1 𝑆𝑖𝑔𝑛 ( 𝑤 𝑗=1 𝑊𝑖𝑗 𝑋𝑖𝑗 ) Nơron ẩn: K Nơron đầu vào : 𝑋𝑖𝑗 ∈ {−1, } Giá trị trọng số liên kết: 𝑊𝑖𝑗 ∈ {−𝑙, 0, +𝑙 } −1 𝑛ế𝑢 𝑥 < Sign(x)= 𝑛ế𝑢 𝑥 ≥ Khi cập nhật giá trị trọng số liên kết? Và cách nào? Chúng ta cập nhật giá trị trọng số giá trị đầu Ở có qui tắc huấn luyện khác nhau: W+i,j= g( Wi,j + Xi,j.τ θ(𝛿𝑖 , τ ) θ(τA , τB )) Hebbian learning rule W+i,j= g( Wi,j - Xi,j.τ θ(𝛿𝑖 , τ ) θ(τA , τB )) Anti-Hebbian learning rule W+i,j= g( Wi,j + Xi,j θ(𝛿𝑖 , τ ) θ(τA , τB )) Random-walk learning rule Với: Theta θ chức đặc biệt Theta (a, b) = a ≠ b; ngược lại a=b Theta = g ( ) có chức giữ trọng số phạm vi ( -L ; + L) x vector đầu vào w vector trọng số Sau hai máy đồng hóa, ma trận trọng số liên kết chúng Ta sử dụng ma trận để xây dựng khóa chia sẻ hai máy 40 Cách tạo khóa từ ma trận trọng số: Trên máy có chuỗi dãy số ngẫu nhiên A giống Kích thước = chiều dài chuỗi A / ( L * + 1) Chiều dài khóa = (K * N ) / Kích thước Dựa vào ma trận trọng số ta lấy vị trí ký tự từ chuỗi A để làm khóa for (int i = 1; i

Ngày đăng: 05/03/2021, 15:26

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

Tài liệu liên quan