Forgot your password?

typodupeerror

Comment: Re:Why do we believe the twin prime conjecture? (Score 1) 248

by cryptizard (#43730327) Attached to: Major Advance Towards a Proof of the Twin Prime Conjecture
Sort of, in that it would be really weird if it wasn't true. It is generally thought that primes follow a certain distribution (i.e. any given odd number has a certain probability of being prime, decreasing as the number gets larger). We know there are an infinite number of primes. That means this probability never reaches zero. If it is always non-zero, then there is also always some non-zero probability that we get two primes in a row (just the square of the probability). If there were not infinite twin primes, then it would mean that the "prime event" is not i.i.d., which is not impossible but would be strange. For there to be a point where there ceases to be twin primes would imply some weird arbitrary limit, beyond which primes don't want to "clump" any more.

Comment: Re:Marriage equality (Score 1) 130

by cryptizard (#43618851) Attached to: IBM Researchers Open Source Homomorphic Crypto Library
I'm not sure what you mean about the labeling thing. Your labels could all be encrypted and shuffled so he doesn't even know which file is file 50 (although it turns out this is not necessary). The process I am describing is a form of private information retrieval if you want more information. It does not strictly require FHE, but is enabled by it.

The serve would always learn the circuit you are using, so he would be able to tell which function you are evaluating over your data. There are methods to hide the function as well, but that feature is not provided by basic FHE.

Comment: Re:Screw encryption, I want hashing! (Score 1) 130

by cryptizard (#43618829) Attached to: IBM Researchers Open Source Homomorphic Crypto Library
Not sure where you got this idea, it is certainly necessary that P != NP for almost all of cryptography. If P = NP, then there are no problems in NP which are easy to come up with but hard to solve. Cryptography relies crucially on this asymmetry, it should be easy for a legitimate user but hard for someone without the key.

Sure there are classes harder than NP, but it is necessary that our problems be in NP because otherwise it would be intractable for legitimate users. Take public key cryptography for example. The problem it is based on needs to be in NP because, given a ciphertext encrypted with one half of the key, you need to be able to efficiently verify (decrypt) it with the other half. If your encryption was in NEXP, but not in NP, it would take exponential time to decrypt even for users with the key. This is just one example, but I promise you that all our useful problems need to be in NP.

If our problems need to be in NP, then they also must not be in P. If P = NP, then it takes as long to verify a problem as it does to actually solve it. It would be just as fast to break an encryption as it is to decrypt with the key. A good explanation is in Impagliazzo's worlds. Interestingly, it necessary but not actually sufficient for P != NP. For instance, hard problems could exist but not trapdoor functions, which would make public key encryption impossible.

Comment: Re:MOD PARENT DOWN (Score 2) 130

by cryptizard (#43615667) Attached to: IBM Researchers Open Source Homomorphic Crypto Library

If you search and the search returns results, you are probably leaking because an observer can keep track of what sectors of the disk the results came from, and what bits passed through the registers of the CPU as it executed compare instructions, and use that to gain information about the data using statistical analysis.

A homomorphic search would not operate the way you are thinking. It would have to compute over the entire set of possible results (otherwise, as you say, the adversary learns at least that some results are not possible) and piece by piece obliviously combine them. As a simplification, if you know your search is going to only return one result then you can have the server run a circuit over each file which evaluates whether that file will be the result or not. If it is, out comes an encrypted one, if it is not then it will be an encrypted zero. The server then multiplies the file itself by this encrypted result and adds it to a running total. All the files which weren't chosen will be zeroed out and the single file you want will end up in this "register", although the server has no idea which one you wanted and which ones were zeroed out.

Comment: Re:MOD PARENT DOWN (Score 4, Informative) 130

by cryptizard (#43614503) Attached to: IBM Researchers Open Source Homomorphic Crypto Library
Nobody said these things weren't possible, just that homomorphic encryption out of the box does not do them. There are recent techniques for functional encryption, which use FHE as a component, that allow these exact scenarios. As you pointed out though, you have to be very careful if you don't want to ruin security. The way they work now, you can supply a server with a specific token which allows him to evaluate one very specific function on your encrypted data and get the plaintext result of that function. For instance, you could give your email server a token which allows him to run spam filtering over your incoming emails and output a plaintext bit which is '1' if it is spam and '0' if it is not. The security property of these schemes is that you cannot learn any information other than the output of this function run over encrypted data. It is veeery tricky at this point because you could leak some dangerous information unknowingly, but the techniques do exist.

Comment: Re:Marriage equality (Score 3, Interesting) 130

by cryptizard (#43614335) Attached to: IBM Researchers Open Source Homomorphic Crypto Library
Nah because it is also semantically secure. For every plaintext value, there are lots and lots of different ciphertext values (it is a one-to-many mapping). So many, in fact, that knowing the plaintext value of any particular ciphertext doesn't give you any good information.

You do have the problem that anyone can come up with any valid ciphertext and jam it into your computation wherever they want, but we have some other cool stuff for verifying that only authenticated ciphertexts were used and that the function the guy evaluated was the one he was supposed to do. Lots of very cool stuff :-)

Comment: Re:Marriage equality (Score 4, Informative) 130

by cryptizard (#43614277) Attached to: IBM Researchers Open Source Homomorphic Crypto Library
So, let me first say that the main selling point for this technology is that it allows you to outsource your computation. You can use a low powered device like a cell phone and take advantage of more powerful computation in the cloud, while maintaining data privacy. You are correct that certain things will be leaked, like if I am storing encrypted email and I search for all emails sent by so-and-so then the server would learn how many emails I have from that guy. This is still a huge advantage over what we have now.

Now, I can outline a cool use that you probably have not thought of which is a little different. Imagine that a server is storing some really sensitive stuff for me. Obviously I don't trust the server so I am encrypting all my files. If he is really sneaky, however, he can learn something about the contents of those files by watching when, where and how often I access them. We call this the access pattern, and usually people just write this off as a cost of doing business. However, with homomorphic encryption we can hide even that!

Since I can evaluate any program homomorphically over my data, I write a program that says "return file number x" and give it an encrypted value, say 50, for x. The server now evaluates this program, with my encrypted 50, over the entire set of files. What he gives back to me is my file that I wanted, but from his point of view he can't actually tell which file he gave me! All he knows is he ran a circuit over all the files in the database, with my input that specifies which one I want, but he can't tell what my input is because it is encrypted.

Comment: Re:As someone who has to deal with HIPAA Requireme (Score 3, Interesting) 130

by cryptizard (#43614177) Attached to: IBM Researchers Open Source Homomorphic Crypto Library
It is not that the algorithms have not been well tested. Actually the "algorithms" do not really need to be tested as we have security proofs that reduce to hardness assumptions. The problem is that the hardness assumptions simply have not been around long enough to be thoroughly vetted. RSA is based on the hardness of the RSA assumption (related to the hardness of factoring) which has had 40 years to be broken. These new homomorphic encryption schemes have been around for at most 4 years, which is NOTHING in the scheme of things.

Pushing 30 is exercise enough.

Working...