Luận án tiến sĩ kỹ thuật mật mã phương pháp chống tấn công phân tích năng lượng cho thuật toán aes trên thẻ thông minh dựa trên kỹ thuật mặt nạ nhúng

142 0 0
Luận án tiến sĩ kỹ thuật mật mã  phương pháp chống tấn công phân tích năng lượng cho thuật toán aes trên thẻ thông minh dựa trên kỹ thuật mặt nạ nhúng

Đ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

LỜI CAM ĐOAN Tơi xin cam đoan cơng trình nghiên cứu riêng Các kết nghiên cứu kết luận luận án trung thực, không chép từ nguồn hình thức Các nội dung tham khảo trích dẫn ghi nguồn quy định Tôi xin cam đoan giúp đỡ để thực luận án thành công cảm ơn, thơng tin trích dẫn luận án rõ ràng, đầy đủ nguồn gốc./ Nghiên cứu sinh Nguyễn Thanh Tùng i LỜI CẢM ƠN Sau năm nghiên cứu, thực hiện, luận án: “Phương pháp chống cơng phân tích lượng cho thuật tốn AES thẻ thông minh dựa kỹ thuật mặt nạ nhúng” hồn thành Nghiên cứu sinh xin bày tỏ lịng biết ơn chân thành sâu sắc hướng dẫn, giúp đỡ tận tình cán hướng dẫn: PGS.TS Nguyễn Hồng Quang TS Đặng Vũ Hoàng Nghiên cứu sinh xin trân trọng cảm ơn Ban Giám đốc Học viện Kỹ thuật mật mã, Lãnh đạo Khoa Mật mã, Phòng Sau đại học, Trung tâm Thực hành Kỹ thuật mật mã tạo điều kiện thuận lợi cho Nghiên cứu sinh thực hồn thành chương trình nghiên cứu Nghiên cứu sinh xin chân thành cảm ơn Nhà khoa học Học viện Kỹ thuật mật mã hướng dẫn, giúp đỡ hoàn thành luận án, xin cảm ơn đồng chí, đồng đội, bạn bè, gia đình, người thân ln động viên, giúp đỡ, tạo điều kiện cho suốt trình thực luận án này./ Nghiên cứu sinh Nguyễn Thanh Tùng ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC HÌNH ẢNH vii DANH MỤC BẢNG BIỂU ix DANH MỤC CÁC TỪ VIẾT TẮT x DANH MỤC CÁC KÝ HIỆU TOÁN HỌC xi GIỚI THIỆU CHƯƠNG 1: ĐÁNH GIÁ VỀ TẤN CƠNG VÀ CHỐNG TẤN CƠNG PHÂN TÍCH NĂNG LƯỢNG CHO THUẬT TỐN AES TRÊN THẺ THƠNG MINH 10 1.1 Tổng quan công chống công phân tích lượng cho thuật tốn AES thẻ thông minh 10 1.1.1 Mật mã thiết bị mật mã 11 1.1.2 Tấn cơng phân tích lượng lên thiết bị mật mã 13 1.1.3 Tấn công chống công phân tích lượng cho thuật tốn AES thẻ thơng minh 16 1.1.4 Tình hình nghiên cứu cơng chống cơng phân tích lượng cho thuật tốn AES thẻ thông minh 23 1.2 Đánh giá phương pháp chống cơng phân tích lượng dựa mặt nạ cho thuật tốn AES thẻ thơng minh 26 1.2.1 Đánh giá phương pháp chống cơng phân tích lượng dựa mặt nạ cố định… 26 iii 1.2.2 Đánh giá phương pháp chống cơng phân tích lượng dựa mặt nạ đầy đủ…… 28 1.2.3 Đánh giá phương pháp chống cơng phân tích lượng dựa mặt nạ nhân…… 31 1.2.4 Đánh giá phương pháp chống công phân tích lượng dựa mặt nạ biến đổi số học 36 1.3 Ý tưởng mặt nạ nhúng 38 1.4 Kết luận chương 39 CHƯƠNG ĐỀ XUẤT PHƯƠNG PHÁP CHỐNG TẤN CƠNG PHÂN TÍCH NĂNG LƯỢNG CHO THUẬT TỐN AES TRÊN THẺ THƠNG MINH DỰA TRÊN KỸ THUẬT MẶT NẠ NHÚNG 42 2.1 Phương pháp chống cơng phân tích lượng dựa mặt nạ 42 2.1.1 Mô tả phương pháp mặt nạ cho thuật toán AES 42 2.1.2 Sự an toàn mặt nạ 46 2.2 Phát triển sở toán học cho kỹ thuật mặt nạ nhúng 49 2.2.1 Phương pháp tính toán trường mở rộng 49 2.2.2 Xây dựng sở toán học cho kỹ thuật mặt nạ nhúng chống công phân tích lượng lên thuật tốn AES thẻ thông minh 53 2.3 Đề xuất phương pháp chống công phân tích lượng cho thuật tốn AES thẻ thơng minh dựa kỹ thuật mặt nạ nhúng 57 2.3.1 Kỹ thuật mặt nạ nhúng 57 2.3.2 Đề xuất phương pháp chống công phân tích lượng cho thuật tốn AES thẻ thông minh dựa mặt nạ nhúng 61 2.3.3 Phương pháp FuFA 62 2.3.4 Đề xuất thuật toán AES -EM 65 iv 2.4 Đánh giá an toàn hiệu kỹ thuật FREM thuật toán AES-EM 69 2.4.1 Vấn đề an toàn 69 2.4.2 Vấn đề hiệu 74 2.5 So sánh mặt nạ nhúng với phương pháp mặt nạ 76 2.5.1 So sánh với phương pháp mặt nạ cố định, mặt nạ đầy đủ 76 2.5.2 So sánh với mặt nạ nhân 77 2.5.3 So sánh với mặt nạ biến đổi số học 78 2.6 Kết luận chương 80 CHƯƠNG TRIỂN KHAI ỨNG DỤNG VÀ ĐÁNH GIÁ HIỆU QUẢ PHƯƠNG PHÁP CHỐNG TẤN CÔNG PHÂN TÍCH NĂNG LƯỢNG DỰA TRÊN KỸ THUẬT MẶT NẠ NHÚNG CHO THUẬT TỐN AES TRÊN MƠI TRƯỜNG THẺ THƠNG MINH 82 3.1 Triển khai hệ thống thực nghiệm 82 3.1.1 Mô hình hệ thống 82 3.1.2 Hoạt động hệ thống 83 3.1.3 Các thiết bị mơ hình hệ thống 84 3.2 Cài đặt, thực thi chương trình thực nghiệm 89 3.2.1 Thuật toán AES-128 89 3.2.2 Thuật toán AES-EM 90 3.3 Thực công 90 3.3.1 Tấn công lên thuật toán AES - 128 91 3.3.2 Tấn công lên thuật toán AES-EM 107 3.4 Phân tích kết 109 3.4.1 Vấn đề an toàn 109 v 3.4.2 Hiệu 110 3.5 Kết luận chương 111 KẾT LUẬN VÀ ĐỀ XUẤT 112 KẾT LUẬN 112 HƯỚNG NGHIÊN CỨU TIẾP THEO 115 DANH MỤC CƠNG TRÌNH CƠNG BỐ 116 TÀI LIỆU THAM KHẢO 118 PHỤ LỤC 123 PHỤ LỤC 1: THUẬT TOÁN FuM 123 PHỤ LỤC 2: THUẬT TOÁN MM 126 PHỤ LỤC 3: PHƯƠNG PHÁP TÍNH TỐN MẶT NẠ AtM 127 PHỤ LỤC 4: THUẬT TOÁN AtM 129 vi DANH MỤC CÁC HÌNH ẢNH Hình 1.1 Lược đồ mã hoá thuật toán AES-128 17 Hình 1.2 Sơ đồ mặt nạ đầy đủ cho thuật tốn AES-128 29 Hình 1.3 Biến đổi SubBytes AES 31 Hình 1.4 Biến đổi SubBytes AES thực mặt nạ nhân 32 Hình 1.5 Sơ đồ MM thích nghi 33 Hình 1.6 Sơ đồ MM cải tiến 34 Hình 2.1 Sơ đồ thuật tốn AES bình thường (a) thực thi mặt nạ (b) 45 Hình 2.2 Lược đồ kỹ thuật mặt nạ nhúng 𝐹𝑅𝐸𝑀 58 Hình 2.3 Sơ đồ phương pháp FuFA cho thuật toán AES – 128 63 Hình 2.4 So sánh AES bình thường (a) AES-EM (b) 68 Hình 3.1 Sơ đồ khối cài đặt đo cho cơng phân tích lượng 83 Hình 3.2 Các điểm tiếp xúc thẻ thơng minh 84 Hình 3.3 Module Sakura – G (top view) 86 Hình 3.4 Sơ đồ chức Sakura-G 87 Hình 3.5 Thiết lập vị trí đo lượng tiêu thụ module Sakura-W 88 Hình 3.6 Sơ đồ lấy mẫu đo vết lượng tiêu thụ 91 Hình 3.7 Mơ hình cơng phân tích lượng lên thuật tốn AES-128 92 Hình 3.8 Biểu đồ hệ số tương quan với khơng gian khóa giả định 94 Hình 3.9 Biểu đồ tương quan ứng với khóa 𝑘 = 63 95 Hình 3.10 Biểu đồ tương quan khóa 𝑘 = 63 (trái) 96 Hình 3.12 Hệ số tương quan công lên Byte 97 vii Hình 3.13 Hệ số tương quan công lên Byte 98 Hình 3.14 Hệ số tương quan công lên Byte 98 Hình 3.15 Hệ số tương quan cơng lên Byte 99 Hình 3.16 Hệ số tương quan công lên Byte 99 Hình 3.17 Hệ số tương quan công lên Byte 100 Hình 3.18 Hệ số tương quan lên Byte 100 Hình 3.19 Hệ số tương quan công lên Byte 101 Hình 3.20 Hệ số tương quan lên Byte 10 101 Hình 3.21 Hệ số tương quan công lên Byte 11 102 Hình 3.22 Hệ số tương quan cơng lên Byte 12 102 Hình 3.23 Hệ số tương quan công lên Byte 13 103 Hình 3.24 Hệ số tương quan lên Byte 14 103 Hình 3.25 Hệ số tương quan lên Byte 15 104 Hình 3.26 Hệ số tương quan lên Byte 16 104 Hình 3.27 Biểu đồ tương quan ứng với khóa 𝑘 = 63 khóa 𝑘 = 64 thuật toán AES-EM (Thực với 480 vết) 107 Hình 3.28 Biểu đồ tương quan ứng với khóa 𝑘 = 63 khóa 𝑘 = 64 thuật toán AES-EM (Thực với 1500 vết) 108 Hình 3.29 Biểu đồ tương quan ứng với khóa 𝑘 = 63 khóa 𝑘 = 64 thuật toán AES-EM (Thực với 3000 vết) 108 viii DANH MỤC BẢNG BIỂU Bảng 1 Đánh giá phương pháp chống công dựa mặt nạ…….38 Bảng Các thông số kỹ thuật Atmega 8515 85 Bảng Chức gán chân điểm tiếp xúc thẻ thông minh 85 Bảng 3 Kết công lên 16 bytes khóa thuật tốn AES – 128 106 Bảng So sánh sơ đồ thực thi mặt nạ 110 ix DANH MỤC CÁC TỪ VIẾT TẮT Viết tắt AES Tiếng Anh Tiếng Việt Chuẩn mã hóa tiên tiến Advanced Encrytion Standard AES-EM AES-Embeded Mask Thuật tốn AES có mặt nạ nhúng AtM Arithmetic tranform Mask Mặt nạ biến đổi toán học DUA Device Under Attack Thiết bị chịu công ECC Elliptic Curve Crytography Hệ mật đường cong Elipptic FAA Fault Analysic Attack Tấn cơng phân tích lỗi FuM Full Mask Mặt nạ đầy đủ FiM Fix Mask Mặt nạ cố định FREM Field Ring Embeded Multiplicative Mask Mặt nạ nhúng trường vành FuFA Full FREM AES Mặt nạ đầy đủ cho AES sử dụng FREM HD Hamming Distant Khoảng cách Hamming HW Hamming Weight Trọng số Hamming HODPA High Order DPA Tấn cơng phân tích lượng bậc cao MM Multiplicative Mask Mặt nạ nhân RSA Rivert Shamia Adlemen Hệ mật RSA S-Box Substitution Box Hộp SCA Side Channel Attack Tấn công kênh kề TAA Time Analysis Attack Tấn cơng phân tích thời gian TPA Time Power Analysis Attack Tấn cơng phân tích lượng theo mẫu ZVA Zero Value Attack Tấn công giá trị zero x DANH MỤC CƠNG TRÌNH CƠNG BỐ 1/ Các cơng bố liên quan trực tiếp đến Luận án Nguyễn Thanh Tùng, “Một giải pháp chống công DPA hiệu quả”, Tạp chí Nghiên cứu Khoa học Cơng nghệ Quân sự, trang 33-41, số đặc san, tháng 5, năm 2017 Nguyễn Thanh Tùng, Trần Ngọc Quý, “Mặt nạ nhân chống công DPA lên AES Smart Card” HNUE JOURNAL OF SCIENCE - Natural Sciences, Volume 64, Issue 3, pp 82-88, năm 2019 Nguyễn Thanh Tùng, Bùi Văn Dương, “Một phương pháp hiệu chống công DPA lên AES Smart Card”, Tạp chí Nghiên cứu Khoa học Công nghệ Quân sự, trang 13 - 20, số đặc san, tháng 8, năm 2019 Nguyễn Thanh Tùng, “Phân tích, đánh giá hiệu phương pháp mặt nạ chống công DPA cho AES Smart Card”, Tạp chí An tồn Thơng tin, trang 46 – 52, số CS (11), năm 2020 Nguyễn Thanh Tùng, “Nguy công giải pháp bảo đảm an tồn mơi trường làm việc Cơ yếu”, Tạp chí Cơ yếu, năm 2017 2/ Các cơng bố khác Lê Mỹ Tú, Nguyễn Thanh Tùng, “Vấn đề an tồn thơng tin mạng thơng tin viễn thơng qn sự”, Tạp chí nghiên cứu Khoa học Cơng nghệ Quân sự, năm 2013 116 Nguyễn Thanh Tùng, Hoàng Sỹ Tương, Nguyễn Tiến Xuân, “Xây dựng hệ thống nhận dạng cảm xúc sử dụng thiết bị Emotiv EPOC”, Tạp chí Nghiên cứu Khoa học Cơng nghệ Qn sự, năm 2014 Nguyễn Thanh Tùng, Nguyễn Tiến Xuân, “Phát mã độc dựa điện toán đám mây”, Tạp chí Nghiên cứu Khoa học Cơng nghệ Qn sự”, năm 2014 Lê Mỹ Tú, Nguyễn Thanh Tùng, Lê Mạnh Hùng, “Mơ hình bảo mật đảm bảo an tồn thơng tin đại”, Tạp chí Nghiên cứu Khoa học Công nghệ Quân sự, năm 2014 117 TÀI LIỆU THAM KHẢO [1] Nguyễn Hồng Quang, “DPA, dạng cơng sidechannel hiệu quả”, Tạp chí nghiên cứu Khoa học Công nghệ Quân sự, 2013 [2] Nguyễn Hồng Quang, “Vết lượng DPA”, Tạp chí nghiên cứu Khoa học Công nghệ Quân sự, 2013 [3] Nguyễn Hồng Quang, “Phân tích tiêu thụ lượng lên thuật tốn mật mã”, Tạp chí nghiên cứu Khoa học Công nghệ Quân sự, số 34, tháng 12, 2014 [4] Bạch Hồng Quyết, Đinh Thế Cường, Vũ Mạnh Tuấn, “Giải pháp mặt nạ AES chống cơng phân tích lượng”, Tạp chí Nghiên cứu Khoa học Cơng nghệ Quân sự, năm 2020 [5] Amir Moradi, Oliver Mischke, Christof Paar, Yang Li, Kazuo Ohta, Kazuo Sakiyama, “On the Power of Fault Sensitivity Analysis and Collision Side-Channel Attacks in a Combined Setting” Ches 2011, Nara, Japan, 2011 [6] Alfred J Menezes, Paul C Van Oorschot, Scott A Vanstone, “Handbook of aplied cryptology”, Crc Press Inc, 1997 [7] Axel Mathieu-Mahias and Michael Quisquater, “Mixing Additive and Multiplicative Masking for Probing Secure Polynomial Evaluation Methods”, IACR Transactions on Cryptographic Hardware and Embedded Systems ISSN 2569-2925, Amsterdam, Netherland, TChes 2018 [8] Caxton C Foster, “Cryptanalysis for Microcomputer”, Haydenbook Company, Inc, 1978 [9] Christoph Herbst, Elisabeth Oswald, Stefan Mangard, “An AES Smart card Implementation Resistant to Power Analysis Attacks”, Institute for Applied Information Processing and Communications (IAIK), Graz University of Technology, Inffeldgasse 16a, A–8010 Graz, Austria, 2006 118 [10] Christophe Clavier, Benoit Feix, Georges Gagnerot, Mylene Roussellet, and Vincent Verneuil, “Improved Collision-Correlation Power Analysis on First Order Protected AES”, Ches 2011, Nara, Japan, 2011 [11] Chrisof Parr, “Efficent VLSI Architectures for Bit-Parallel Computation in Galois Fields”, PhD thesis, Institute for Experimental Mathematics, University of Essen, 1994 [12] Department of the Army Washington DC, “Basic Cryptanalysis” Field Manual 34-40-2, 1990 [13] D.R Stinson, “Cryptography: Theory and Practice”, CRC Press, Inc, A Chapman and Hall Bock, 1995 [14] E Oswald, Stefan Mangard and Norbert Pramstaller, “Secure and Efficient Masking of AES – Mission Impossible?”, Ches 2004, Paris, France, 2004 [15] Edwin NC Mui, “Practical Implementation of Rijndael S-Box Using Combinational Logic”, Sematic Scholar, 2007 [16] Elena Trichina, Domenico De Seta, and Lucia Germani, “Simplified Adaptive Multiplicative Mask for AES”, Cryptographic Design Center, Gemplus Technology R & DVia Pio Emanuelli, 00143 Rome, Italy, 2003 [17] Elisabeth Oswald, Stefan Mangard, Norbert Pramstaller, and Vincent Rijmen, “A Side-Channel Analysis Resistant Description of the AES S-box” Proceedings, volume 3557 of Lecture Notes in Computer Science, Springer, 2005 [18] Emmanuel Prouff, “Side Channel Attacks against Block Ciphers Implementations and Countermeasures”, Tutorial Ches, Santa BarBara, USA, 2013 [19] Norbert Pramstaller, Elisabeth Oswald, Stefan Mangard, Frank K Gurkaynak, and Simon Hane, “A Mask AES ASIC Implementation”, Insittute of Applied Information Processing and Communications, 2004 119 [20] Eric Brier, Christophe Clavier, Francis Olivier, “Correlation Power Analysis with a Leakage Model”, Ches 2004, Cambridge (Boston), USA, 2004 [21] Eric Peeters, Francois-Xavier Standaert, Jean-Jacqaues Quisquater, “Power and Electromagnetic Analysis: Improved Model, Consequences and Comparisons”, Ches 2006, Louvain La Neuve, Belgium, 2006 [22] FIPS PUB, “Announcing the Advanced Encryption Standard (AES)”, NIST, 2001 [23] J Dj Golic and C Tymen, “Multiplicative masking and power analysis of AES”, Ches 2002, San Francisco Bay, USA, 2002 [24] J.-S Coron and L Goubin, “On Boolean and Arithmetic masking against differential power analysis”, Springer-Verlag Berlin Heidelberg, 2000 [25] Jean-Sebastien Coron, “Resistance Against Differential Power Analysis for Elliptic Curve Cryptosystems", inProceedings of Workshop on Cryptographic Hardware and Embedded Systems, Springer-Verlag, 1999 [26] Jean-Sébastien Coron, Alexei Tchulkine, “A New Algorithm for Switching from Arithmetic to Boolean masking”, Ches 2003, Cologne, Germany, 2003 [27] Joan Daemen1, Christoph Dobraunig, Maria Eichlseder, Hannes Gross, Florian Mendel and Robert Primas, “Protecting against Statistical Ineffective Fault Attacks”, eprint Iacr, Atlanta USA, 2019 [28] Johannes Wolkerstorfer, Elisabeth Oswald, Mario Lam Berger, “An ASIC Implementiation of the AES Sboxes”, Spinger, Heidelberg, 2002 [29] Johannes Blomer, Jorge Guajardo, Volker Krummel, “Provably Secure masking of AES”, Spinger, Heidelberg, 2004 [30] Lauren De Meyer, Oscar Reparaz, and Begul Bilgin, “Multiplicative Masking for AES in Hardware”, IACR Transactions on Cryptographic Hardware and Embedded Systems ISSN 2569-2925, Amsterdam, Netherlands, 2018 [31] Matthias Hiller, Aysun Gurur Onalan, “Hiding Secrecy Leakage in Leaky Helper Data”, Ches 2017, Taipei, Taiwan, 2017 120 [32] M Akkar and C Giraud, “An implementation of DES and AES, secure against some attacks”, Springer-Verlag Berlin Heidelberg, 2001 [33] Matthieu Rivain, Emmanuel Prouff, Julien Doget, “Masking and Shuffling for Software Implementations of Block Ciphers”, Ches 2009, Lausanne, Switzerland, 2009 [34] Norbert Pramstaller, Elisabeth Oswald, Stefan Mangard, Frank K Gurkaynak, and Simon Hane, “A Masked AES ASIC Implementation”, (pp 7781) Proceedings of Austrochip, 2004 [35] Oscar Reparaz, Benedikt Gierlichs, Ingrid Verbauwhed, “Selecting time samples for multivariate DPA”, Ches 2012, Leuven, Belgium, 2012 [36] Owen Lo, William J Buchanan & Douglas Carson, “Power analysis attacks on the AES 128 Sbox using differential power analysis (DPA) and correlation power analysis (CPA)”, Journal of Cyber Security Technology, vol 1, No 2, 88-107, 2017 [37] Pascal Sasdrich, Begül Bilgin, Michael Hutter, and Mark E Marson , “Low-Latency Hardware Masking with Application to AES”, eprint iacr, Ches 2020 [38] Paul Kocher, Joshua Jaffe and Benjamin Jun, “Introduction to Differential PowerAnalysis and Related Attacks", Cryptography Rerearch, 1998 [39] P Kocher, J Jaffe, and B Jun, “Differential power analysis”, proceedings of CRYPTO 99, Lecture Notes in Computer Science, vol 1666, Springer, 1999 [40] Stefan Mangard, Elisabeth Oswald, Thomas Popp, “Power Analysis Attacks Revealing the Secrets of Smart Cards”, Spinger, 2007 [41] Shivam Bhasin, Jakub Breier, Xiaolu Hou, Dirmanto Jap, Romain Poussier, and Siang Meng Sim, “SITM: See-In-The-Middle Side-Channel Assisted Middle Round Differential Cryptanalysis on SPN Block Ciphers”, eprint iacr, Ches 2020 121 [42] Sylvain Guilley, Laurent Sauvage, Florent Flament, Maxime Nassar, Nidhal Selmane, Jean-Luc Danger, Tarik Graba, Yves Mathiew, and Renaud Pacalet: Overview of the 2008-2009 'DPA contest', 2009 [43] Thomas S Messerges, “Using Second-Order Power Analysis to Attack DPA Resistant Software”, Ches 2000, Worcester (Massechusetts), USA, August 17–18, 2000 [44] Thomas S Messerges, “Securing the AES Finalists Against Power Analysis Attacks", in Proceedings of Fast Software Encryption Workshop 2000, Springer Verlag, 2000 [45] W Hnath, J Pettengill, “Differential Power Analysis Side-Channel Attacks in Cryptography”, Worcester Polytechnic Institute, 2010 [46] Xiaoan Zhou, Juan Peng anh Liping Guo, “An Improved AES Masking Method Smart Card Implementation for Resisting DPA Attacks”, International Journal of Computer Science, 2013 [47] Xia Mingyang, “Side Channel Attack with Hamming Weight Leakage”, Dalhousie University Halifax, NovaScotia, Canada, 2019 [48] YongBin Zhou, DengGuo Feng, “Side-Channel Attacks: Ten Years AfterIts Publication and the Impacts on Cryptographic Module Security Testing”, eprint.iacr.org, 2005 122 PHỤ LỤC PHỤ LỤC 1: THUẬT TOÁN FuM 1/ Thuật tốn tạo 𝑺𝒎 Thuật tốn tính bảng mặt nạ cho SubBytes() INPUT: m OUTPUT: Mặt nạ SubBytes(𝒙 ⊕ 𝒎) = SubBytes(𝒙) ⊕ 𝒎, 1: for 𝑖 = to 255 2: Mặt nạ SubBytes(𝑖 ⊕ 𝑚) = SubBytes(𝑖) ⊕ 𝑚 3: end for 4: Return (Mặt nạ SubBytes) 2/ Thuật toán Fu-M cho AES -128 Thuật toán Fu-M AES -128 INPUT: Plantext 𝑋; 16 byte 𝑋𝑖 ; 𝑖 = 0: 15 11 RoundKeys 𝑅𝐾𝑖 ; 𝑖 = 0: 10 OUTPUT: Ciphertext 𝑌; 16 byte 𝑌𝑖 ; 𝑖 = 0: 15 Chọn mặt nạ ngẫu nhiên khác nhau: 𝑚, 𝑚′, 𝑚1 , 𝑚2 , 𝑚3 , 𝑚4 Tính hộp mặt nạ 𝑆𝑚 , thỏa mãn: 𝑆𝑚 (𝑥 ⊕ 𝑚) = 𝑆(𝑥) ⊕ 𝑚′ Tính giá trị mặt nạ: 𝑚1′ , 𝑚2′ , 𝑚3′ , 𝑚4′ từ biểu thức: 123 𝑚1′ 𝑚1 ′ 𝑚2 𝑚2 = 𝑀𝑖𝑥𝐶𝑜𝑙𝑢𝑚𝑠 [ 𝑚3 ] 𝑚3′ 𝑚4 [𝑚4′ ] Đặt: 𝑋0 𝑋 𝑋=[ 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6 𝑋7 𝑚1 𝑚2 𝑀 = [𝑚 𝑚4 𝑋8 𝑋9 𝑋10 𝑋11 𝑚1 𝑚2 𝑚3 𝑚4 𝑚 𝑚 𝒓=[ 𝑚 𝑚 𝑋12 𝑌0 𝑋13 𝑌 ]; 𝑌 = [ 𝑋14 𝑌2 𝑋15 𝑌3 𝑚1 𝑚2 𝑚3 𝑚4 𝑚 𝑚 𝑚 𝑚 𝑚 𝑚 𝑚 𝑚 𝑌4 𝑌5 𝑌6 𝑌7 𝑌8 𝑌9 𝑌10 𝑌11 𝑌12 𝑌13 ]; 𝑌14 𝑌15 𝑚1′ 𝑚1 𝑚2 𝑚2′ 𝑚3 ]; 𝑀′ = 𝑚3′ 𝑚4 [𝑚 ′ 𝑚1′ 𝑚2′ 𝑚3′ 𝑚4′ 𝑚1′ 𝑚2′ 𝑚3′ 𝑚4′ 𝑚 𝑚 ]; 𝑚 𝑚 𝑚′ 𝒓′ = [𝑚′ 𝑚′ 𝑚′ 𝑌 = 𝑋 ⊕ 𝑀′ 𝑅𝐾0 = 𝑅𝐾0 ⊕ 𝑀′ ⊕ 𝒓 For 𝑖 = 1: 𝑌 = 𝑌 ⊕ 𝑅𝐾𝑖 𝑌 = 𝑆𝑚 (𝑌) 10 𝑌 = 𝑆ℎ𝑖𝑓𝑡𝑅𝑜𝑤𝑠(𝑌) 11 𝑌 = 𝑌 ⊕ 𝑀 12 𝑌 = 𝑌 ⊕ 𝒓′ 13 𝑌 = 𝑀𝑖𝑥𝐶𝑜𝑙𝑢𝑚𝑛𝑠(𝑌) 14 𝑅𝐾𝑖 = 𝑅𝐾𝑖 ⊕ 𝑀′ ⊕ 𝒓 15 End 124 𝑚′ 𝑚′ 𝑚′ 𝑚′ 𝑚1′ 𝑚2′ 𝑚3′ 𝑚4′ ] 𝑚′ 𝑚′ 𝑚′ 𝑚′ 𝑚′ 𝑚′] 𝑚′ 𝑚′ 16 𝑌 = 𝑌 ⊕ 𝑅𝐾9 17 𝑌 = 𝑆𝑚 (𝑌) 18 𝑌 = 𝑆ℎ𝑖𝑓𝑡𝑅𝑜𝑤𝑠(𝑌) 19 𝑅𝐾10 = 𝑅𝐾10 ⊕ 𝒓′ 20 𝑌 = 𝑌 ⊕ 𝑅𝐾10 125 PHỤ LỤC 2: THUẬT TỐN MM 1/ Thuật tốn MM thích nghi: INPUT: 𝑥 ⊕ 𝑚, 𝑚, 𝑚’ OUTPUT: 𝑥 −1 ⊕ 𝑚 1: (𝑥 ⊕ 𝑚) / x 𝑚’ 2: (𝑥 ⊕ 𝑚) 𝑥 𝑚’ / ⊕ (𝑚 x 𝑚’) 3: 𝑚 x 𝑚’ / −1 4: 𝑥 −1 x 𝑚′−1 / ⊕ (𝑚 x 𝑚’) 5: (𝑥 −1 x 𝑚′−1 ) ⊕ (𝑚 x 𝑚’) / x 𝑚’ 6: (𝑥 −1 ⊕ 𝑚) 2/ Thuật toán MM cải tiến INPUT: 𝑥 ⊕ 𝑚, 𝑚 OUTPUT: 𝑥 −1 ⊕ 𝑚 1: (𝑥 ⊕ 𝑚) /x𝑚 2: (𝑥 ⊕ 𝑚) x 𝑚 / ⊕ (𝑚 x 𝑚) 3: 𝑥 x 𝑚 / 4: 𝑥 −1 x 𝑚−1 /⊕ 5: (𝑥 −1 x 𝑚−1 ) ⊕ /x𝑚 −1 6: 𝑥 −1 ⊕ 𝑚 126 PHỤ LỤC 3: PHƯƠNG PHÁP TÍNH TỐN MẶT NẠ AtM Để thực biến đổi toán học nhằm gắn mặt nạ cho thuật toán AES Đầu tiên, biến đổi giá trị đầu vào thuộc trường 𝐺𝐹(28 ) thành giá trị trường 𝐺𝐹(24 ) Tại đây, gắn giá trị trung gian với giá trị mặt nạ thực phép nghịch đảo [20], sau thực biến đổi thuật toán AES Một phần tử a thuộc trường 𝐺𝐹(28 ) thay đa thức tuyến tính trường 𝐺𝐹(24 ): 𝑎 = (𝑎ℎ + 𝑎𝑙 ); (PL1) 𝑣ớ𝑖 𝑎 thuộc 𝐺𝐹(28 ),𝑎ℎ , 𝑎𝑙 thuộc 𝐺𝐹(24 ) Cả hai hệ số đa thức có bít phép nghịch đảo phải phù hợp với điều kiện tương đương phép nghịch đảo 𝐺𝐹(28 ) với: (𝑎ℎ + 𝑎𝑙 )−1 = 𝑎ℎ′ + 𝑎𝑙′ (PL2) 𝑎ℎ′ = 𝑎ℎ × 𝑑 −1 (PL3) 𝑎𝑙′ = (𝑎ℎ + 𝑎𝑙 ) × 𝑑 −1 (PL4) 𝑑 = ((𝑎ℎ2 × 𝑝0 ) + (𝑎ℎ × 𝑎𝑙 ) + 𝑎𝑙2 ) (PL5) Phần tử p0 định nghĩa tương ứng với trường đa thức sử dụng để định nghĩa mở rộng bậc 𝐺𝐹(24 ) 127 Sau ánh xạ, giá trị cần nghịch đảo biểu diễn (𝑎ℎ + 𝑚ℎ ) + (𝑎𝑙 + 𝑚𝑙 ) thay 𝑎ℎ + 𝑎𝑙 Như vậy, hai giá trị 𝑎ℎ 𝑎𝑙 che mặt nạ cộng Khi thực nghịch đảo, −1 ((𝑎ℎ + 𝑚ℎ ) + (𝑎𝑙 + 𝑚𝑙 )) = (𝑎ℎ′ + 𝑚ℎ ) + (𝑎𝑙′ + 𝑚𝑙 ) Giả sử tính biểu thức PL2 với giá trị đầu vào mặt nạ, với 𝑎ℎ + 𝑚ℎ thay 𝑎ℎ với 𝑑 −1 + 𝑚𝑙 thay cho 𝑑 −1 Như ta nhận kết sau: (𝑎ℎ + 𝑚ℎ ) × (𝑑−1 + 𝑚𝑙 ) = 𝑎ℎ × 𝑑 −1 + 𝑚ℎ × 𝑑 −1 + 𝑎ℎ × 𝑚𝑙 + 𝑚ℎ × 𝑚𝑙 Dễ dàng nhận thấy giá trị không với 𝑎ℎ′ + 𝑚ℎ = 𝑎ℎ × 𝑑 −1 + 𝑚ℎ , mặt nạ 𝑚ℎ mặt nạ 𝑚𝑙 giá trị thêm vào Vì vậy, cần phải loại bỏ giá trị bổ sung để việc tính tốn cho kết xác, giá trị bổ sung (𝑑 −1 + 𝑚𝑙 ) × 𝑚ℎ , (𝑎ℎ + 𝑚ℎ ) × 𝑚𝑙 , 𝑚ℎ × 𝑚𝑙 𝑚ℎ Để có phần bù đảm bảo an toàn cho phần bù, ta sử dụng mặt nạ M, che phép cộng phần bù M cần độc lập với 𝑚ℎ 𝑚𝑙 128 PHỤ LỤC 4: THUẬT TỐN AtM 1/ Thuật tốn nhân INPUT: 𝑠 = (𝑎ℎ  𝑚ℎ )  (𝑎𝑙  𝑚𝑙 ), 𝑚 = 𝑚ℎ  𝑚𝑙 OUTPUT: (𝑎ℎ  𝑎𝑙 )−1 ⊕ (𝑚ℎ  𝑚𝑙 ) 1: 𝑦 = 𝑟𝑎𝑛𝑑 = 𝑦ℎ  𝑦𝑙 , 𝑠 = 𝑠 ⊕ 𝑚 2: 𝑠 =𝑠×𝑦 3: 𝑠 =𝑠 ⊕𝑦×𝑚 4: 𝑠 −1 = 𝐼𝑛𝑣1 (𝑠), 𝑦 −1 = 𝐼𝑛𝑣1 (𝑦) 5: 𝑠 = 𝑠  𝑦 −1 × 𝑚 6: 𝑠 =𝑠×𝑦 7: 𝑅𝑒𝑡𝑢𝑟𝑛(𝑠) 2/ Thuật toán nghịch đảo 𝑰𝒏𝒗𝟏 INPUT: 𝑠 = (𝑎ℎ  𝑟ℎ ) ⊕ (𝑎𝑙  𝑟𝑙 ), 𝑟 = 𝑟ℎ  𝑟𝑙 OUTPUT: (𝑎ℎ  𝑎𝑙 )−1 ⊕ (𝑟ℎ  𝑟𝑙 ) 1: 𝑑 = ((𝑠ℎ2 × 𝑝0 ) + (𝑠ℎ × 𝑠𝑙 )𝑠𝑙2 ) 2: 𝑀 = 𝑟𝑎𝑛𝑑() 129 3: 𝑑 ′ = 𝑑  𝑟ℎ = 𝑠ℎ2 × 𝑝0 ⊕ 𝑀  𝑠ℎ × 𝑠𝑙  𝑠𝑙2  𝑠ℎ × 𝑟𝑙 ⊕ 𝑠𝑙 × 𝑟ℎ  𝑟ℎ2 × 𝑝0  𝑟𝑙2  𝑟ℎ × 𝑟𝑙  𝑟ℎ ⊕ 𝑀 −1 4: 𝑑 −1 = 𝐼𝑛𝑣2 (𝑑), 𝑑′ 5: 𝑎′ℎ  𝑟ℎ = 𝑠ℎ × (𝑑 −1  𝑟𝑙 ) ⊕ 𝑀 + (𝑑 −1  𝑟𝑙 ) × 𝑟ℎ  𝑠ℎ × 𝑟𝑙  𝑟ℎ  𝑟ℎ × 6: 𝑟𝑙 ⊕ 𝑀 𝑎′𝑙 ⊕ 𝑟𝑙 = (𝑎ℎ × 𝑑 −1  𝑟ℎ ) ⊕ (𝑎𝑙  𝑟𝑙 ) × (𝑑 −1 + 𝑟ℎ ) ⊕ 𝑀 ⊕ (𝑑 −1 ⊕ 7: = 𝑑 −1  𝑚𝑙 𝑟ℎ ) × 𝑟𝑙 ⊕ (𝑎𝑙 ⊕ 𝑟𝑙 ) × 𝑟ℎ ⊕ 𝑟𝑙 ⊕ 𝑟ℎ ⊕ 𝑟ℎ × 𝑟𝑙 ⊕ 𝑀 𝑅𝑒𝑡𝑢𝑟𝑛((𝑎ℎ′ ⊕ 𝑟ℎ ) ⊕ (𝑎𝑙′ ⊕ 𝑟𝑙 )) = (𝑎ℎ  𝑎𝑙 )−1 ⊕ (𝑟ℎ  𝑟𝑙 ) 130

Ngày đăng: 25/04/2023, 15:53

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

Tài liệu liên quan