Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

eldavojohn writes "A method of computing from a 2009 paper allows the computing of data without ever decrypting it. With cloud computing on the rise, this may be the holy grail of keeping private data private in the cloud. It's called Fully Homomorphic Encryption, and if you've got the computer science/mathematics chops you can read the thesis (PDF). After reworking it and simplifying it, researchers have moved it away from being true, fully homomorphic encryption, but it is now a little closer to being ready for cloud usage. The problem is that the more operations performed on your encrypted data, the more likely it has become 'dirty' or corrupted. To combat this, Gentry developed a way to periodically clean the data by making it self-correcting. The article notes that although this isn't prepared for use in reliable systems, it is a quick jump to implementation just one year after the paper was published — earlier encryption papers would take as much as half a decade until they were implemented at all."

I am a Freenet user (posting anonymously for obvious reasons) and I use it for Freenet Messaging System (FMS) which is a web forums on top of Freenet. The key thing about Freenet is that it is an anonymous data store. Even if you are offline, someone can fetch the data that is spinning around in the network.

You use a lot of CPU in my experience to retransmit lots of requests from other users, it's not obvious to your node whether or not you actually requested a piece of data. Even better is to make a darkne

Anonymous does not necessarily mean "has no name", although I can see how slashdotters are being conditioned to think so. Anonymous merely means to keep ones identities separate from and unconnected to one another.

You can have a perfectly anonymous identity with assorted social perks such as a recognizable name and verifiability/accountability; just disconnected from any other identities you might have. The tricky part is *keeping* them separated (plain human sloppiness is what got most old-school hackers c

Wait a minute. I'm a manager, and I've been reading a lot of case studies and watching a lot of webcasts about The Cloud. Based on all of this glorious marketing literature, I, as a manager, have absolutely no reason to doubt the safety of any data put in The Cloud.

The case studies all use words like "secure", "MD5", "RSS feeds" and "encryption" to describe the security of The Cloud. I don't know about you, but that sounds damn secure to me! Some Clouds even use SSL and HTTP. That's rock solid in my book.

Nitpicking, but homomorphic encryption gets used all the time- both RSA and ElGamal have a multiplicative homomorphic property, and blind signing (an application of that property) is fairly common. It's fully homomorphic cryptosystems which aren't currently used in practice, and I can assure you that interest in it is quickly moving from pure-theory labs into the more practical research communities. It would not at all surprise me to see the first real applications in the next five years, although you're ri

I'm glad to see that another Slashdotter actually understands what this work is about, because most of the commenters on this thread are clueless.

This work is fascinating because the author's encryption scheme is homomorphic for both multiplicative and additive operations, allowing you to compute arbitrary boolean circuits on the encrypted data!

Unfortunately, the computational complexity of their approach is too slow for this to have any practical applications (due to some astoundingly complicated "gadgets"

I thought one of the big uses being touted for the upcoming new CPU-GPU processors like AMD's Fusion, is that they'll be able to do things like virus-checking concurrently on the side. Why not similarly try it for homomorphic encryption on the side, and then the computational complexity won't slow things down too badly.

And I feel exactly the same way about storage places, and yet people pay monthly to store things that they really should be selling or giving away.

Short-term storage I understand. People who have had that storage unit for more than a year just amaze me. You could throw it all away and buy it again for the same price. And if it's -really- precious to you, it shouldn't be in storage in the first place.

As a consumer, sure. As a business, you'll eventually want secure offsite storage for both paper and electronic records, and you'll expect to pay monthly for both. You might want to throw that stuff out, but there are all these annoying laws about record retention.

The idea that my data is on the "cloud" and I have to pay a monthly fee (or watch some ads) to access it is really not very interesting to me.

The idea that I can access my emails and files from anywhere around the world is very interesting to me. The idea that this all happens automatically behind the scenes with near-enterprise-level reliability and survives through three OS upgrades, as many hardware upgrades, a stolen computer, and four system architectures is pretty damned interesting too. And the idea that I can do so for free thanks to a small paragraph of product blurbs? That's nothing short of astonishing.

So I'm guessing you aren't using hosted email in any way. If you are, your email data is "in the cloud". Another excellent use of the cloud is for system backups (note I work for a company that provides secure system backups to our cloud storage). One of the few "reliable" ways of keeping up-to-date point-in-time backups of systems for disaster recovery is by using secure cloud storage. Every other method that I've investigated has serious (and often fatal) flaws to keeping a recoverable image of critic

The idea that my data is on the "cloud" and I have to pay a monthly fee (or watch some ads) to access it is really not very interesting to me.

I see your point, but it's not like maintaining your own physical computer is free either. Instead of paying service fees, you have to pay money to purchase the computer, spend time and/or money to keep it running, make sure your data is backed up, pay for electricity, deal with it if it gets stolen or damaged, etc.

So, I've got this encrypted data, and I can do these operations to it and it'll still be encrypted blah blah blah. I want to alphabetically sort some data. If I'm reading this right, you're screwed. Not seeing the utility, if that's the case.

We only require a basic set of instructions [wikipedia.org] to build complete programs. Specifically, we only need enough of them to achieve Turing Completeness. [wikipedia.org] Modern processors usually have upwards of 30 basic instructions, most of them simply save time. With this sort of encryption, we can't have those same time saving shortcuts. Further, we are forced into using process visualization [wikipedia.org], with absolutely no way to utilize a JIT Compiler. [wikipedia.org] Because of this, Fully Homomorphic Encryption it incredibly time consuming. It's aki

The whole idea behind this is that you'd be able to encrypt your data, upload it to your cloud provider, and use their hardware to do a bunch of work on it, without ever decrypting it. The reason why this is attractive is because you don't want your cloud provider looking at your data. If you can sort your data by plaintext, while still in ciphertext form (ie, without decrypting it on the cloud's hardware AT ALL), then what's stopping your cloud provider from doing it, too? You're leaking information about

If you can sort your data by plaintext, while still in ciphertext form (ie, without decrypting it on the cloud's hardware AT ALL), then what's stopping your cloud provider from doing it, too?

Nothing. The result will be a list of ciphertexts which won't reveal anything about the plaintexts.

See also the thesis, page 5 (5 on paper, 15 in pdf):

At a high-level, the essence of fully homomorphic encryption is simple: given ciphertexts that encrypt pi_1,..., p_t fully homomorphic encryption should allow anyone (not just the key-holder) to output a ciphertext that encrypts f(pi_1,..., p_t) for any desired function f, as long as that function can be efficiently computed. No information about pi_1,..., p_t orf(pi_1,..., pi_t), or any intermediate plaintext values, should leak; the inputs, output and intermediate values are always encrypted.

So if I give you pi_1 and pi_2, you'll know that E(min(pi_1, pi_2)) = 42 and E(max(pi_1, pi_2)) = 17. What do their encryptions tell you about pi_1 and pi_2?

You're leaking information about your data to your provider, and if they wanted to, they could perform a process of elimination and discover your plaintext.

I don't think it's possible; I must admit I haven't read Gentry's thesis, but I assume he proves what he advertises---that he has a fully homomorphic encryption scheme. In that case, it is indeed possi

If I have a list of cyphertexts in plaintext-sorted-order, and I can choose several such operations to perform, I have more than enough information to decrypt most of it with high confidence.

Basically, if I can see the result of subtracting one plaintext from another (or XORing them together or any other such simple operaiton), I'm a trivial step away from decrypting both. This looks an awful lot like being able to get that information - not quite so neatly packaged, but close enough for government work.

Note, sorting is only ONE example of a class of algorithms that might have to be performed. Pretty much any useful algorithm would in some way leak information about the plaintext, in a way that would be visible to people who don't have your private key. That defeats the whole purpose. Might as well just upload all your data XOR encrypted.

Could you encrypt the algorithm itself? That is, just like you use the key to transform the cleartext to ciphertext, you would use the key to transfer the original algori

No. You're not capturing the magnitude of how few operations we have at our disposal with FHE. We can add, and we can multiply, and we can compare ciphertexts. Those are the three basic operations you can perform. Even if you could somehow divine the proper sorting of plaintexts, based upon their ciphertexts (And I'm even ignoring the fact that that would leak information like a sieve, for now), you'd have to go through god knows how many hundreds of add/multiply/compare iterations to do it. It's just not f

Correct me if I'm wrong but couldn't you just use something like
Encfs [wikipedia.org] and fuse [wikipedia.org]
and just access your encrypted files as if they were a mounted
file system right on your local system with all that implies?

The whole point of cloud computing is to give corporations access to all your files and all your computing behavior so they can analyze it, sell it, broadcast it, trade it, and make it into a product for governments and corporations around the world.

The whole point of cloud computing is to give corporations access to all your files and all your computing behavior so they can analyze it, sell it, broadcast it, trade it, and make it into a product for governments and corporations around the world.

Where do you get that from?

It seems as though you are thinking about the wrong layer of the 'cloud'. This is about high availability, to where the hardware operators can have many servers on standby and seemlessly (via VMotion or similar technologies) change hardware without a hiccup. If a node goes down then just bring up the same resource on an alternate server.

Yes, but that would be missing the boat. The whole point of cloud computing is that computations do not happen on your local computer. That's what fully homomorphic encryption offers: for a server to perform computations on encrypted data without decrypting the data.

This has been tried for at least 3 decades. It could never be made to work efficiently and this approach is also not really going to help. It may have some valid crypto application this time (it never got that far before), but you will have to pump in so many more CPU cycles, that it will be a lot cheaper to just spend then directly on you own PC for any non-crypto stuff.

Side note: The things people will claim to make this mostly BS idea of the cloud seem to work never cease to amaze me.

Side note: The things people will claim to make this mostly BS idea of the cloud seem to work never cease to amaze me.

If I know anything about \subsection{Motivation}, they're using cloud computing to make fully homomorphic encryption seem* worthwhile.

(* appearances may be true or false but not both).

Academic cryptography has developed the theory necessary for all the important problems people want solved in practice (i.e. public key encryption). That's why we work on the (apparently) less important problems now, and that's why the "motivation" part of our articles are a little... stretched;-)

The issue with clouds is for the most part they are using commodity hardware and the method for data reliability is replication. Given the hard error rate of disk drives after about 7 PB of data the failure rate of disk drives will exceed the ability of an OC-48 channel to move the data to replicate failed drives.

Botnets exist because of rational ignorance [wikipedia.org]. For most people, the benefit of having an efficient computer does not outweigh the cost of learning about malware and proper maintenance. How many times have you heard "It does my email and my internet, I don't care"? If there was a financial incentive to keep your computer running efficiently, more (but not all) people would make that effort.
I'm sure you're ignorant about some things that malware victims would consider important. Would you like it if they dism