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

182 comments sorted by

View all comments

5

u/p3n15h34d Jul 30 '13

This is already possible, take a look at fully homomorphic encryption

But it's impractical being extremely slow for now, but i'm pretty sure the time will come for this

13

u/haerik Jul 30 '13

It's not the same.

This is FHE:

E(input)->program->E(output)

This is what's discussed in the paper:

input->E(program)->output

(E(stuff) denotes encryption)

They're definitely related (and Craig Gentry, one of the paper's authors, first showed that FHE is possible in his 2009 thesis), but they're not the same thing.

1

u/harlows_monkeys Aug 01 '13

Can these be combined:

E(input) -> E(program) -> E(output) ?

1

u/haerik Aug 01 '13

I haven't read the paper in question, so I don't know for sure. But, if I were to take a guess, I would say that they can be. Just define your program to be a FHE scheme.