Timeline for Practical consequences of using functional encryption for software obfuscation
Current License: CC BY-SA 3.0
7 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Aug 7, 2013 at 1:32 | comment | added | sashank | What does this mean , expressing program as Turing Machine ? | |
Aug 6, 2013 at 3:17 | comment | added | Antimony | The constants involved in FHE mean it is not even remotely practical. Also, obfuscation will never been practical in situations where maximum performance is critical since there is an inherent penalty to not being able to understand the code you're executing (branch misprediction, cache misses, etc.) It's conceivable that advances in obfsucation may someday let it be executed within a small factor of native performance though (Say 100x slowdown), in which case it would see potential applications. | |
Aug 2, 2013 at 0:36 | vote | accept | Henrick Hellström | ||
Jul 31, 2013 at 21:55 | comment | added | Henrick Hellström | I meant "something informal", since even a polynomial overhead in some cases might be practically prohibitive. For instance, if you try to implement RSA 2048 using boolean gates for e.g. x86 or ARM and use it in a SSL/TLS implementation, the remote peer will time out and disconnect before you stand a chance to complete the handshake. | |
Jul 31, 2013 at 21:48 | comment | added | Mikero | To be clear, expressing a program as a boolean circuit is just a prerequisite to obfuscation, and is not meant to impart any security itself (not sure if that's implicit in your comment). Any polynomial-time program (Turing machine) can be encoded as a polynomial-sized circuit. Of course there is a big (but poly) overhead, so it depends on what you mean by "extremely inefficient" (theoretician's definition or something informal). For the particular case of multiplying integers, that's something that computer engineers have been doing for ages: en.wikipedia.org/wiki/Binary_multiplier | |
Jul 31, 2013 at 21:43 | comment | added | Henrick Hellström | Just to be clear wrt practicality: If obfuscation means expressing the program in terms of AND, OR and NOT, it seems inevitable that it will become extremely inefficient to implement something as simple as an integer multiplication in software, no? | |
Jul 31, 2013 at 21:32 | history | answered | Mikero | CC BY-SA 3.0 |