- Introduction to Computer Security and Cryptography.
- Mathematical background: Number theory, abstract algebra, Finite fields.
- Finite Field, prime Field, modular arithmetic, quadratic fields and arithmetic.
- Finite Field, binary fields, binary extension fields, representation of field elements, polynomial basis, normal basis and Gaussian normal basis.
- Multiplication over finite fields: super-serial, bit-level, digit-level, bit-parallel architectures.
- Multiplication over finite field: Karatsuba, subquadratic multipliers, systolic array multipliers, hybrid-double multipliers.
- Multiplicative inversion, Fermatt’s little theorem, extended Euclidean Algorithm over prime and binary fields.
- Exponentiation over finite field, trace and half trace function over finite fields, constant-time and non-constant- time implementations.
- Public key cryptography, Diffie-Hellman key exchange, RSA, Elliptic curve cryptography (ECC).
- Implementations of RSA and Diffie-Hellman over binary fields and prime fields.
- Elliptic curves, generic curves, Montgomery curves, Edwards curves, Hassian and Huff curves.
- Implementations of Elliptic Curve Cryptography over prime fields, Group law, group operations, point multiplication, coordinates systems.
- Implementations of Elliptic Curve Cryptography over binary fields (polynomial basis and normal basis). Side-channel attacks analysis, secure implementations, and countermeasures.
- Digital Signature algorithms (ECDSA, El Gamal) and implementations, Security-level and key size, performance analysis on hardware and software platforms.
- Introduction to quantum computation and post-quantum cryptography: Lattice based cryptography, isogeny-based cryptography, and other candidates.
[/vc_column_text][/vc_tta_section][vc_tta_section title=”Additional Notes” tab_id=”1496360753399-4aba022d-c234″][/vc_tta_section][/vc_tta_accordion][/vc_column][/vc_row]