1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

86 16 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 86
Dung lượng 1,6 MB

Nội dung

ĐẠ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 DN 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 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, 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 suốt trình học tập v nghi n cứu Nếu khơng có định hƣớng, lời dạy bảo thầy luận văn tơi khó ho n thiện đƣợc Một lần nữa, xin chân th nh cảm ơn thầy Tôi xin đƣợc gửi lời cảm ơn đến thầy, cô 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 kiến thức, kinh nghiệm quý giá suốt thời gian học tập trƣờng Tôi xin đƣợc gửi lời cảm ơn đến bạn học vi n lớp K22-KTPM, ngƣời đồng h nh 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 v o thực tế, tìm hiểu lĩnh vực chuy n sâu An to n thơng tin, kiến thức tơi cịn hạn chế v cịn nhiều bỡ ngỡ Do vậy, khơng tránh khỏi thiếu sót luận văn Tơi mong nhận đƣợc ý kiến đóng góp quý báu thầy cô v bạn để ho n thiện luận văn Một lần 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 Đ Hu Y n ii LỜICMĐO N Luận văn thạc sĩ đánh dấu th nh quả, kiến thức tiếp thu đƣợc suốt trình rèn luyện, học tập trƣờng Tôi xin cam đoan luận văn “Nghi n cứu hệ mã khối mật mã nhẹ” đƣợc ho n th nh trình học tập v nghi n cứu dƣới hƣớng dẫn TS Hồ Văn Canh Trong to n nội dung nghi n cứu luận văn, vấn đề đƣợc trình b y l tìm hiểu v nghi n cứu cá nhân tơi, trích dẫn nguồn t i liệu đƣợc đƣa phần t i liệu tham khảo Tôi xin cam đoan lời tr n l 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Ẹ 1.1 Mật mã nhẹ .4 1.1.1 Khái niệm mật mã nhẹ 1.1.2 Quá trình hình th nh v phát triển mật mã nhẹ 1.1.3 Nguy n lý thiết kế thuật toán mật mã nhẹ 1.1.4 Một số hệ mật mật mã nhẹ .8 1.1.5 Một số đặc trƣng 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 Q trình mã hóa KLEIN 26 2.2.3 Tính tốn khóa 32 2.2.4 Điểm yếu 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 tốn khóa 37 2.3.4 Điểm yếu KATAN 38 2.4 Hệ mật SIMON .38 2.4.1 Q trình mã hóa .38 2.4.2 Tính tốn khóa 40 2.4.3 Điểm yếu Simon .41 2.5 Hệ mật Speck 42 2.5.1 Q trình mã hóa .42 2.5.2 Tính tốn khóa 43 2.5.3 Điểm yếu 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 thực 54 3.3.1 Quy trình hoạt động 54 3.3.2 Kết 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 AES DES GE IEC IoT ISO LFSR LSB MSB vi DANH MỤC HÌNH VẼ Hình 1.1: Sự thỏa hiệp thiết kế mật mã nhẹ [1]…………………………5 Hình 1.2: Các hệ mật mật mã nhẹ……………………………………… Hình 1.3: Đồ thị so sánh theo thơng số bề 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 số mã khối hạng nhẹ [3]………………………………………………………………………………19 Hình 1.5: Đồ thị so sánh lƣợng sử dụng mức cao số mã khối hạng nhẹ [3] Hình 1.6: Đồ thị so sánh lƣợng sử dụng mức thấp số mã khối hạng nhẹ [3] Hình 2.1: Quy trình mã hóa KLEIN [9] Hình 2.2: Phép biến đổi vịng mã hóa KLEIN [9] Hình 2.3: RotateNibbles KLEIN [9] Hình 2.4: Thuật tốn tính tốn khóa KLEIN có độ d i khóa 64 bit [9] Hình 2.5: Q trình mã hóa họ mật mã Katan [16] Hình 2.6: Q trình mã hóa hệ mật Simon [8] Hình 2.7: Mở rộng khóa simon với m=2, m=3 v m=4 [8] Hình 2.8: H m tròn Speck( x2 i 1, x2i ) biểu thị mật mã sau bƣớc mã hóa)[8] Hình 2.9: Khóa Speck [8] Hình 3.1: Mơ hình hệ thống Hình 3.2: Cảm biến nhiệt độ - độ ẩm DHT21 Hình 3.3: Kết nối cảm biến DHT21 với Arduino Hình 3.4: Bo mạch Arduino Uno Hình 3.5: Thƣ viện giao tiếp với cảm biến Hình 3.6: Thƣ viện mã hóa v giải mã thơng qua thuật tốn Speck Hình 3.7: Giao diện phần mềm Station Hình 3.8: Giao diện phần mềm Server Hình 3.9: Chọn chế độ hoạt động Hình 3.10: Kết nối Arduino với cảm biến nhiệt độ - độ ẩm DHT21 Hình 3.11: Kết nối với phần mềm Server Hình 3.12: Chọn cổng COM kết nối với Arduino Hình 3.13: Phần mềm Station chế độ mã hóa Hình 3.14: Phần mềm Server chế độ Mã hóa Hình 3.15: Tạo tín hiệu điều khiển Bật hệ thống l m mát Hình 3.16: Tín hiệu trả t Server đƣợc mã hóa Hình 3.17: Đèn Led sáng báo bật hệ thống Hình 3.18: Giao diện phần mềm Station chế độ khơng mã hóa Hình 3.19: Phần mềm Server chế độ khơng mã hóa Hình 3.20: Thời gian thực mã hóa v giải mã (ms) vii DANH MỤC CÁC BẢNG Bảng 1.1: Hiệu phần cứng số thuật toán mật mã nhẹ Bảng 1.2: Đặc điểm, ƣu điểm, nhƣợc điểm v ứng dụng hệ mật mã nhẹ 12 Bảng 1.3: Một số thông số hệ mật mã nhẹ 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 số mã khối hạng nhẹ (kiến trúc khơng kiểm sốt) [3] 16 Bảng 1.6: Thông tin phần cứng 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 số mã khối hạng nhẹ(kiến trúc nối tiếp)[3] .18 Bảng 2.1: S-box bit sử dụng KLEIN [9] 27 Bảng 2.2: Sự phân bố vi phân S-box KLEIN [9] 30 Bảng 2.3: Bảng tƣơng quan đầu v o-đầu S-box 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ố mật mã Simon[8] 39 Bảng 2.6: Các tham số mật mã Speck [8] 44 MỞ ĐẦU Cơ sở khoa học thực tiễn đề tài: Sự phát triển khoa học kỹ thuật dẫn đến xuất nhiều thiết bị có lực tính tốn lớn nhƣ máy tính cá nhân có vi xử lý 64 bit, tốc độ 3-4 GHz, - GB RAM… Nhƣng, nhu cầu sử dụng thiết bị có kích cỡ nhỏ, khả tính tốn thấp phục vụ cơng việc v giải b i tốn chuy n dụng, đơn giản, điển hình nhƣ thẻ thơng minh (smartcard), vi điều khiển (microcontroller) ng y c ng tăng Trong đó, mã khối truyền thống có khó sử dụng đa cho kiểu thiết bị (bộ vi xử lý), phức tạp, sử dụng nhiều t i nguy n, lƣợng Một mã pháp an to n truyền thống khó c i đặt hiệu tr n thiết bị có lực v t i nguy n hạn chế (nhƣ vi điều khiển bit, bit, có kích cỡ RAM nhỏ, tần số thấp) Vì vậy, nhu cầu cần 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 thiết bị, hệ thống bị hạn chế (thông tin cần phải bảo vệ không mật) v đƣợc đặt năm qua Mật mã nhẹ l mật mã phù hợp với c i đặt môi trƣờng bị hạn chế Những hạn chế dựa tr n đánh giá diện tích chip (chip area), 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 trƣờng hợp n y, sử dụng 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 năm gần đây, dễ d ng bắt gặp thuật ngữ IoT (Internet of Thing) nơi n o “Internet of Things” l thuật ngữ để vật đƣợc kết nối internet v có khả trao đổi liệu Đặc điểm chung thiết bị IoT l có kích thƣớc nhỏ gọn v có khả ti u thụ điện thấp Phần lớn thiết bị IoT gặp phải l vấn đề bảo mật Thuật ngữ “Lightweight cryptography” đƣợc đƣa thảo luận nhiều hội nghị Thuật ngữ để hệ mật nhẹ có khả c i đặt tr n thiết bị giới hạn lƣơng ti u thụ v khả lƣu trữ Chính mật mã nhẹ phù hợp để áp dụng v bảo mật cho thiết bị IoT Do phát triển nhanh v mạnh “Internet og Things” l nhân tố để thúc đẩy phát triển mật mã nhẹ B n cạnh có nhiều thiết bị giới hạn lƣợng ti u thụ v khả lƣu trữ cần đến bảo mật ví dụ nhƣ thiết bị  Hiển thị liệu nhận đƣợc 53  Giải mã liệu nhận đƣợc t phần mềm Station  Hiển thị liệu giải mã  Điều khiển bật tắt hệ thống l m mát  Mã hóa khơng mã hóa tín hiệu điều khiển bật tắt hệ thống, sau gửi tín hiệu xuống cho phần mềm Station Hình 3.8: Giao diện phần mềm Server Hệ thống sử dụng thuật toán Speck để mã hóa v giải mã liệu trƣớc truyền Đây l thuật tốn mã hóa đối xứng, tr n Arduino v tr n phần mềm Server cần đƣợc lƣu trữ khóa dƣới dạng byte Khóa đƣợc lƣu trữ tr n phần mềm Arduino: byte key[16] = {0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08,0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00}; Khóa đƣợc lƣu trữ tr n phần mềm Server: Privatereadonlybyte[] _key128128 =newbyte[16] { 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00 }; 54 3.3 Kết thực 3.3.1 Qu trình hoạt động Bƣớc : Khởi động phần mềm Server Chọn chế độ hoạt động l Mã hóa Khơng Mã hóa Hình 3.9: Chọn chế độ hoạt động Bƣớc : Khởi động Arduino, chọn chế độ Mã hóa Khơng Mã hóa Hình 3.10: Kết nối Arduino với cảm biến nhiệt độ - độ ẩm DHT21 55 Bƣớc : Khởi động phần mềm Station Nhập địa Server, sau nhấn v o Kết nối với Server Hình 3.11: Kết nối với phần mềm Server Chọn cổng COM kết nối với Arduino, sau nhấn Kết nối Hình 3.12: Chọn cổng COM kết nối với Arduino 56 3.3.2 Kết  Chế độ Mã hóa Hình 3.13: Phần mềm Station chế độ mã hóa Ở chế độ mã hóa chiều, thơng tin t Arduino gửi l n đƣợc mã hóa khung Dữ liệu t Arduino, thông tin điều khiển Tắt đèn t Server đƣợc mã hóa, tất sử dụng chung khóa 16 byte Hình 3.14: Phần mềm Server chế độ Mã hóa 57 Dựa v o liệu giải mã đƣợc, ngƣời vận h nh biết đƣợc tình trạng nhiệt độ nh , sau định bật tắt hệ thống l m mát tƣơng ứng Hệ thống ho n to n tự động bật tắt dựa v o điều kiện nhiệt độ, thay cho thao tác ngƣời vận h nh Hình 3.15: Tạo tín hiệu điều khiển Bật hệ thống l m mát Hình 3.16: Tín hiệu trả t Server đƣợc mã hóa 58 Hình 3.17: Đèn Led sáng báo bật hệ thống Đèn Led giả lập cho hoạt động hệ thống l m mát Khi ngƣời vận h nh gửi tín hiệu bật hệ thống, đèn Led bật sáng tƣơng ứng  Chế độ Khơng mã hóa: Hình 3.18: Giao diện phần mềm Station chế độ không mã hóa Ở chế độ khơng mã hóa, liệu truyền qua phần mềm Station đƣợc hiển thị rõ r ng, liệu điều khiển t Server đƣợc nhìn thấy rõ r ng 59 Hình 3.19: Phần mềm Server chế độ khơng mã hóa 3.4 Kết luận hƣớng phát triển 3.4.1 Kết luận Dựa tr n kết thu đƣợc chƣơng n y, thấy đƣợc kết hệ thống hoạt động chế độ Mã hóa v Khơng mã hóa Với chế độ khơng mã hóa, tất gói tin đƣợc truyền t bo mạch Arduino, phần mềm Server l chuỗi thông tin rõ r ng, kẻ công mạng lấy đƣợc chuỗi thơng tin n y, chúng ho n to n lấy quyền kiểm soát hệ thống giả lập gửi tập thông tin tƣơng ứng với tín hiệu bật tắt hệ thống tới bo mạch Arduino Với chế độ mã hóa, tất gói tin đƣợc mã hóa trƣớc truyền qua mơi trƣờng Internet Vì kẻ cơng có bắt đƣợc gói tin n y, chúng khơng thể n o giả lập đƣợc gói tin mã hóa tƣơng ứng để công hệ thống điều khiển (bởi chúng khơng biết đƣợc thuật tốn mã hóa hệ thống sử dụng, nhƣ khơng nắm đƣợc khóa để mã hóa nhƣ giải mã hệ thống) Qua đó, ta thấy đƣợc hệ thống đảm bảo an to n thông tin, tăng độ tin cậy môi trƣờng Internet Tốc độ thực mã hóa đầu cuối v xác thực tr n thiết bị Arduino tƣơng đối nhanh, đảm bảo tính thời gian thực q trình truyền nhận liệu thiết bị Arduino với clients Hiệu luận văn đƣợc đo đạc v lấy giá trị trung bình sau 20 lần thực nghiệm 60 Hình 3.20: Thời gian thực mã hóa v giải mã (ms) 3.4.2 Hƣớng phát triển Chúng ta sống thời đại cách mạng công nghiệp lần thứ ( Industry 4.0), xu hƣớng hệ thống đƣợc kết nối Internet (Internet of Things) l xu hƣớng chủ đạo tƣơng lai Một vấn đề quan trọng Internet vạn vật cần đƣợc quan tâm l an to n thơng tin Các hệ thống mã hóa, giải mã việc truyền tin máy tính với đƣợc phát triển t lâu, nhi n, việc bảo đảm an to n thông tin cho hệ thống mạch nhúng, mạch điều khiển tham gia trực tiếp v o Internet vạn vật đƣợc trọng thời gian gần Các thuật tốn mã hóa nhẹ phù hợp cho bo mạch điều khiển với t i nguy n (RAM, tốc độ chip, nhớ …) hạn chế, v a đảm bảo an to n thông tin, v a đảm bảo tốc độ đáp ứng (thời gian mã hóa ngắn) Trong khn khổ luận văn n y, tơi ứng dụng thuật tốn mã hóa Speck – thuật tốn mã hóa khối hạng nhẹ cho hệ thống giám sát, điều khiển thiết bị l m mát cho nh thơng minh Tơi xây dựng mơ hình mơ với bo mạch Arduino, máy tính trạm v máy tính Server Tƣơng lai, ho n to n ứng dụng mơ hình n y v o thực tế dự án nh thơng minh độ xác thử nghiệm nhƣ tốc độ đáp ứng bo mạch Arduino Tiếp theo, ứng dụng thuật tốn mã hóa nhẹ khác nhƣ Simon, Klein, Katan … để so sánh tốc độ v độ tin cậy thuật tốn Lấy kết t mơ hình n y, ứng dụng sang nhiều mơ hình khác hƣớng tới cách mạng cơng nghiệp 4.0 nhƣ: Hệ thống cảnh báo cháy, báo khói tòa nh ; hệ thống cảnh báo cháy r ng dựa tr n thông số nhiệt độ, độ ẩm; hệ thống tƣới ti u nông nghiệp … Tất ứng dụng tr n phải đối mặt với vấn đề an to n thông tin giám sát, điều khiển t xa qua môi trƣờng Internet 61 TÀI LIỆU THAM KHẢO [1] Nguyễn Bùi Cƣơng, “Một số kết nghiên cứu mật mã khối hạng nhẹ” Tạp chí nghi n cứu Khoa học v Công nghệ lĩnh vực An to n thông tin, 1/2005 [2] Wenling Wu, Shuang Wu, Lei Zhang, Jian Zou, and Le Dong“LHash: A Lightweight Hash Function (Full Version)” [3] Naofumi Homma and WG members“CRYPTREC Cryptographic Technology Guideline (Lightweight Cryptography)”, 2017 [4] International standard ISO IEC 29192, “Information Technology Security Techniques - Lightweight cryptography” [5] Alex Biryukov and Léo Perrin - “State of the Art in Lightweight Symmetric Cryptography”, 2016 [6] A Bogdanov, L.R Knudsen, G Leander, C Paar, A Poschmann, M.J.B Robshaw, Y Seurin and C Vikkelsoe “PRESENT: An Ultra-Lightweight Block Cipher” [7] Jian Guo, Thomas Peyrin, Axel Poschmann, and Matt Robshaw“The LED Block Cipher”Institute for Infocomm Research, Singapore, 2011 [8] Michael Appel , Andreas Bossert, Steven Cooper, Tobias Kuòmaul, Johannes Lăoffler, Christof Pauer, and Alexander Wiesmaier, Block ciphers for the IoT – SIMON, SPECK, KATAN, LED, TEA, PRESENT, and SEA compared” [9] Zheng Gong , Svetla Nikova and Yee Wei Law, “ KLEIN: A New Family of Lightweight Block Ciphers” Workshop on RFID Security and Privacy (RFIDSec) 2012, LNCS, vol 7055, pp 1–18 Springer, 2012 [10] Deukjo Hong, Jaechul Sung, Seokhie Hong, Jongin Lim, Sangjin Lee, Bonseok Koo, Changhoon Lee, Donghoon Chang, Jaesang Lee, Kitae Jeong, Hyun Kim, Jongsung Kim, and Seongtaek Chee HIGHT: A New Block Cipher Suitable for Low-Resource Device In Louis Goubin and Mitsuru Matsui, editors, CHES, volume 4249 of Lecture Notes in Computer Science, pages 46– 59 Springer, 2006 62 [11] Joan Daemen, Michaăel Peeters, Gilles Van Assche, Vincent Rijmen (2000) Nessie Proposal, Noekeon, First Open Nessie Workshop [12] J Daemen and V Rijmen The Design of Rijndael: AES - The Advanced Encryption Standard Springer-Verlag, 2002 [13] F Abed, C Forler, E List, S Lucks, and J Wenzel “Biclique Cryptanalysis Of PRESENT, LED, And KLEIN” Cryptology ePrint Archive, Report 2012/591, 2012 [14] V Lallemand and M Naya-Plasencia “Cryptanalysis of KLEIN” International Workshop on Fast Software Encryption (FSE) 2014, LNCS, vol 8540, pp 451–470 Springer, 2015 [15] L R Knudsen “Truncated and Higher Order Differentials” International Workshop on Fast Software Encryption (FSE) 1994, LNCS, vol 1008, pp 196–211 Springer, 1994 [16] Christophe De Cannière, Orr Dunkelman and Miroslav Knezevic, “KATAN & KTANTAN — A Family of Small and Efficient Hardware-Oriented Block Ciphers”, [17] Martin R Albrecht and Gregor Leander An all-in-one approach to differential cryptanalysis for small block ciphers In Selected Areas in Cryptography, pages 1–15 Springer-Verlag, 2013 [18] Willi Meier Simon Knellwolf and Mar´a Naya-Plasencia Conditional differential cryptanalysis of trivium and katan In Selected Areas in Cryptography, pages 200– 212 Springer-Verlag, 2012 [19] Thomas Fuhr and Brice Minaud Match box meet in the middle attack against katan In Fast Software Encryption, pages 61–81 Springer-Verlag, 2015 [20] Gregory V Bard Nicolas Courtois Jorge Nakahara Jr Pouyan Sepehrdad and Bingsheng Zhang Algebraic, aida/cube and side channel analysis of katan family of block ciphers In Progress in Cryptology - INDOCRYPT, pages 176–196 SpringerVerlag, 2010 [21] Frank-Michael Quedenfeld Modellbildung in der algebraischen kryptoanalyse 2015 63 [22] Ray Beaulieu, Douglas Shors, Jason Smith, Stefan TreatmanClark, Bryan Weeks and Louis Wingers, “The Simon and Speck Families of Lightweight Block Ciphers”, 2013 [23] Hoda A Alkhzaimi, Martin M Lauridsen Cryptanalysis of the SIMON Family of Block Ciphers IACR Cryptology ePrint Archive 2013, 543, 2013 [24] Farzaneh Abed, Eik List, Stefan Lucks, Jakob Wenzel Differential Cryptanalysis of Reduced-Round Simon and SPECK FSE 2014, LNCS 8540, pp 525-545 Springer Berlin Heidelberg, 2015 [25] Farzaneh Abed, Eik List, Stefan Lucks, Jakob Wenzel Differential and Linear Cryptanalysis of Reduced-Round Simon IACR Cryptology ePrint Archive, 2013/526, 2013 [26] Javad Alizadeh, Hoda A Alkhzaimi, Mohammad Reza Aref, Nasour Begheri, Paraveen Gauravaram, Abhishek Kumar, Martin M Lauridsen, Somitra Kumar Sanadhya Cryptanalysis of SIMON Variants with Connections In RFIDsec‟14, LNCS, 8651, pp.1-20 Springer-Heidelberg, 2014 [27] I Dinu Improved differential cryptanalysis of round-reduced speck In Selected Areas in Cryptography, pages 147{164 Springer-Verlag, 2014 64 PHỤ LỤC Một số code thực chƣơng trình: Các hàm phục vụ giao tiếp Arduino cảm biến class DHT { public: DHT(uint8_t pin, uint8_t type, uint8_t count=6); void begin(uint8_t usec=55); float readTemperature(bool S=false, bool force=false); float convertCtoF(float); float convertFtoC(float); float computeHeatIndex(bool isFahrenheit=true); float computeHeatIndex(float temperature, float percentHumidity, bool isFahrenheit=true); float readHumidity(bool force=false); bool read(bool force=false); private: uint8_t data[5]; uint8_t _pin, _type; #ifdef AVR / Use direct GPIO access on an 8-bit AVR so keep track of the port and bitmask / for the digital pin connected to the DHT Other platforms will use digitalRead uint8_t _bit, _port; #endif uint32_t _lastreadtime, _maxcycles; bool _lastresult; uint8_t pullTime; // Time (in usec) to pull up data line before reading uint32_t expectPulse(bool level); }; Thuật tốn mã hóa: Mã hóa khối chung: class BlockCipher { public: 65 BlockCipher(); virtual ~BlockCipher(); virtual size_t blockSize() const = 0; virtual size_t keySize() const = 0; virtual bool setKey(const uint8_t *key, size_t len) = 0; virtual void encryptBlock(uint8_t *output, const uint8_t *input) = 0; virtual void decryptBlock(uint8_t *output, const uint8_t *input) = 0; virtual void clear() = 0; }; Các h m mã hóa, giải mã Speck: #ifndef CRYPTO_SPECK_H #define CRYPTO_SPECK_H #include "BlockCipher.h" class Speck : public BlockCipher { public: Speck(); virtual ~Speck(); size_t blockSize() const; size_t keySize() const; bool setKey(const uint8_t *key, size_t len); void encryptBlock(uint8_t *output, const uint8_t *input); void decryptBlock(uint8_t *output, const uint8_t *input); void clear(); private: uint64_t k[34]; uint8_t rounds; }; #endif Thuật tốn mã hóa giải mã với thư viện Speck Server Các h m khởi tạo: 66 Các hãm mã hóa, giải mã: Các hàm thư viện SimpleTCP Các h m khởi tạo Server Các h m khởi tạo Client ( phần mềm Station) Các h m truyền nhận liệu Station v Server ... mật mã nhẹ, giới thiệu số hệ mật mật mã nhẹ, số đặc trƣng mật mã nhẹ v giới thiệu 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 luận văn, trình b y sơ lƣợc số mã khối. .. minh áp dụng thuật tốn mã khối hạng nhẹ Nội dung đề tài vấn đề cần giải quyết: Hướng nghiên cứu - Nghi n cứu cách tổng quan mật mã khối mật mã nhẹ - Nghi n cứu hệ mật mã khối hạng nhẹ điển hình... 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 mật mã nhẹ v mật mã khối hạng nhẹ, số khái niệm quan trọng, trình hình th nh v phát triển mật mã nhẹ, nguy

Ngày đăng: 11/11/2020, 22:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w