iMessage is an instant messaging service that uses end-to-end encryption. It is estimated to have 1.3 billion active users. iMessage uses a non-standard encryption protocol, and Apple has not made public any justification or security analysis of this protocol. The protocol involves symmetric encryption of a message under a key that is derived from the message itself. This motivates us to formalize a primitive we call Encryption under Message-Derived Keys (EMDK). We define a signcryption scheme that models the design of iMessage, containing an EMDK scheme at its core. We provide a proof-based analysis of the signcryption scheme. Our results are quantitative, and we discuss the practical implications for iMessage.
Program obfuscation is a technique that could lead to strong privacy-enhancing applications, and is desired by industry and academia alike. But thus far the exact design of the program obfuscation technique has eluded everyone. We study the theoretical achievability of various security notions for program obfuscation, and show negative results for some of them. For the simpler notion of point-function obfuscation that was affected by our results, we recover it by suggesting new constructions of such obfuscator.