NewsCurrently, no news are available
In software design, obfuscation generally refers to various techniques which make computer code unintelligible, or make it hard to reverse engineer program code. Such techniques have been used for decades in an attempt to protect proprietary algorithms in commercial software. Unfortunately, commercially available obfuscation tools are typically broken within a very short time of their introduction.
From a scientific perspective, this raises the question whether the task of obfuscation is possible at all, or whether any conceivable obfuscation scheme can be broken. To approach this question, we first need to agree on a suitable notion of what it means to break an obfuscation scheme. This question was first addressed by a seminal work of Barak et al. (CRYPTO 2001) who considered several ways of defining security for obfuscation schemes.
In this course, we will take a comprehensive tour through the realm of cryptographically secure obfuscation. We will start by surveying the initial impossibility results, and see how they can be circumvented by weakening the security requirements in a meaningful way. We will proceed to show how obfuscation became a central hub of modern cryptography, on which essentially any advanced notion of proof systems and encryption can be based.
Date and Time
Mode of Teaching
While the exact modalities of whether the lectures will be held remotely or in person are not yet settled, we will record the lectures and put them online. If the lectures are held in person, we will enable remote participation via zoom.
While there are no strict requirements to attend this course beyond being interested in the topic, having taking the core-lecture cryptography is recommended.
Requirements and Exams
There will be no mandatory assignment sheets, but instead we will occasionally provide (non-mandatory) exercises which advance the topics of lecture. The end-of-term exams will be 20-30 min oral exams. We will limit the scope of the topics before the exam.