- Docente: Davide Brunelli
- Credits: 6
- SSD: IINF-01/A
- Language: English
- Moduli: Davide Brunelli (Modulo 1) (Modulo 2)
- Teaching Mode: In-person learning (entirely or partially) (Modulo 1); In-person learning (entirely or partially) (Modulo 2)
- Campus: Bologna
-
Corso:
Second cycle degree programme (LM) in
Electronic Engineering (cod. 6716)
Also valid for Second cycle degree programme (LM) in Electronic Engineering (cod. 6716)
Learning outcomes
The course provides a basic knowledge of the fundamental concepts, terminology and problems in cryptography as well as tools for assessing the security of data protection schemes commonly employed. It also provides high level requirements and design guidelines for typical blocks used in security-ensuring mechanisms.
Course contents
Part 1 - Fundamentals
- Data security services
- Symmetric Algorithms
- Perfect Secrecy, Diffusion, and Confusion
- Stream Ciphers: LFSR, Berlekamp-Massey Algorithm, CPRNG
- Block Ciphers: AES, Modes of Operation
- Asymmetric Algorithms
- RSA
- Cyclic Groups and DHKE
- Digital Signature
- Hash function
- Post-Quantum Cryptography
- Block-Chain
- Security in Neural Networks
Part 2 - Practical implementation
- Modular arithmetic and foundations
- Authentication and integrity mechanisms
- Key management
- Hardware security features, focusing on microcontrollers
- Secure Boot and Firmware Update
Part 3 - Blockchain and Ethereum module
- Distributed Ledger Technology
- Hash chains
- Blocks and transactionsConsensus mechanisms
- Proof-of-Work
- Proof-of-Stake
- Public/private key model
- Wallets
- Transactions
- Ethereum Virtual Machine (EVM)
- Smart contracts
- Practical exercizes
Readings/Bibliography
Available on the platform Virtuale:
- Lecture Notes
- Scientific papers
- Technical notes/specifications and standards publications
Additional textbooks for reference
- Boneh, Shoup, "A Graduate Course in Applied Cryptography" (available online cryptobook.us [https://toc.cryptobook.us/] )
- Smart, "Cryptography: An Introduction (3rd Edition)" (available online)
- Rubinstein-Salzedo, "Cryptography", Springer, 2018 (available in the UniBO library)
- Buchmann, "Introduction to Cryptography", Springer, 2001 (available in the UniBO library)
Teaching methods
Assessment methods
Written and oral exam
Teaching tools
Lecture notes, recommended readings.
Python programming language.
Office hours
See the website of Davide Brunelli
See the website of