Cryptanalysis of Candidate Program Obfuscators
summary
Candidate obfuscators built from branching programs and multilinear encodings yield two concrete breaks: a left-kernel linear algebra attack that collects many zero-evaluations, arranges them into a matrix W, recovers boundary-scalar ratios and then requires a quantum or subexponential final step; and a much simpler rank-extraction attack that computes rank(W) to distinguish two functionally equivalent programs and recovers program structure (breaking certain matrix-PRFs in time about 2^c for c repetitions). Two open problems remain: the “integer entry problem without mod q” and improving the rank test with quantum algorithms.
AI-written summary · about
chapters (11)
- 0:00Start
- 15:25Common Strategies
- 22:13Fix a Representation of the Plaintext Program
- 22:52Crypt Oracle Proof of How To Represent a Nand Gate
- 24:36Branching Program
- 25:17Adding Safeguards
- 27:31Azan Safeguard
- 33:29Subset Product Encoding
- 53:34Limitations of the First Attack
- 54:09Rock Attack
- 56:41Matrix Product Switching Trick
related talks
01h 02mObfuscation II
01h 06mObfuscation: Past, Present, and Possible Futures
58mObfuscation I
51mObfuscation via GGH15 Encodings, 10 Years Later
01h 04mHow to Encrypt a Functionality
51mMultilinear Maps and Attacks II
01h 15mThe Journey Towards Program Obfuscation
01h 03mFrom Program Obfuscation to Unclonable Cryptography
