Cryptographic Engineering

Major: Cyber Security
Code of subject: 8.125.00.M.015
Credits: 3.00
Department: Information Security
Lecturer: Sovyn Ya. R.
Semester: 2 семестр
Mode of study: денна
Мета вивчення дисципліни: The goal of teaching the discipline is for graduate students to acquire thorough theoretical and practical knowledge of the application of a wide range of computer technology to solve the problems of cryptographic protection of information in information systems, to master the technical and software means of designing protected microprocessor systems, to acquire skills in the design, implementation, and testing of hardware and software tools , as a necessary basis for creating specialized devices and conducting scientific research in the field of cyber security.
Завдання: The study of an academic discipline involves the formation and development of competencies in graduate students: integral: The ability to solve complex problems in the field of information and cyber security, to conduct research and innovation activities that involve a deep rethinking of existing and creation of new integral knowledge, as well as practical implementation of the obtained results. general: 1. Systematic knowledge of modern research methods in the field of information technologies and information security and in related fields; 3. The ability to effectively communicate with the wider scientific community and the public on current issues of information and cyber security, information protection; professional: 1. Knowledge of modern development trends and the most important new scientific achievements in the field of information technologies, information and cyber security, information protection, and related fields; 2. Systematic knowledge and understanding of modern scientific theories and methods, and the ability to effectively apply them for the synthesis and analysis of information protection systems; 3. Ability to develop and implement projects, including own research, which provide an opportunity to rethink existing or create new knowledge; 5. Ability to develop and implement projects, including own research, which provide an opportunity to rethink existing or create new knowledge.
Learning outcomes: As a result of studying an academic discipline, a graduate student should be able to demonstrate the following learning outcomes: 1. Effectively implement cryptographic primitives, algorithms and protocols on various computing platforms; 2. Be able to evaluate the efficiency and resource requirements of software and hardware cryptographic devices, conduct their analysis, comparison and optimization; 3. Reasonably choose architectural, structural, schematic and software solutions when designing cryptographic equipment, rationally distribute the functions performed by the system between hardware and software; 4. Be able to design and program specialized information protection devices using cryptographic algorithms; 5. Know the main types of attacks through third-party channels on cryptographic means of information protection and methods of protection against them. 6. Be able to design and program typical specialized information protection devices. The learning outcomes of this discipline detail the following program learning outcomes: ЗН1. Ability to demonstrate systematic knowledge of modern research methods in the field of information technologies, information and cyber security, information protection; Lectures are an informative and receptive method. Laboratory works - reproductive method, heuristic method, Independent work - reproductive method, research method. Evaluation of the student's activity during classes; checking the performance of laboratory work. Examination control. ЗН2. Ability to demonstrate in-depth knowledge in the chosen field of scientific research; Lectures are an informative and receptive method. Laboratory works - reproductive method, heuristic method, Independent work - reproductive method, research method. Current check in the process of assimilation of each topic being studied; checking the performance of laboratory work; knowledge acquisition survey. Examination control. ЗН6. Apply knowledge and understanding to solve problems of synthesis and analysis of elements and systems characteristic of the chosen field of scientific research. Lectures are an informative and receptive method. Laboratory works - reproductive method, heuristic method, Independent work - reproductive method, research method. Current check in the process of assimilation of each topic being studied; checking the performance of laboratory work; knowledge acquisition survey. Examination control.
Required prior and related subjects: Current scientific and applied problems in the field of information protection Computer processing of information with limited access
Summary of the subject: The discipline is devoted to the study of the applications of microprocessors and microcontrollers to solve typical problems of information protection in information and communication systems from the point of view of the latest scientific research. The course examines the theoretical and practical aspects of implementing cryptographic algorithms focused on both high-performance systems and devices with limited resources, such as wireless sensor networks, the Internet of Things, etc. Ways to increase performance through the use of hardware and software cryptoaccelerators, code parallelization technologies, SIMD technologies, and GPUs are analyzed. The course also examines attacks on the implementation of crypto-algorithms, which are currently much more effective than classical cryptanalysis. The issue of construction and operation of crypto-resistant and true random number generators for microprocessor systems, as well as random sequence quality assessment based on FIPS 140-2 and NIST STS test sets, is covered.
Опис: Features and requirements for implementations of crypto primitives on different computing platforms. Software platforms (CPU, MCU, FPGA, ASIC). Basic crypto operations and basic crypto transformations. Time and cache attacks on software implementations of crypto-algorithms. Requirements for cryptographic software. Approaches to the implementation of basic cryptographic primitives (classical and tabular). General aspects (key unwrapping, loop unwrapping, macros and inlining, data types). A classic approach. Tabular approach. Approaches to the implementation of basic cryptographic primitives (SIMD, Bit-sliced). Vector instructions (SSE, AVX/AVX2, AVX-512). Programming using SIMD commands in C/C++ (Intrinsics functions, data types, function names, initialization with scalar values, loading and saving data from/to memory, arithmetic and logical operations, blending and shuffling) , index selection from memory (Gather) Training cipher KB SIMD approach Bitsliced ??approach Parallel programming using OpenMP technology to increase performance. Types of parallel systems and approaches to their programming. General information about OpenMP. Basic elements of OpenMP. Using OpenMP to speed up AES encryption. GPGPU using OpenCL technology to increase the speed of crypto-algorithms. Features of GPU and heterogeneous computing systems. The OpenCL standard and basic terms. OpenCL specification. Creating an OpenCL program. Principles of construction and testing of cryptographic random number generators. Basic concepts and requirements for random number generators. Methods of constructing microwave ovens in embedded systems. Methods of constructing microwave ovens in high-performance systems. Intel Secure Key technology. The working principle of the Intel Digital Random Number Generator. Checking the support of Intel Secure Key technology by the processor. Intrinsics functions for working with RDRAND and RDSEED instructions. Methods of testing microwave ovens. SHF attacks and protection methods. Microwave testing according to the FIPS 140-2 standard. Microwave testing according to the NIST STS standard. Attacks on the implementation of cryptographic algorithms. Classification of implementation attacks. Runtime attacks. Attacks on energy consumption. A simple attack on power consumption. Power consumption models for PA attacks. Differential attack on power consumption. Correlation attack on power consumption. Attacks on electromagnetic radiation. Attacks on calculation errors. Software and hardware complexes for SCA attacks. Methods of protection against power consumption attacks.
Assessment methods and criteria: Current control, which consists of performing laboratory work and defending reports, oral examination. Examination control, which consists of a written survey and an oral component.
Критерії оцінювання результатів навчання: 1. Laboratory works - 40 points. 2. Exam - 60 points.
Порядок та критерії виставляння балів та оцінок: 100–88 points – (“excellent”) is awarded for a high level of knowledge (some inaccuracies are allowed) of the educational material of the component contained in the main and additional recommended literary sources, the ability to analyze the phenomena being studied in their interrelationship and development, clearly, succinctly, logically, consistently answer the questions, the ability to apply theoretical provisions when solving practical problems; 87–71 points – (“good”) is awarded for a generally correct understanding of the educational material of the component, including calculations, reasoned answers to the questions posed, which, however, contain certain (insignificant) shortcomings, for the ability to apply theoretical provisions when solving practical tasks; 70 – 50 points – (“satisfactory”) awarded for weak knowledge of the component’s educational material, inaccurate or poorly reasoned answers, with a violation of the sequence of presentation, for weak application of theoretical provisions when solving practical problems; 49-26 points - ("not certified" with the possibility of retaking the semester control) is awarded for ignorance of a significant part of the educational material of the component, significant errors in answering questions, inability to apply theoretical provisions when solving practical problems; 25-00 points - ("unsatisfactory" with mandatory re-study) is awarded for ignorance of a significant part of the educational material of the component, significant errors in answering questions, inability to navigate when solving practical problems, ignorance of the main fundamental provisions.
Recommended books: 1. Совин Я. Р. Мікропроцесори в системах технічного захисту інформації.: навчальний посібник / Я. Р. Совин, Ю. М. Наконечний. – Львів: Видавництво Львівської політехніки, 2011. – 308 с. Рекомендовано МОН України. 2. Проектування та тестування генераторів випадкових чисел на базі мікроконтролерів: Методичні вказівки та завдання для самостійної роботи студентів з курсу “Мікропроцесори в системах технічного захисту інформації” для студентів четвертого курсу напряму 6.170102 «Системи технічного захисту інформації» // Укл. Я. Р. Совин, М. Ю. Стахів – Львiв: Національний університет "Львівська політехніка", 2015. – 56 с. 3. Проектування генераторів одноразових паролів на базі мікроконтролерів: Методичні вказівки та завдання для самостійної роботи студентів з курсу “Мікропроцесори в системах технічного захисту інформації” для студентів четвертого курсу напряму 6.170102 «Системи технічного захисту інформації» // Укл. Я. Р. Совин, М. Ю. Стахів – Львiв: Національний університет "Львівська політехніка", 2015. – 58 с. 3. Налаштування середовища для програмування x86-64 мікропроцесорів. Реалізація криптографічних алгоритмів для х86-процесорів з використанням криптоакселераторів Методичні вказівки до лабораторної роботи № 1 з курсу «Криптографічна інженерія» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2020. – 25 с. 4. Реалізація криптографічних алгоритмів для х86-процесорів з використанням класичного підходу: Методичні вказівки до лабораторної роботи № 2 з курсу «Криптографічна інженерія» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2020. – 15 с. 5. Реалізація криптографічних алгоритмів для х86-процесорів з використанням табличного підходу: Методичні вказівки до лабораторної роботи № 3 з курсу «Криптографічна інженерія» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2020. – 11 с. 6. Реалізація криптографічних алгоритмів для х86-процесорів з використанням SIMD підходу: Методичні вказівки до лабораторної роботи № 4 з курсу «Криптографічна інженерія» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2020. – 23 с. 7. Реалізація криптографічних алгоритмів з використанням OpenMP: Методичні вказівки до лабораторної роботи № 5 з курсу «Криптографічна інженерія» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2020. – 28 с. 8. Дослідження атак на енергоспоживання для мікроконтролерної реалізації алгоритму AES: Методичні вказівки до лабораторної роботи №6 з курсу «Криптографічна інженерія» для студентів напряму 6.170101 «Безпека інформаційних і комунікаційних систем» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2016. – 4 с. 9. Побудова криптографічних генераторів випадкових чисел для х86-64 процесорів на базі технології Secure Key та мікроконтролерів: Методичні вказівки до лабораторної роботи №7 з курсу «Апаратна криптографія» для студентів спеціальність «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2019. – 21 с. 10. Тестування криптографічних генераторів випадкових чисел: Методичні вказівки до лабораторної роботи №8 з курсу «Апаратна криптографія» для студентів спеціальність «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2019. – 17 с. 8. Рекомендована література Базова 1. Cryptographic Engineering / [editor C. K. Koc]. – New York: Springer Science+Business Media, 2009. – 522 p. – ISBN: 978-0-387-71816-3. 2. Secure Integrated Circuits and Systems / [ed. M. R. Verbauwhede]. – New York: Springer Science+Business Media, 2010. – 246 p. – ISBN: 978-0-387-71827-9. 3. Power Analysis Attacks: Revealing the Secrets of Smart Cards / Mangard S., Oswald E., Popp T. – Berlin: Springer-Verlag, 2007. – 338 p. 4. Applied Cryptography and Network Security / [editor Jaydip Sen]. – InTech, 2012. – 288 p. – ISBN: 978-953-51-0218-2. 5. Handbook of Applied Cryptography / A. J. Menezes, P. van Oorschot, and S. Vanstone. - CRC Press, New York, 1997. Допоміжна 1. Cryptographic Algorithms on Reconfigurable Hardware / Francisco Rodriguez-Henriquez, N. A. Saqib, A. Diaz-Perez, C. K. Koc. – New York: Springer Science+Business Media, 2006. – 362 p. – ISBN: 978-0-387-33883-5. 2. Advanced DPA Theory and Practice / E. Peeters – New York: Springer Science+Business Media, 2013. – 139 p. – ISBN 978-1-4614-6782-3. 3. Hardware Implementation of Finite-Field Arithmetic / Jean-Pierre Deschamps, Jose Luis Imana, Gustavo D. Sutter. - New York, Chicago, San Francisco, Lisbon, London, Madrid, Mexico City, Milan, San Juan, Seoul, Singapore, Sydney, Toronto: The McGraw-Hill Companies, Inc., 2009. - ISBN: 978-0-071-54581-5.
Уніфікований додаток: Lviv Polytechnic National University ensures the realization of the right of persons with disabilities to obtain higher education. Inclusive educational services are provided by the Service of accessibility to learning opportunities "Without restrictions", the purpose of which is to provide permanent individual support for the educational process of students with disabilities and chronic diseases. An important tool for the implementation of the inclusive educational policy at the University is the Program for improving the qualifications of scientific and pedagogical workers and educational and support staff in the field of social inclusion and inclusive education. Contact at: St. Karpinsky, 2/4, 1st floor, room 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: The policy regarding the academic integrity of the participants of the educational process is formed on the basis of compliance with the principles of academic integrity, taking into account the norms "Regulations on academic integrity at the Lviv Polytechnic National University" (approved by the academic council of the university on June 20, 2017, protocol No. 35).