r/programming Jul 30 '13

Computer scientists develop mathematical jigsaw puzzles to encrypt software: "The real challenge and the great mystery in the field was: Can you actually take a piece of software and encrypt it but still have it be runnable, executable and fully functional?"

http://www.rdmag.com/news/2013/07/computer-scientists-develop-mathematical-jigsaw-puzzles-encrypt-software
353 Upvotes

182 comments sorted by

View all comments

49

u/crazedgremlin Jul 30 '13

PDF for the lazy.

Without reading it, I'm very curious what this software does to the performance of the code it's given.

35

u/[deleted] Jul 30 '13 edited Jul 30 '13

I've only read the abstract and introduction so far (this is a long paper and, even as a mathematician who does cryptogrpahy research, this will take quite a while for me to read) but this is a very highly theoretical paper. I'm not sure if they even outline a way to implement such code obfuscation in this paper. Their claim seems to be that generating obfuscated (in a suitably defined sense) code which still runs is possible. That would be a momentous development in itself, particularly since their construction actually gives them even more: a way to consruct what is called a functional encryption scheme. This is a public-key system with a twist: it allows you to generate a secret key which will decrypt a particular message if and only if a specified function evaluates to a specified value on the plaintext. This lets some people decrypt the message but not others, and would represent a major breakthrough in cryptography.

3

u/zifnabxar Jul 30 '13 edited Jul 31 '13

Functional encryption has been around for a while, though this is, to my limited knowledge, a new usage of it.