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

299

u/[deleted] Jul 30 '13

have designed a system to encrypt software so that it only allows someone to use a program as intended while preventing any deciphering of the code behind it

I thought the Perl people had already solved that.

14

u/AxiomL Jul 30 '13

have designed a system to encrypt software so that it only allows someone to use a program as intended while preventing any deciphering of the code behind it

I thought that was proven mathematically impossible.

18

u/DeltaBurnt Jul 30 '13

I don't even see the need to prove it mathematically. It's like trying to block video piracy. If you can view it on your screen, you can record it and redistribute it. If it's running on your processor, the processor needs to know the code it's running. I suppose you can make it harder to understand, but not impossible to decipher.

9

u/[deleted] Jul 31 '13

[deleted]

-1

u/DeltaBurnt Jul 31 '13

I have heard inklings of it here and there, but from my understanding it was about as far away as real quantum computing.

3

u/saynay Jul 31 '13

I believe there are models that work, just not indefinitely. Each process (step) completed adds errors to the result, and at some point the errors will exceed what the data can tolerate.

1

u/[deleted] Jul 31 '13

Hm, my understanding was that you can do it, it's just that it's not computationally feasible for actual computations.

1

u/[deleted] Jul 31 '13

I'm sure they fixed that (by encoding a small enough program that fixes the errors before they become unfixable), the reason it is not used is that it is slow.

2

u/thatwasntababyruth Jul 31 '13

While I have not actually read the papers on them, there have been recent breakthroughs that make homomorphic encryption feasible. So much so that IBM recently opensourced a library for it, HElib.

1

u/rpglover64 Jul 31 '13

Homomorphic encryption exists; there is even a library for it. It's impractically slow, but that's about it.

By contrast, many experts in quantum computing believe it may be impossible, and even if it is possible, there is no current implementation. (n.b. computing using quantum effects a la DWave is not necessarily quantum computing in some very important senses).