Luận văn Nghiên cứu về các hệ mã khối trong mật mã nhẹ
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Nghiên cứu về các hệ mã khối trong mật mã nhẹ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
luan_van_nghien_cuu_ve_cac_he_ma_khoi_trong_mat_ma_nhe.pdf
Nội dung tài liệu: Luận văn Nghiên cứu về các hệ mã khối trong mật mã nhẹ
- ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ ĐỖ HUY YÊN NGHIÊN CỨU VỀ CÁC HỆ MÃ KHỐI TRONG MẬT MÃ NHẸ LUẬN VĂN THẠC SĨ Ngành: Kỹ thuật phần mềm HÀ NỘI - 2019
- ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ ĐỖ HUY YÊN NGHIÊN CỨU VỀ CÁC HỆ MÃ KHỐI TRONG MẬT MÃ NHẸ Ng nh : Kỹ thuật phần mềm Chuy n ng nh : Kỹ thuật phần mềm Mã số : 8480103.01 LUẬN VĂN THẠC SĨ Ngành: Kỹ thuật phần mềm NGƢỜI HƢỚNG D N KHO HỌC: TS. HỒ VĂN C NH Hà Nội - 2019
- i LỜI CẢM ƠN Tôi xin chân th nh cảm ơn Khoa Công nghệ thông tin, Trƣờng Đại học Công nghệ đã tạo điều kiện, môi trƣờng thuận lợi cho học vi n trong quá trình học tập, nghi n cứu v ho n th nh luận văn thạc sĩ. Với lòng biết ơn sâu sắc nhất, tôi xin gửi đến Tiến sĩ Hồ Văn Canh, Cục KTNV, Bộ Công an, định hƣớng phƣơng pháp nghi n cứu khoa học cho tôi, đồng thời cung cấp nhiều t i liệu v tạo điều kiện thuận lợi trong suốt quá trình học tập v nghi n cứu. Nếu không có sự định hƣớng, những lời dạy bảo của các thầy thì luận văn của tôi rất khó có thể ho n thiện đƣợc. Một lần nữa, tôi xin chân th nh cảm ơn các thầy. Tôi xin đƣợc gửi lời cảm ơn đến các thầy, cô trong bộ môn Kỹ thuật phần mềm v Khoa Công nghệ thông tin, Trƣờng Đại học Công nghệ - Đại học Quốc gia H Nội đã nhiệt tình giảng dạy v truyền đạt những kiến thức, kinh nghiệm quý giá trong suốt thời gian tôi học tập tại trƣờng. Tôi xin đƣợc gửi lời cảm ơn đến các bạn học vi n lớp K22-KTPM, những ngƣời đồng h nh trong suốt khóa học v có nhiều góp ý bổ ích cho tôi. Cảm ơn gia đình bạn bè đã quan tâm động vi n giúp tôi có nghị lực phấn đấu để ho n th nh tốt luận văn n y Bƣớc đầu đi v o thực tế, tìm hiểu về lĩnh vực chuy n sâu trong An to n thông tin, kiến thức của tôi còn hạn chế v còn nhiều bỡ ngỡ. Do vậy, không tránh khỏi những thiếu sót trong luận văn. Tôi rất mong nhận đƣợc những ý kiến đóng góp quý báu của thầy cô v các bạn để ho n thiện luận văn hơn nữa. Một lần nữa xin gửi lời cảm ơn chân th nh v sâu sắc. H Nội, Ng y tháng năm 2019 Học vi n thực hiện Đ Hu Y n
- ii LỜI C M ĐO N Luận văn thạc sĩ đánh dấu những th nh quả, kiến thức tôi đã tiếp thu đƣợc trong suốt quá trình rèn luyện, học tập tại trƣờng. Tôi xin cam đoan luận văn “Nghi n cứu về các hệ mã khối trong mật mã nhẹ” đƣợc ho n th nh bằng quá trình học tập v nghi n cứu của tôi dƣới sự hƣớng dẫn của TS. Hồ Văn Canh. Trong to n bộ nội dung nghi n cứu của luận văn, các vấn đề đƣợc trình b y đều l những tìm hiểu v nghi n cứu của cá nhân tôi, hoặc trích dẫn các nguồn t i liệu đều đƣợc đƣa ra ở phần t i liệu tham khảo. Tôi xin cam đoan những lời tr n l sự thật v chịu trách nhiệm trƣớc thầy cô v hội đồng bảo vệ luận văn thạc sĩ. H nội, Ng y tháng năm 2019 Đ Hu Y n
- iii MỤC LỤC LỜI CẢM ƠN ........................................................................................................ i LỜI CAM ĐOAN .................................................................................................. ii MỤC LỤC ............................................................................................................ iii DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ........................................... v DANH MỤC HÌNH VẼ ....................................................................................... vi DANH MỤC CÁC BẢNG .................................................................................. vii MỞ ĐẦU ............................................................................................................... 1 CHƢƠNG I: TỔNG QUAN VỀ MẬT MÃ KHỐI TRONG MẬT MÃ NHẸ ..... 4 1.1. Mật mã nhẹ ................................................................................................. 4 1.1.1. Khái niệm về mật mã nhẹ .................................................................... 4 1.1.2. Quá trình hình th nh v phát triển của mật mã nhẹ ............................ 4 1.1.3. Nguy n lý thiết kế thuật toán mật mã nhẹ .......................................... 5 1.1.4. Một số hệ mật trong mật mã nhẹ ........................................................ 8 1.1.5. Một số đặc trƣng của mật mã nhẹ ..................................................... 13 1.2. Mật mã khối hạng nhẹ .............................................................................. 14 CHƢƠNG II. NHỮNG HỆ MẬT MÃ KHỐI HẠNG NHẸ ĐIỂN HÌNH ......... 21 2.1. Những hệ mật mã khối hạng nhẹ điển hình ............................................. 21 2.1.1. Hệ mật PRESENT ............................................................................. 21 2.1.2. Hệ mật SIMON v SPECK ............................................................... 21 2.1.3. Hệ mật KATAN/KTANTAN ........................................................... 22 2.1.4. Hệ mật LED ...................................................................................... 23 2.1.5. Hệ mật TEA ...................................................................................... 23 2.1.6. Hệ mật KLEIN .................................................................................. 24 2.1.7. Hệ mật HIGHT ................................................................................. 24 2.1.8. Hệ mật SEA ...................................................................................... 25 2.1.9. Hệ mật NEOKEON ........................................................................... 25 2.2. Hệ mật KLEIN ......................................................................................... 25 2.2.1. Ý tƣởng thiết kế ................................................................................ 25 2.2.2. Quá trình mã hóa của KLEIN .......................................................... 26 2.2.3. Tính toán khóa .................................................................................. 32 2.2.4. Điểm yếu của KLEIN ....................................................................... 33
- iv 2.3. Hệ mật KATAN ...................................................................................... 34 2.3.1. Ý tƣởng thiết kế ................................................................................ 34 2.3.2. Quá trình mã hóa KATAN ................................................................ 35 2.3.3. Tính toán khóa .................................................................................. 37 2.3.4. Điểm yếu của KATAN ..................................................................... 38 2.4. Hệ mật SIMON ....................................................................................... 38 2.4.1. Quá trình mã hóa ............................................................................... 38 2.4.2. Tính toán khóa .................................................................................. 40 2.4.3. Điểm yếu của Simon ......................................................................... 41 2.5. Hệ mật Speck .......................................................................................... 42 2.5.1. Quá trình mã hóa ............................................................................... 42 2.5.2. Tính toán khóa .................................................................................. 43 2.5.3. Điểm yếu của Speck .......................................................................... 43 CHƢƠNG III: XÂY DỰNG CHƢƠNG TRÌNH MÃ HÓA VÀ GIẢI MÃ MÃ KHỐI TRONG MẬT MÃ NHẸ ......................................................................... 45 3.1. Mô hình hệ thống ..................................................................................... 45 3.2. Phân tích hệ thống .................................................................................... 46 3.2.1. Mã hóa đầu cuối ................................................................................ 46 3.2.2. Cảm biến nhiệt độ - độ ẩm DHT21 ................................................... 47 3.2.4. Phần mềm Station ............................................................................. 51 3.2.5. Phần mềm Server .............................................................................. 52 3.3. Kết quả thực hiện ..................................................................................... 54 3.3.1. Quy trình hoạt động .......................................................................... 54 3.3.2. Kết quả .............................................................................................. 56 3.4. Kết luận v hƣớng phát triển .................................................................... 59 3.4.1. Kết luận ............................................................................................. 59 3.4.2. Hƣớng phát triển ............................................................................... 60 TÀI LIỆU THAM KHẢO ................................................................................... 61 PHỤ LỤC ............................................................................................................ 64
- v DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT T viết tắt Thuật ngữ tiếng anh Thuật ngữ tiếng việt AES Advanced Encryption Chuẩn mã hóa nâng cao Standard Hệ mật AES DES Data Encryption Chuẩn mã hóa dữ liệu Standard Hệ mật DES GE Gate equivalence Cổng tƣơng đƣơng - một đơn vị đo lƣờng cho phép xác định độ phức tạp độc lập về công nghệ sản xuất của các mạch kỹ thuật số IEC International Ti u chuẩn International Electrotechnical Electrotechnical Commission Commission IoT Internet of thing Internet kết nối vạn vật ISO International Ti u chuẩn hóa Organization for International Standardization Organization for Standardization. LFSR Linear feedback shift Thanh ghi dịch hồi tuyến register tính LSB Least Significant Bit Bit ngo i cùng b n phải l bit có trọng số nhỏ nhất MSB Most Significant Bit Bit ngo i cùng b n trái l bit có trọng số lớn nhất
- vi DANH MỤC HÌNH VẼ Hình 1.1: Sự thỏa hiệp trong thiết kế mật mã nhẹ [1] 5 Hình 1.2: Các hệ mật trong mật mã nhẹ . 8 Hình 1.3: Đồ thị so sánh theo thông số bề mặt của một số mã khối hạng nhẹ [3] ........................................................................................................................ 19 Hình 1.4: Đồ thị so sánh thông số thông lƣợng của một số mã khối hạng nhẹ [3] 19 Hình 1.5: Đồ thị so sánh năng lƣợng sử dụng ở mức cao của một số mã khối hạng nhẹ [3] ......................................................................................................... 20 Hình 1.6: Đồ thị so sánh năng lƣợng sử dụng ở mức thấp của một số mã khối hạng nhẹ [3] ......................................................................................................... 20 Hình 2.1: Quy trình mã hóa của KLEIN [9] ...................................................... 27 Hình 2.2: Phép biến đổi vòng mã hóa của KLEIN [9] ....................................... 28 Hình 2.3: RotateNibbles của KLEIN [9] ............................................................ 31 Hình 2.4: Thuật toán tính toán khóa KLEIN có độ d i khóa 64 bit [9] ............. 34 Hình 2.5: Quá trình mã hóa họ mật mã Katan [16] ............................................ 37 Hình 2.6: Quá trình mã hóa của hệ mật Simon [8] ........................................... 39 Hình 2.7: Mở rộng khóa của simon với m=2, m=3 v m=4 [8] ......................... 41 Hình 2.8: H m tròn của Speck( xx2ii 1, 2 ) biểu thị mật mã con sau các bƣớc mã hóa)[8] ................................................................................................................. 43 Hình 2.9: Khóa của Speck [8] ............................................................................ 43 Hình 3.1: Mô hình hệ thống ............................................................................... 46 Hình 3.2: Cảm biến nhiệt độ - độ ẩm DHT21 .................................................... 47 Hình 3.3: Kết nối cảm biến DHT21 với Arduino .............................................. 48 Hình 3.4: Bo mạch Arduino Uno ....................................................................... 48 Hình 3.5: Thƣ viện giao tiếp với cảm biến......................................................... 51 Hình 3.6: Thƣ viện mã hóa v giải mã thông qua thuật toán Speck .................. 51 Hình 3.7: Giao diện phần mềm Station .............................................................. 52 Hình 3.8: Giao diện phần mềm Server ............................................................... 53 Hình 3.9: Chọn chế độ hoạt động ....................................................................... 54 Hình 3.10: Kết nối Arduino với cảm biến nhiệt độ - độ ẩm DHT21 ................. 54 Hình 3.11: Kết nối với phần mềm Server .......................................................... 55 Hình 3.12: Chọn cổng COM kết nối với Arduino ............................................. 55 Hình 3.13: Phần mềm Station ở chế độ mã hóa ................................................. 56 Hình 3.14: Phần mềm Server ở chế độ Mã hóa ................................................. 56 Hình 3.15: Tạo tín hiệu điều khiển Bật hệ thống l m mát ................................. 57 Hình 3.16: Tín hiệu trả về t Server đƣợc mã hóa ............................................. 57 Hình 3.17: Đèn Led sáng báo bật hệ thống ........................................................ 58 Hình 3.18: Giao diện phần mềm Station ở chế độ không mã hóa ..................... 58 Hình 3.19: Phần mềm Server ở chế độ không mã hóa ....................................... 59 Hình 3.20: Thời gian thực hiện mã hóa v giải mã (ms) ................................... 60
- vii DANH MỤC CÁC BẢNG Bảng 1.1: Hiệu quả phần cứng của một số thuật toán mật mã nhẹ ...................... 7 Bảng 1.2: Đặc điểm, ƣu điểm, nhƣợc điểm v ứng dụng của hệ mật mã nhẹ. ... 12 Bảng 1.3: Một số thông số của một hệ mật mã nhẹ trong hệ thống ................... 13 Bảng 1.4: Một số hệ mật mã khối hạng nhẹ ti u biểu ........................................ 15 Bảng 1.5: Thông tin phần cứng của một số mã khối hạng nhẹ (kiến trúc không kiểm soát) [3]....................................................................................................... 16 Bảng 1.6: Thông tin phần cứng của một số mã khối hạng nhẹ( kiến trúc tròn) [3] ............................................................................................................................. 17 Bảng 1.7: Thông tin phần cứng của một số mã khối hạng nhẹ(kiến trúc nối tiếp)[3] ................................................................................................................. 18 Bảng 2.1: S-box 4 bit sử dụng trong KLEIN [9] ................................................ 27 Bảng 2.2: Sự phân bố vi phân của S-box của KLEIN [9] .................................. 30 Bảng 2.3: Bảng tƣơng quan đầu v o-đầu ra S-box của KLEIN [9] ................... 31 Bảng 2.4: Các tham số cho họ mật mã Katan [16] ............................................. 36 Bảng 2.5: Các tham số của mật mã Simon[8] .................................................... 39 Bảng 2.6: Các tham số của mật mã Speck [8] .................................................... 44
- 1 MỞ ĐẦU Cơ sở khoa học và thực tiễn của đề tài: Sự phát triển của khoa học kỹ thuật đã dẫn đến xuất hiện nhiều thiết bị có năng lực tính toán lớn nhƣ máy tính cá nhân có bộ vi xử lý 64 bit, tốc độ 3-4 GHz, 2 - 8 GB RAM . Nhƣng, nhu cầu sử dụng các thiết bị có kích cỡ nhỏ, khả năng tính toán thấp phục vụ các công việc v giải quyết b i toán chuy n dụng, đơn giản, điển hình nhƣ các thẻ thông minh (smartcard), vi điều khiển (microcontroller) ng y c ng tăng. Trong khi đó, các mã khối truyền thống hiện có khó có thể sử dụng đa năng cho mọi kiểu thiết bị (bộ vi xử lý), do sự phức tạp, sử dụng nhiều t i nguy n, năng lƣợng. Một mã pháp an to n truyền thống cũng khó có thể c i đặt hiệu quả tr n các thiết bị có năng lực v t i nguy n hạn chế (nhƣ các bộ vi điều khiển 4 bit, 8 bit, có kích cỡ RAM nhỏ, tần số thấp). Vì vậy, nhu cầu cần có các hệ mật mã (mã khóa công khai, mã khối, mã dòng, h m băm...) ri ng, áp dụng cho các thiết bị, hệ thống bị hạn chế (thông tin cần phải bảo vệ không quá mật) đã v đang đƣợc đặt ra trong những năm qua. Mật mã nhẹ l mật mã phù hợp với các c i đặt trong những môi trƣờng bị hạn chế. Những hạn chế đó dựa tr n các đánh giá về diện tích chip (chip area), năng lƣợng ti u thụ (energy consumption), kích cỡ mã nguồn chƣơng trình (program code size), kích cỡ RAM, băng thông (communication bandwidth) v thời gian thực thi (execution time). Trong những trƣờng hợp n y, sử dụng các thuật toán mã khối hạng nhẹ l phù hợp v cần đƣợc quan tâm nghi n cứu. Trong những năm gần đây, chúng ta có thể dễ d ng bắt gặp thuật ngữ IoT (Internet of Thing) ở bất cứ nơi n o. “Internet of Things” l thuật ngữ để chỉ những vật đƣợc kết nối internet v có khả năng trao đổi dữ liệu. Đặc điểm chung của những thiết bị IoT l có kích thƣớc nhỏ gọn v có khả năng ti u thụ điện thấp. Phần lớn các thiết bị IoT đang gặp phải l vấn đề bảo mật. Thuật ngữ “Lightweight cryptography” đƣợc đƣa ra thảo luận tại nhiều hội nghị. Thuật ngữ để chỉ những hệ mật nhẹ có khả năng c i đặt tr n các thiết bị giới hạn bởi năng lƣơng ti u thụ v khả năng lƣu trữ. Chính vì vậy mật mã nhẹ rất phù hợp để áp dụng v bảo mật cho các thiết bị IoT. Do đó sự phát triển nhanh v mạnh của “Internet og Things” cũng chính l nhân tố để thúc đẩy sự phát triển của mật mã nhẹ. B n cạnh đó có rất nhiều thiết bị giới hạn về năng lƣợng ti u thụ v khả năng lƣu trữ cần đến sự bảo mật ví dụ nhƣ các thiết bị

