ABOUT THE COURSE:Secure multi-party computation (MPC) is one of the most fundamental problems in cryptography as well as distributed computing. In a nutshell, a MPC protocol allows a set of mutually distrusting parties with private inputs, to perform any joint computation on their data, by keeping their respective data as private as possible. Secure MPC abstracts several real-world problems, for example privacy-preserving data mining, privacy-preserving ML, secure e-auctions, private matchmaking, secure set-intersection, secure e-voting, secure signal-processing, secure bioinformatics, secure biometrics, secure outsourcing, to name a few.Since the domain of secure computation is enormously vast, it is impossible to discuss every relevant topic in just a single course. Hence the plan is to cover the topics in two parts. The first part titled Secure Computation: Part I has been already offered. In that course, we covered a simpler form of adversarial setting, namely semi-honest adversary (passive adversary), where the corrupt parties are supposed to follow protocol instructions. However, real-life attackers may not be so benign and can cause the compromised parties to behave in any arbitrary fashion. Such corruptions are better modelled by active/malicious (Byzantine) adversaries, which will be the focus of this course.PREREQUISITES:It is expected that the participant has done a basic course on Cryptography (such as the Foundations of Cryptography course available on NPTEL), a basic course on Discrete Mathematics (several courses on Discrete Mathematics are available on NPTEL) and the course titled Secure Computation: Part I (available on NPTEL).