Embedded Security
Code  Completion  Credits  Range  Language 

NIBVS  Z,ZK  5  2P+2C  Czech 
 Lecturer:
 Tutor:
 Supervisor:
 Department of Digital Design
 Synopsis:

Students gain basic knowledge in selected topics of cryptography and cryptanalysis. The course focuses particularly on efficient implementations of cryptographic primitives in hardware and software (in embedded systems). Students gain a good overview of functionality of (hardware) cryptographic accelerators, smart cards, and resources for securing internal functions of computer systems.
 Requirements:

Basic fundamentals of cryptography.
Basic fundamentals of digital design.
Knowledge of VHDL or C.
 Syllabus of lectures:

1. Embedded Systems with Cryptographic Features, SmartCards.
2. Attacks on Cryptographic Systems I: Differential Power Analysis.
3. Introduction to Elliptic Curve Cryptography (ECC).
4. ECC, Arithmetics over GF(p), Montgomery Domain.
5. ECC, Arithmetics over GF(2^m) with Polynomial Basis Representation.
6. ECC, Arithmetics over GF(2^m) with Normal Basis Representation.
7. (Pseudo)Random Number Generators in Embedded Systems.
8. Efficient Exponentiation.
9.Efficient Implementation of RSA, Efficient Multiplication.
10. Attacks on Cryptographic Systems II: TimeMemory TradeOff (TMTO) Tables Attacks.
11. Attacks on Cryptographic Systems III: GuessandDetermine Attack.
12. Attacks on Cryptographic Systems iV: SideChannel and FaultInjection Attacks.
 Syllabus of tutorials:

1. Implementation of a chosen cipher in a FPGA or a microcontroller.
2. Differential Power Analysis
3. Elliptic Curve Cryptography (ECC). Point addition over elliptic curve; its implementation in the FPGA or the microcontroller.
4. DiffieHellman key exchange over elliptic curve (ECDH); its implementation in the FPGA or the microcontroller.
5. RSA.
 Study Objective:

The module introduces students into the area of security of computer systems using hardware and provides knowledge needed for analysis and design of computer system security.
 Study materials:

1. Menezes, A., Oorschot, P., Vanstone, S. ''Handbook of Applied Cryptography''. CRC Press, 1996. ISBN 0849385237.
2. Paar, C., Pelzl, J. „Understanding Cryptography“. Springer, 2010, ISBN 9783642041006
3. Rankl, W., Effing W. ''Smart Card Handbook''. Third Edition, Wiley, ISBN 0470856688.
4. Ross J. Anderson, ''Security Engineering: A Guide to Building Dependable Distributed Systems'', Second Edition, Wiley, 2008, ISBN 9780470068526.
5. John R. Vacca, ''Biometric Technologies and Verification Systems'', Elsevier, 2007, ISBN: 978075067967.
6. Ecks, M., ''Smartcard development with JavaCard and the OpenCard Framework: A feasibility study'', VDM Verlag Dr. Müller, 2008, ISBN: 3836499894.
 Note:
 Further information:
 No timetable has been prepared for this course
 The course is a part of the following study plans:

 Specialization Computer Science, Presented in Czech, Version 2018 to 2019 (VO)
 Computer Security, Presented in Czech, Version 2020 (VO)
 Design and Programming of Embedded Systems, Presented in Czech, Version 2020 (PS)
 Computer Systems and Networks, Presented in Czech, Version 2020 (VO)
 Management Informatics, Presented in Czech, Version 2020 (VO)
 Software Engineering, Presented in Czech, Version 2020 (VO)
 System Programming, Presented in Czech, Version 2020 (VO)
 Web Engineering, Presented in Czech, Version 2020 (VO)
 Knowledge Engineering, Presented in Czech, Version 2020 (VO)
 Specialization Computer Science, Presented in Czech, Version 2020 (VO)
 Master's Program Informatics, Plan for students without Specialization, in Czech, 2020 (PS, VO)