What is Indistinguishability Obfuscation? I've been studying functional encryption. I recently read that a multi-input functional encryption (MIFE) implies indistinguishability obfuscation (IO).
Can someone please brief me: what is indistinguishability obfuscation (IO), and are its implications for crypto?
Program Obfuscation is a method to scramble the program code such that it becomes unintelligible but preserves the program's functionality. The notion of indistinguishability obfuscation was proposed in [BGI+01]. Actually they first consider another notion which is called virtual black box obfuscation (VBB Obfuscation). However, they showed that VBB Obfuscation is impossible, so they proposed the concept of indistinguishability obfuscation (IO).

In 2013, [GGH+13] proposed the first candidate IO from assumptions over multilinear maps. After that, a number of its applications were proposed. For example, deniable encryption [SW14], witness encryption [GGSW13] and round optimal (2-round) MPC [GGSR13] (Actually, just review the list of IACR preprint after the appearance of the first candidate IO, you could find a great number of paper discussing applications of IO). 

Currently the central problem is how to build IO from standard mathematical assumptions (e.g., LWE and Bilinear Maps). The most most recent breakthrough was made by Rachel Lin et.al. from last year through this year [Lin16][LV16][Lin16][AS16][LT17].