Tài liệu Nghiên cứu về các hệ mã khối trong mật mã nhẹ

  • Số trang: 75 |
  • Loại file: PDF |
  • Lượt xem: 168 |
  • Lượt tải: 0

Mô tả:

ĐẠ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 Học vi n thực hiện Đ Hu Y n năm 2019 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 Đ Hu Y n năm 2019 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 Standard Chuẩn mã hóa nâng cao Hệ mật AES DES Data Encryption Standard Chuẩn mã hóa dữ liệu 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 Electrotechnical Commission Ti u chuẩn International Electrotechnical Commission IoT Internet of thing Internet kết nối vạn vật ISO International Organization for Standardization Ti u chuẩn hóa International Organization for Standardization. LFSR Linear feedback shift register Thanh ghi dịch hồi tuyến 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( x2 i 1, x2 i ) 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ị 2 trong lĩnh vực quân sự, y tế, ngân h ng…n n tiềm năng của mật mã nhẹ l rất lớn. Trong luận văn n y tác giả trình b y những nghi n cứu về mật mã nhẹ v đi sâu v o một nhánh con l mật mã khối hạng nhẹ, Luận văn trình b y những tìm hiểu của bản thân về các hệ mã khối hạng nhẹ trong đó đi sâu một số hệ mật cụ thể v xây dựng ứng dụng demo giám sát điều khiển thiết bị l m mát nh thông minh áp dụng thuật toán mã khối hạng nhẹ. Nội dung đề tài và những vấn đề cần giải quyết: Hướng nghiên cứu - Nghi n cứu một cách tổng quan nhất về mật mã khối trong mật mã nhẹ - Nghi n cứu những hệ mật mã khối hạng nhẹ điển hình - Xây dựng chƣơng trình mã hóa, giải mã mã khối trong mật mã nhẹ (xây dựng ứng dụng demo giám sát, điều khiển thiết bị l m mát nh thông minh áp dụng thuật toán mã khối hạng nhẹ) Nội dung nghiên cứu: Ngo i phần mở đầu v kết luận, nội dung của luận văn đƣợc trình b y trong 3 chƣơng: CHƢƠNG I: TỔNG QUAN VỀ MẬT MÃ KHỐI TRONG MẬT MÃ NHẸ Trong chƣơng n y tác giả giới thiệu tổng quan về mật mã nhẹ v mật mã khối hạng nhẹ, một số khái niệm quan trọng, quá trình hình th nh v phát triển của mật mã nhẹ, nguy n lý thiết kế thuật toán của mật mã nhẹ, giới thiệu về một số hệ mật trong mật mã nhẹ, một số đặc trƣng của mật mã nhẹ v giới thiệu về mật mã khối. CHƢƠNG II: NHỮNG HỆ MẬT MÃ KHỐI HẠNG NHẸ ĐIỂN HÌNH Chƣơng n y của luận văn, trình b y sơ lƣợc một số mã khối hạng nhẹ điển hình hiện nay, phần tiếp theo của chƣơng n y tác giả trình b y những hiểu biết sâu hơn của mình về một số hệ mật điển hình nhƣ hệ mật Klein, hệ mật Katan, Simon v Speck. 3 CHƢƠNG III: XÂY DỰNG CHƢƠNG TRÌNH MÃ HÓ MÃ MÃ KHỐI TRONG MẬT MÃ NHẸ VÀ GIẢI Chƣơng n y xây dựng demo hệ thống giám sát, điều khiển hệ thống l m mát cho nh thông minh t xa thông qua Internet có tích hợp thuật toán mã hóa v giải mã mã khối trong mật mã nhẹ nhằm đảm bảo an to n thông tin, nâng cao độ tin cậy của hệ thống. Kết quả đạt đƣợc Sau thời gian tìm hiểu nghi n cứu, luân văn đã đạt đƣợc một số kết quả ban đầu. Về lý thuyết nghi n cứu tổng quan nhất về mật mã nhẹ v mã khối hạng nhẹ. Sau đó tập chung nghi n cứu những hệ mật mã khối hạng nhẹ điển hình. Về thực nghiệm tôi xây dựng demo hệ thống giám sát, điều khiển hệ thống l m mát cho nh thông minh t xa thông qua Internet có tích hợp thuật toán mã hóa v giải mã mã khối trong mật mã nhẹ nhằm đảm bảo an to n thông tin, nâng cao độ tin cậy của hệ thống. 4 CHƢƠNG I: TỔNG QUAN VỀ MẬT MÃ KHỐI TRONG MẬT MÃ NHẸ 1.1. Mật mã nhẹ 1.1.1. Khái niệm về mật mã nhẹ Không có ranh giới rõ r ng n o để phân biệt sự nhẹ của các hệ mật với các hệ mật thông thƣờng [2]. Cũng nhƣ hiện nay chƣa có khái niệm chính xác hay định lƣợng cụ thể n o về mật mã nhẹ. Vì vậy có rất nhiều phi n bản để định nghĩa mật mã nhẹ [3]. Mật mã nhẹ l một ng nh nghi n cứu con của mật mã hƣớng tới việc tối ƣu sự tinh gọn của hệ mật để có thể c i đặt v chạy hiệu quả tr n các thiết bị vô cùng nhỏ bé v giới hạn bởi năng lƣơng ti u thụ v khả năng lƣu trữ. Ví dụ nhƣ các thẻ t , thẻ chip gắn tr n các sản phẩm hay có thể gắn v o bất kỳ vật n o m chúng ta muốn theo dõi. Còn theo ti u chuẩn ISO/IEC 291921thì mật mã nhẹ l mật mã đƣợc dùng cho mục đích bảo mật, xác thực, nhận dạng v trao đổi khóa, phù hợp c i đặt cho môi trƣờng t i nguy n hạn chế [4].Theo ti u chuẩn ISO IEC 29192, tính chất nhẹ đƣợc mô tả dựa tr n nền tảng c i đặt.Trong triển khai phần cứng, diện tích chip v năng lƣơng ti u thụ l những ti u chí quan trọng để đánh giá tính nhẹ của hệ mật.Trong triển khai phần mềm thì kích thƣớc mã nguồn, kích thƣớc RAM l ti u chí cho một hệ mật đƣợc coi l nhẹ. 1.1.2. Quá trình hình thành và phát triển của mật mã nhẹ Mật mã nhẹ đƣợc nhiều nh nghi n cứu tìm hiểu t rất lâu, cách đây 19 năm đã ra đời v áp dụng chính thức của những mật mã nhẹ đầu ti n: Neokeon (2000), Grain, trivium v mCrypton (2005), Sea (2006), Present, desl, desxl (2007), Katan (2009), Klein (2011), Led (2011), LBlock (2011), Simon (2013), Speck (2013) v Sprout (2015), … ng y c ng có nhiều thuật toán mật mã nhẹ đƣợc ra đời v nhiều ứng dụng hữu ích [5]. B n cạnh đó mạng lƣới vạn vật kết nối cũng chứa đựng nhiều điểm yếu cơ hội cho những kẻ tấn công thực hiện những mục đích, h nh động xấu. Nhất l ứng dụng trong quân đội, công an, ngân h ng hay tự động hóa y u cầu độ bảo mật v an to n cao. Ngo i những tấn công tr n đƣờng truyền vật lý, mạng lƣới tính toán vạn vật kết nối còn bị đe dọa bởi những cuộc tấn công chiếm quyền kiểm soát, tấn công lấy dữ liệu tr n đƣờng truyền… 5 1.1.3. Ngu n lý thiết kế thuật toán mật mã nhẹ Nguy n lý thiết kế các thuật toán mật mã nhẹ l một b i toán chƣa có lời giải chính xác cho các thiết bị có t i nguy n hạn chế. Mật mã nhẹ hƣớng tới việc tạo ra các giải pháp c i đặt rất gọn nhẹ nhƣng không l m giảm quá nhiều về tính an to n. Thực tế, vấn đề chính trong thiết kế thuật toán của mật mã nhẹ l “thỏa hiệp” một cách tối ƣu giữa ba ti u chí: độ an to n, hiệu suất v chi phí c i đặt. (Hình 1.1). Hình 1.1: Sự thỏa hiệp trong thiết kế mật mã nhẹ [1] Về độ an toàn, khi thiết kế bất kỳ một hệ mật n o điều kiện đầu ti n cần đƣợc quan tâm đến l độ an to n của hệ mật. Độ an to n có thể coi l yếu tố sống còn của một hệ mật. Với mật mã nhẹ, mục ti u xây dựng l thiết kế một hệ mật không quá yếu v không với mục đích thay thế các thuật toán mã truyền thống khác, nhƣng phải đủ an to n (tất nhi n không thể kháng lại đƣợc các đối phƣơng có đủ mọi điều kiện), chi phí (c i đặt, sản xuất) thấp v một y u cầu quan trọng đối với các thiết bị kiểu n y l tính gọn nhẹ. Tóm lại, cần xây dựng một hệ mật không phải tốt nhất, m phải cân bằng giữa giá th nh, hiệu suất v độ an to n. Tuy nhi n rất khó có thể tối ƣu hóa cả 3 khía cạnh tr n. Về hiệu quả trong cài đặt, thƣờng đƣợc đánh giá qua các độ đo t i nguy n đƣợc sử dụng bởi thuật toán nhƣ: diện tích bề mặt(Area), Số chu kỳ xung nhịp(cycles), thời gian thực thi, thông lƣợng, nguồn cung cấp, năng lƣợng, dòng điện. Tính hiệu quả của phần cứng chính l tỷ lệ thông lƣợng với diện tích sử dụng của hệ mật mã đó (Bảng 1.1). 6  Diện tích bề mặt (Area):Có thể tính bằng micro m2 nhƣng giá trị n y phụ thuộc v o công nghệ chế tạo v thƣ viện chuẩn. Diện tích tính theo GE đƣợc tính bằng cách chia diện tích theo micro m2 cho S cổng NAND 2 đầu v o.  Số chu kỳ xung nhịp (cycles): l số chu kỳ xung nhịp cần để tính toán v đọc dữ liệu ra.  Thời gian: Lƣợng thời gian cần thiết cho một phép tính cụ thể có thể đƣợc tính bằng cách chia số chu kỳ xung nhịp cho tần số hoạt động: t = (số chu kỳ xung nhịp)/tần số. Đơn vị tính theo mi-ni giây (ms).  Thông lƣợng (throughtout): L số các bit đầu ra chia cho 1 lƣợng thời gian n o đó. Đơn vị [bps]  Nguồn (power): Ti u thụ nguồn có thể đƣợc ƣớc lƣợng ở mức cổng thông qua bộ bi n dịch c i đặt. Đơn vị thƣờng Micro walt. Chú ý việc ƣớc lƣợng ti u thụ ở mức transitor l chính xác hơn, nhƣng điều n y sẽ y u cầu nhiều bƣớc hơn khi thiết kế.  Năng lƣợng (energy): Ti u thụ năng lƣợng đƣợc định nghĩa l ti u thụ nguồn qua 1 khoảng thời gian cụ thể. Nó thƣờng đƣợc tính toán bằng cách nhân ti u thụ nguồn với thời gian cần cho phép tính đó, đơn vị Joule tr n bit.  Dòng điện( current): L ti u thụ nguồn chia cho điện áp thông thƣờng.  Tính hiệu quả c i đặt: eff = (diện tích) thông lƣợng 7 Chu Số bít Số bít xung khóa Khối tr n khối Mã kỳ Thông Xử lý Diện lƣợng ở nhịp logic tích một 100MHZ (Gec) (Kpbs) Mã khối Present 80 64 32 200 0.18µm 1.570 Hight 128 64 34 188 0.25 µm 3.048 64 13 492 0.13 µm 2.681 mCrypton 96 Mã dòng Grain 80 1 1 100 0.13 µm 2.599 Trivium 80 1 1 100 0.13 µm 1.294 Bảng 1.1: Hiệu quả phần cứng của một số thuật toán mật mã nhẹ Giá thành của thuật toán: Thƣờng thì các hệ mật mã nhẹ đƣợc áp dụng tr n một số lƣợng lớn các thiết bị nhƣ hệ thống IoT. Chính vì vậy giá th nh của thuật toán đóng vai trò quan trọng trong việc triển khai. Một hệ mật tốt cần phải cân bằng giữa giá th nh, hiệu suất v độ an to n. Tuy nhi n việc cân bằng đƣợc cả ba yếu tố n y l một b i toán khó. Vì vậy tùy v o t ng điều kiện, y u cầu cụ thể, ngƣời thiết kế thuật toán có thể cân đối n n ƣu ti n khía cạnh n o hơn. Ví dụ khi c i đặt phần cứng có hiệu suất cao thì cần các y u cầu cao về điện tích, giá th nh cao; Khi thiết kế hệ mã ƣu ti n độ an to n tr n thiết bị có phần cứng thấp thì hiệu suất sẽ rất thấp. 8 1.1.4. Một số hệ mật trong mật mã nhẹ Có rất nhiều mật mã nhẹ [3] đƣợc đề xuất trong thời gian gần đây, thay vì thiết kế ra một mật mã ho n to n mới thì hầu hết các mật mã nhẹ đƣợc lấy ra t các mật mã truyền thống nhƣng với một v i thay đổi nhỏ. Mật mã nhẹ gồm có:  Hệ mã khối hạng nhẹ: KLEIN, LED, PRESENT, MINI-AES, KATAN, KTANTAN, DESL, XTEA, LBLOCK, SIMON, SPECK, SEA, MCRYPTON, NEOKEON, HIGHT  Hệ mã dòng hạng nhẹ: GRAIN, TRIVIUM  Hệ mã xác thực hạng nhẹ: SQUASH  Hệ h m băm hạng nhẹ: MADE, DM-PRESENT, H-PRESENT, KECCAK, QUARK, ARMADILLO Hình 1.2: Các hệ mật trong mật mã nhẹ Bảng dƣới đây mô tả một số thông số đặc điểm cũng nhƣ ƣu điểm, nhƣợc điểm v ứng dụng của một hệ mật mã nhẹ: 9 Mật mã nhẹ Hệ mật mã Ngƣời thiết kế Key(bits) Block/ IV(bits) Đặc điểm Ứng dụng - 32 vòng lặp HIGHT KATAN/ Mã khối KTANTAN Hong Chrstophe de Canniere, Orr Dunkelman v Miroslav Knezevic SPECK 80 64 32/48/ 64 - kiến trúc rất đơn giản. Bản rõ đƣợc lƣu bởi 2 thanh ghi. Sử dụng cho định Trong mỗi vòng, một số bit hƣớng phần cứng đƣợc lấy ra v đƣa v o h m với t i nguy n phi tuyến boolean, v LFRS 8 hạn chế bit để mã hóa - 16 vòng lặp DESL, DESX v DESXL SIMON/ 128 Triển khai tr n - Sử dụng phép toán đơn giản: các thiết bị hạn 8 XOR, mod 2 v dịch bits chế nhƣ RFID hay các thiết bị - có thể thực hiện với 3048 phổ biến khắp nơi cổng, công nghệ 0.25 µm 56/184 National Security Agency 64 - Des sử dụng lặp lại một Sbox (6*4 bits) 8 lần 64/72/ 32/48/6 SIMON:XOR, AND v phép 4/96 toán dịch chuyển bit trái 96/128/1 /128 44/192/2 SPECK:XOR, cộng mô đun 22 Tr n cả nền tảng phần mềm v phần cứng với t i 10 v phép toán dịch chuyển vòng trái v phải 56 - Gồm 12/16/20 vòng mã hóa KLEIN Gong, Nikova v Law 64/80/ 96 F.-X. Standaert, G. Piret SEA N. Gershenfeld 8 64 48/96/ 144 J.-J. Quisquater - Mỗi vòng gồm có 4 lớp: AddRoundKey, SubNibbles, RotateNibbles v MixNibbles - Thiết kế của SEA dựa tr n một số phép toán cơ bản : XOR, thay thế, dịch trái, đảo bit, cộng mod 2b - cấu trúc SPN với 31 vòng PRESENT Orange Labs, Ruhr University Bochum and the Technical University of Denmark - mỗi vòng thực hiện phép cộng XOR để đƣa v o khóa vòng 80/128 64 -Tầng phi tuyến sử dụng một s-box 4 bits duy nhất đƣợc áp dụng 16 lần song song trong 1 vòng Cuối cùng l một phép cộng nguy n hạn chế KLEIN thích hợp cho các thiết bị giới hạn t i nguy n nhƣ thẻ RFID v cảm biến không dây Phần mềm trong bộ điều kiển, thẻ thông minh hoặc bộ vi xử lý 11 khóa K32 Lblock XTEA Wenling Wu v Lei Zhang David Wheeler v Roger Needham - Sử dụng một cấu trúc Feistel 80 64 Biến thể với 32 vòng lặp sử dụng 8 S-box 4 bits 128 64 - Sử dụng 64 vòng lặp Áp dụng cho các nền tảng phần mềm nhƣ vi điều khiển 8 bits - Mã dòng đồng bộ Grain Martin Hell, Thomas Johansson v Willi Meier 64/80/ 128 64/96 - Có thể triển khai song song Ứng dụng sử dụng Wlan, RFID/WSN - Ƣu việt cho phần cứng nhẹ Mã dòng H m băm - Dựa tr n LFSR v NFSR TRIVIUM Christophe De Canniere v Bart Preneel MAME Hirotaka Yoshida, Dai watanabe, Katsuyuki Okeya, Jun katahara, Hongjun Wu, Ozgul 80 96 80 - Sử dụng 3 thanh ghi LFSR với thanh ghi đầu ti n sử dụng các s-box để tạo ra các bits của keystream, sau đó ADD với hai LFSR còn lại 256 - Các thao tác logic đơn giản v s-box đã đem lại hiệu quả phần cứng cho MAME Ứng dụng y u cầu phần cứng hạn chế
- Xem thêm -