## Teaching Material

### "Computer Architecture Theme"

- Mathematical preliminaries:
- Basics of digital logic:
- Basics of computer arithmetic:
- Basics of memory and storage:
- Introductory Verilog:
- Basics of processor design:
- Worksheets:

### "Theory Theme"

- Implementation techniques:
- High Performance Computing (HPC):
- Examples (or case-studies):
- Worksheets:

### "Security Theme"

- Implementing cryptographic arithmetic:
- Multi-precision integer arithmetic
[ slide |
extra ]
- Modular arithmetic (large prime)
[ slide |
extra ]
- Exponentiation (and scalar multiplication)
[ slide |
extra ]

- Symmetric primitives:
- Asymmetric primitives:
- Generation of (pseudo-)randomness:
- Protocols and schemes:
- TLS (nee SSL) in a nutshell
[ slide |
extra ]
- Using elliptic curves for cryptography
[ slide |
extra ]

- Examples (or case-studies):
- TLS-like servers and bug-based attacks
[ slide |
extra ]
- TLS-like servers and padding-based attacks
[ slide |
extra ]
- TLS-like servers and cache-based attacks
[ slide |
extra ]
- Cryptography in video games
[ slide |
extra ]

- Worksheets: