Cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages. This course will introduce you to the fundamentals of Cryptography – from deep theory concepts, to practical applications of the different encryption schemes and where they are used in real world applications (e.g. dig. sign. in Blockchain). We will cover all aspects of modern cryptography such as data confidentiality, data integrity, authentication, and non-repudiation.