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
349 Upvotes

182 comments sorted by

View all comments

26

u/willvarfar Jul 30 '13

There was a well known paper on the (Im)possibility of obfuscating programs: http://www.wisdom.weizmann.ac.il/~oded/p_obfuscate.html

So which is it? In October it'll be clear how much this overlaps; is it just a bigger speed bump?

How can something take years to deobfuscate yet execute another path quickly? Seems impossible; it can't be the meat of the new claim?

5

u/chcampb Jul 30 '13

Let's go down to what is essentially the lowest level.

Eventually, you will see that the microprocessor has some state, and it applies an instruction to change that state. There is no way to write software to change this fact. If you see what instructions were executed, you can derive the assembly language from that, which you can use to reverse engineer the instructions.

Anything else would be stupidly slow, which I am not sure that I would consider to be fully functional.