This course will introduce basic concepts and techniques for designing and analysing cryptographic protocols with a focus on privacy preserving computation and blockchain protocols. We will cover both the main constructions of such protocols and the theoretical models used for proving their security.