Circuit Design for Security

Module number: EI70520

Duration: one Semester

Occurence: Summer Semester

Language: English

Number of ECTS: 5

Staff

Professor in charge: Georg Sigl

Amount of work

Contact hours: 75

Self-study hours: 75

Total: 150

Description of Achievement and Assessment Methods

The knowledge and the theoretical understanding of
- Essential elements of digital circuits such as state machines, FIFOs, serial interfaces, buses, LFSRs and multipliers,
- Typical problems of circuit design such as clock domain crossing, the choice of synchronous and asynchronous reset, or the testability of circuits,
- The usage scenarios of multipliers and (N)LFSRs in the security context,

and the skills
- For the selection of solutions to typical problems of circuit design and
- To identify the advantages and disadvantages of the discussed multiplier and (N)LFSR concepts

will be examined in the form of open and closed questions in a written test (60 minutes). The questions are to be answered without additional documentation as a short text or in bullet points. To answer the questions calculations may be necessary.

The practical skills of
- being able to independently implement essential elements of digital circuits,
- to synthesize circuits, and
- to simulate circutis on different levels of abstraction,

is demonstrated by 3-5 programming tasks as mandatory tasks but without grade. Also online questionnaires have to be answered as a part of the tasks.

Prerequisites (recommended)

Basic knowledge in VHDL
Basic knowledge of IT security as taught,e.g., in the lectures Grundlagen der IT-Sicherheit and Angewandte Kryptographie

Intended Learning Outcomes

After successful completion of the module, students have the following qualifications:
- They know essential elements of digital circuits such as state machines, FIFOs, serial interfaces, buses, LFSRs and multipliers and can implement them independently.
- They know typical circuit design issues such as clock domain crossing, the choice of synchronous and asynchronous reset or the testability of circuits and can choose suitable solutions.
- They know application scenarios of multipliers and (N)LFSRs in the security context, can understand the theoretical foundations of the concepts discussed, and can name the advantages and disadvantages of these.
- They are able to describe digital circuits in VHDL and perform initial synthesis steps.

Content

In this module, the development of digital circuits in the security context is examined starting from basic circuits. First of all, basic circuits and possibilities for storing data (ROM / RAM / flip-flops / latches) are repeated. In addition, the knowledge of implementing state machines will be refreshed and extended. The implementation of important components of digital circuit design such as FIFOs and LFSRs is introduced. In particular, the implementation of pseudo-random number generators based on LFSRs and NLFSRs and their application in the security context will be discussed. The module also covers the implementation of interfaces, with a focus on serial interfaces, and the implementation of buses using the AXI BUS as an example. The implementation of multipliers is essential in many cryptographic applications. For this purpose, fundamental implementations as well as special variants for modulo-multiplication are discussed in the module. Also, concepts are discussed to test cryptographic circuits appropriately; Implementation strategies are introduced to optimize circuits in terms of area, power consumption, and performance.
In addition to the theoretical teaching of the content in lectures, the practical relevance is clarified in exercises and in a mandatory lab course. The students also learn to implement and synthesize digital circuits with a commercial design tool.

Teaching and Learning Methods

Lecture and exercise content is provided through slides and blackboard. The learning process of students is supported in the exercises by interactively solving tasks, group work and program demonstrations of the advisor which show implementation tasks and security scenarios. Programming exercises during the semester give students the opportunity to practice and to demonstrate their skills in implementing and synthesizing digital circuits in a security context using a commercial design tool.

Media

In lecture and exercise, slides, blackboard, example code and interactive online tools, e.g. Question Catalogs, are used. The offer is complemented by a forum on Moodle, where teachers answer questions about the content and the lab course tasks.

Reading List

Niklaus Wirth; Digital Circuit Design for Computer Science Students - An Introductory Textbook; Springer; 1995 ISBN 978-3-540-58577-0

Further literature recommendations will be provided at the beginning of each semester through the Moodle course.