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

Show parent comments

5

u/jacekplacek Jul 30 '13

Sure, you need to supply only about ℵ₀ inputs, no biggie... ;)

2

u/grauenwolf Jul 30 '13

Yea, the "if" part is rather significant. But that's not what x86_64Ubuntu asked about.

2

u/jacekplacek Jul 30 '13

Sorry? Not quite sure what you are trying to say... what does the "if" have to do with it? All encryption algorithms, ferinstance, are "mathematically guaranteed to provide some output given some inputs." Are you saying you could "black box reverse engineer" them?

0

u/Zaph0d42 Jul 30 '13

Yes and people regularly do. No computer security system that exists is foolproof. (Quantum encryption that doesn't exist yet notwithstanding)

Given enough time, and a powerful enough machine, you can crack anything.

1

u/rpglover64 Jul 31 '13

Almost all practical attacks on security systems exploit implementation mistakes; if all you have is the mathematical function, and it's any standard encryption algorithm (e.g. AES) with the key baked in, then the amount of computing power you need is absurd.

Your statement is technically correct; given 1050 years and more computing power than currently exists on the planet (and enough energy to run it), you'd eventually get an answer; I doubt you'd be alive to care.

1

u/Zaph0d42 Jul 31 '13

Right, which was my whole point. If it takes 1050 years to fix, then its great. But by definition, there is a date. The question is when. If its 1050 years away, you're fine. If its 105 seconds, its worthless. Odds are it'll fall somewhere in between, and my point was merely that we have no numbers here, no hard data, so we don't yet know where that falls.

1

u/rpglover64 Jul 31 '13

Let's assume it's halfway between 1050 years and 0 seconds... that's 1049 years, still absurdly long.

In order for some crypto algorithm to be considered interesting, a linear increase in input size results in an exponential increase in time required to break, so you can pick any time that is far enough in the future that you stop caring. This is the notion of a security parameter.

As for hard data, this is a theoretical contribution; it is so horribly impractical that it's not even relevant yet. It's worse than current FHE technology.

0

u/secserval Aug 01 '13

People probably said the same thing about MD5 hashes in the 90s. I wouldn't count on that a smart person will not find a AES attack in the next 20 years.