Slashdot Mirror


Microsoft Demonstrates Practical Homomorphic Computing

holy_calamity writes "Homomorphic computing makes it possible to compute with encrypted data and get an encrypted result, something that could make cloud services more secure. Such systems have so far been mathematical proofs, but researchers at Microsoft now say that stripped down versions able to only compute certain mathematical functions are efficient enough to be used today. They built prototype software capable of calculating statistical functions using encrypted data and say it could be used for processing medical data while protecting privacy."

141 comments

  1. performance by rbrausse · · Score: 2

    FTFA: "It added together 100 numbers, each 128 binary digits long, in 20 milliseconds."

    wow. just wow.

    It works, but at this speed not production-ready. a proof of concept, not much more.

    (otoh, it is nice to see that MS still invests in basic research)

    1. Re:performance by Robert+Zenz · · Score: 2

      (otoh, it is nice to see that MS still invests in basic research)

      They do a lot of research...unfortunately most of it ends up in a coffin buried deep underground.

    2. Re:performance by gweihir · · Score: 3, Informative

      Well, MS research publishes pretty regularly. The problem is just that MS proper does not listen to them at all. MS research has time and again demonstrated that something was stupid, only to have MS proper do it later or continue to do it.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    3. Re:performance by Zouden · · Score: 2

      In the article a researcher says, "You can still do a lot of statistical functions and perform analysis like logistical regression, which is used to do things like predict how likely a person is to have a heart attack."
      Okay, but statistical analysis like that isn't particularly computationally-intensive. At some point, an authorised person is going to look at the data (of course), and they can perform the statistical analysis then. That's the way it's done now.

      I just don't see how valuable any analysis will be if the system doesn't have an understanding about what the data represents. If it's all just numbers, then all you can do is perform arithmetic, which doesn't exactly require a server in the cloud.

      --
      "A week in the lab saves an hour in the library"
    4. Re:performance by jpapon · · Score: 1

      the system doesn't have an understanding about what the data represents

      Isn't the point that the system knows what the data represents, just not what the actual values are? So, for instance (as a trivial example), it could take your encrypted blood pressure, age, and weight and output an encrypted number corresponding to your risk of heart attack, without ever actually knowing the real value of the input or the output.

      --
      -- Let us endeavor so to live that when we pass even the undertaker shall be sorry. -- M. Twain
    5. Re:performance by ailnlv · · Score: 3, Interesting

      not really, microsoft research is pretty big and they publish basically everything. Google on the other hand keeps its research to itself.

    6. Re:performance by Anonymous Coward · · Score: 0

      Indeed. It's a perfect example of a case where you'd use less than 100 numbers and still be able to create end-user value. Nobody would complain if it took 20 milliseconds per patient.

      The whole reason for such encyprtion is because you'd like to deploy such applications to the Cloud; i.e. host it on environments that you'd really not trust with your data. However, you'd still require a secure client, so you cannot trivially rely on browser-delivered Javascript.

    7. Re:performance by marcello_dl · · Score: 1

      But crappy performance is actually a selling point for more performing hardware, I guess some guys are already rubbing their hands and waiting for this tech to be a lil more feasible, so that they can have it mandated by law in some sectors that suddenly will require much more computing power to do the same old things.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    8. Re:performance by nschubach · · Score: 4, Informative

      http://research.google.com/pubs/papers.html

      That's some serious hording going on there.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    9. Re:performance by WrongSizeGlass · · Score: 1

      It works, but at this speed not production-ready. a proof of concept, not much more.

      Next, let's see how fast it works using GPU's.

    10. Re:performance by Anonymous Coward · · Score: 0

      Why bring Google into this? Some serious insecurity you have going on there.

    11. Re:performance by nedlohs · · Score: 1

      Sure that might be a use. The bigger reason though is you can implement your DRM so that the DRM logic and the decryption keys that need to be on the end user device are encrypted and never decrypted on the end user device, instead they run via this. But for that it needs to be faster, since you are effectively building boolean logic with it and running on that.

    12. Re:performance by flappinbooger · · Score: 1

      Step 1: Invent some plausibly useful technology applicable to a given sector
      Step 2: Bribe ... I mean "lobby" .... for the tech to be mandated by law in the given sector
      Step 3: ????
      Step 4: Profit

      I think step 3 may be optional.

      --
      Flappinbooger isn't my real name
    13. Re:performance by Anonymous Coward · · Score: 0

      "wow. just wow" = Loser message board speak

    14. Re:performance by FhnuZoag · · Score: 1

      It's generally dangerous to do statistical analyses without looking at the data. You never know if the data turns out to be something you've never envisioned as possible.

    15. Re:performance by insertwackynamehere · · Score: 1

      Actually this troll is right. It's up there with extended ellipses after every statement...................

    16. Re:performance by DarthVain · · Score: 1

      Crypo is pretty slow anyway. Over a network where the work is being done and there is communication latency, it is less a big deal than local. What I mean is over the network is going to be slower than say local to a computer anyway. So if it is a bit slow on one end, that will be lessened by the fact of what is expected over a network to begin with. I know for giggles I try to encrypt a 500GB dive using truecrypt, and got a progress bar that was 7 or 8 hours long, and that was locally.

      So it isn't a cloud thing, encryption of more data than handshake keys and the like take time. Besides, having non-crypto cloud is no less secure, than all the commercial sites out there storing passwords in plain text files and the like, or on outdated software.

    17. Re:performance by Anonymous Coward · · Score: 0

      With Microsoft's history and current practice of patent lawsuits, you still think MS investing in research is a good thing?

    18. Re:performance by darkmeridian · · Score: 1

      Microsoft gets a lot of crap but many of their products recently have been great, especially with regard to the GUI. Windows 7 is the best version of Windows ever. It has been very stable (on proper hardware) and runs pretty quickly. Windows Home Server 2011 allows a home operator to backup the computers of his entire network onto his servers without much of a hassle.

      --
      A NYC lawyer blogs. http://www.chuangblog.com/
    19. Re:performance by skids · · Score: 2

      Windows Home Server 2011 allows a home operator to backup the computers of his entire network onto his servers without much of a hassle.

      The only time I want my software to "allow" me to do something is when I'm crossing authentication domains. The rest of the time I would like it to "help" or "enable" me to do things.

    20. Re:performance by Anonymous Coward · · Score: 0

      FTFA: "It added together 100 numbers, each 128 binary digits long, in 20 milliseconds."

      wow. just wow.

      It works, but at this speed not production-ready. a proof of concept, not much more.

      (otoh, it is nice to see that MS still invests in basic research)

      I'm working as a summer intern on homomorphic encryption and those results are not impressive. Proof of concept homomorphic encryption as well as other forms of secure computation such as garbled circuits has already been done. It's not very hard at all. We have data using a variety of cryptosystems and implemented protocols using homomorphic encryption.

    21. Re:performance by marcello_dl · · Score: 1

      I bluescreened a win7 packard bell netbook by trying to do something esoteric as... tethering an android phone (an ideos).
      I had to try with a linux machine to understand what was going on, that is tethering worked - got the ip - but the phone wasn't on the network. Just an episode of course, but not very promising given the little time i spend on win.

      Anyway... I'd take a linux desktop that crashes twice a day instead of reverting to the old days of windows in my workplace - type the license key, download the 100+mb printer drivers from the producer site, no "app store from heaven" package repositories.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    22. Re:performance by AntiGenX · · Score: 1

      According to the page that you have linked, "Below is a partial list of categories in which people have published after joining Google. There is also a list organized by year, and an atom feed is also available. "

      These are not research projects specifically funded by Google, but rather published by people working at Google.

    23. Re:performance by nschubach · · Score: 1

      That's because Google doesn't do "traditional" research like the other R&D shops...

      Here:
      http://matt-welsh.blogspot.com/2011/01/does-google-do-research.html

      Basically every employee at Google is a Research Employee. If they publish a paper while working at Google it's considered by Google to be Google research. (After all, they are working for Google while doing that research...)

      So you aren't going to see "Google Research publishes..." because they allow the people/person doing the research take credit.

      Can you publish papers at Google? Sure. Google publishes hundreds of research papers a year. (Some more details here.)You can even sit on program committees, give talks, attend conferences, all that. But this is not your main job, so it's important to make sure that the research outreach isn't interfering with your ability to do get "real" work done. It's also true that Google teams are sometimes too busy to spend much time pushing out papers, even when the work is eminently publishable.

      Matt Welsh said...
      Anon re: "Research Scientist". Indeed, there is a "Research Scientist" job title, and it is reserved for those people in the "Google Research" arm of the company. My point is that Google Research is not like Microsoft Research (say), and you don't need to be a "research scientist" to do "research". The vast majority of PhDs at Google are "software engineers".

      (Honestly I think Google has this title only to make it easier to hire certain kinds of people. I wish they would get rid of it, since it causes confusion.)

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    24. Re:performance by gmhowell · · Score: 1

      (otoh, it is nice to see that MS still invests in basic research)

      They do a lot of research...unfortunately most of it ends up in a coffin buried deep underground.

      So it's not as if it was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying 'Beware of the Leopard'.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
  2. Re:Microsoft? by Anonymous Coward · · Score: 0

    Blind Microsoft hate is sooooo 2001.

  3. How does this voodoo work? by CProgrammer98 · · Score: 0

    So let's get this straight... You take a bunch of encrypted numbers, never ever decrypt them but somehow still add them together to get the right encrypted answer.

    WTF???

    No details in TFA but HOW does this voodoo work?

    --
    And the people shall be oppressed, every one by another, and every one by his neighbour Isaiah 3:5
    1. Re:How does this voodoo work? by ledow · · Score: 2

      http://en.wikipedia.org/wiki/Homomorphic_encryption

      You're welcome.

      (Basically, you have a crap cryptosystem that lets you do it - nobody's yet figured out how to do this without possibly compromising the encryption and you have to start all your maths from scratch - which in encryption security terms is a bit of a nightmare)

    2. Re:How does this voodoo work? by Anonymous Coward · · Score: 0

      This is how it works: http://signallake.com/innovation/HomomorphicEncryption062509.pdf

      Good luck understanding it. :)

    3. Re:How does this voodoo work? by gweihir · · Score: 1

      Actually very old. Relevant research papers were published 20-30 years ago. It is just that CPUs have gotten fast enough that you can actually demonstrate something.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    4. Re:How does this voodoo work? by vlm · · Score: 1

      So let's get this straight... You take a bunch of encrypted numbers, never ever decrypt them but somehow still add them together to get the right encrypted answer.

      WTF???

      No details in TFA but HOW does this voodoo work?

      The key is probably how incredibly slow it operates. I could implement something as slow as their solution... What if you did BCD encoding of all numbers and had a lookup table that turned "7 aka binary 0111" into "1024 bit encrypted/hash". Then a big IBM 1620-ish table of hashes such that "this 1024 bit enum" plus "that 1024 bit enum" equals "another 1024 bit enum". It would of course be incredibly slow, much as reported...

      Followed in about 6 months by a 2600 article RE-discovering the joy of known plaintext attacks, statistical analysis.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    5. Re:How does this voodoo work? by smallfries · · Score: 4, Informative

      Here is a simple example (leaks way more information than the real system). Let's say that the two numbers that you want are elements on a ring (or in CS terms they are numbers modulo some N). You have two numbers, x mod N and y mod N. You want me to perform the modulo addition without learning x and y.
      1. You pick two random numbers, p mod N and q mod N.
      2. You send me (x+p) mod N and (y+q) mod N. As long as your selections were really random this provides no information about x or y.
      3. I compute (x+p) + (y+q) mod N and send you the result. This leaks nothing about the sum.
      4. You then compute r - (q+p) mod N to recover the real sum.

      There are two problems with this simple scheme (which is why the real scheme took many years to discover and is quite hard to implement). The first problem is that you do as much work blinding and unblinding the numbers as you would computing the real sum. The second problem is that this scheme leaks some information (can't remember what, it's been quite a while).

      A Somewhat Homomorphic encryption scheme will solve both of these issues for addition (for some value of solve and some value of efficiency), while a Fully Homomorphic will also allow you to perform multiplications in the ring.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    6. Re:How does this voodoo work? by elsurexiste · · Score: 3, Insightful

      That's the point of homomorphic computing: to add two encrypted numbers, you need to take that operation and transform it into another one (let's say, for instance, multiplication) that when performed on two encrypted numbers, it will provide the answer, also encrypted.

      This is not new. IBM has already done this. The problem is not homomorphic computing, which is easy to accomplish; having HC performed in reasonable time with a strong encryption scheme is...

      --
      I rarely respond to comments. Also, don't ask for clarifications: a brain and Google are faster, believe me!
    7. Re:How does this voodoo work? by Threni · · Score: 1

      Isn't there a risk that attackers will also be able to process the data whilst it's encrypted, though. Aren't you just removing the requirement for the data to be decrypted first? How does that make anything more secure? The overhead is what makes it secure - I'd have thought that you'd consider the ability to do this as proof that you need to reconsider your encryption system.

    8. Re:How does this voodoo work? by thedonger · · Score: 2

      So let's get this straight... You take a bunch of encrypted numbers, never ever decrypt them but somehow still add them together to get the right encrypted answer.

      WTF???

      No details in TFA but HOW does this voodoo work?

      More importantly, when will we get lazy enough that the encrypted version of our medical stats becomes commonplace? E.g.,
      "Hey, what's your cholesterol?"
      "9E024B9D7G129F8A7D084HF0241746GAE98364FA9295HA82754834H9328747FA 8907A089F004375G73649E746D92850F872892B398D93095738A74674F943834B3."

      --
      Help fight poverty: Punch a poor person.
    9. Re:How does this voodoo work? by Anonymous Coward · · Score: 0

      lol, what? That would be a table of size 2^1024 * 2^1024 = 2^2048, almost a hundred googols.

    10. Re:How does this voodoo work? by mattpalmer1086 · · Score: 1

      The whole point is that, without the decryption key, you don't know what the result of any processing is. Even were an attacker be able to process the data in some way, they would not know what the result meant. Remember that encryption only deals with confidentiality, not integrity. If you want to be sure that an attacker has not processed the data in some way, you would need to add integrity protection of some sort to your data in addition.

      Anyway, since you don't have to decrypt the data first in order to perform operations on it, you can do most of your processing without ever having the data in the clear. Only when you want to learn a result do you need to decrypt. I'm really not sure why you don't see the potential security benefits of such a scheme. The overhead has no bearing on the security, other than its slowness preventing it from being used in the first place.

    11. Re:How does this voodoo work? by PopeRatzo · · Score: 3, Insightful

      Basically, you have a crap cryptosystem that lets you do it - nobody's yet figured out how to do this without possibly compromising the encryption and you have to start all your maths from scratch - which in encryption security terms is a bit of a nightmare

      Aren't you the guy who complained that the Wright Brothers were crap because they still needed an airplane to fly? Or that Watson and Crick weren't shit because they didn't cure baldness?

      Jaysus man, give 'em a break. That's why they call it "research" and not "products ready for the marketplace".

      --
      You are welcome on my lawn.
    12. Re:How does this voodoo work? by Eivind · · Score: 3, Insightful

      It's not voodoo, but math.

      Trivial example ? The xor-function. If you encrypt two different numbers with certain (weak, but this is a trivial example!) cryptosystems, then run xor on the encrypted numbers, you get the same answer as you would've if you'd run xor on the original number.

      Yeah, that example is indeed *trivial*, but the real examples are math-heavy.

      I'm not convinced that practical applications exist though. Most heavy lifting on numbers involve large sets of numbers that are connected somehow. Encrypting those numbers is insufficient to anonymize the data, because the connections themselves give away information.

      For example, given a network-graph of Facebook with every single column encrypted, but the connections still visible, and you'd be able to find out which record corresponds to which person.

      How many users on facebook have precisely 19871 friends ? How many of those 19871 friends have *precisely* 561 friends ? Basically, even the connections themselves, contain enough information to recognize someone.

      It's most trivial for those with many friends, but even for those with a handful, it should be very well doable.

      How large a fraction of Facebooks users have *precisely* 7 friends, and those friends again have *precisely* 173, 40, 3, 19, 21 and 4563 friends ? And if that's not enough to nail someone, you can go one step further. Pretty soon it's obvious that the anonymous graph can be mapped onto the non-anonymous one in only precisely *one* way.

      I think the same problem is likely for any actually interesting dataset.

    13. Re:How does this voodoo work? by FhnuZoag · · Score: 2
      "Now, why both + and * ? Well, these operators alone can, when composed together, give any other function."

      Eh. Any smooth function, maybe.

      But 'any function' seems pretty contradictory. If you can apply functions like 'is this number >1, return 1 if yes, 0 if no' you'd be able to find out what the answer is pretty quickly without decrypting it. Actually, really, isn't homomorphic computer inherently contradictory this way?

    14. Re:How does this voodoo work? by maxwell+demon · · Score: 2

      But you could run tests. For example, assume that the only operations you have are addition, subtraction, multiplication and comparison operators. You start by determining the encrypted values for true and false, by choosing a random encrypted number (you have no idea what it is, but you know it's an encrypted number) and comparing it to itself. Testing for equality gives the encrypted value for true and testing for inequality gives the encrypted value for false. Next, you determine the encrypted value for zero (assuming zero and false might have different encrypted representations) by simply subtracting that encrypted number from itself. Given that the list above doesn't include division, getting at the 1 is harder. However you can easily compare a number against 1 by simply comparing it against with its square (you actually have to test first whether it's positive, but that's easy -- you already have the representations of 0, true and false, and the comparison operators are provided). If you manage to find a number that's smaller than one, you can repeatedly double it until you get something larger than one (or equal to one, if you are very lucky). Note that doubling means just adding the number to itself (no representation of 2 required). As soon as you get to a number larger than 1 this way, you can do nested intervals to find the 1. Now you have 0, 1 and a number between 0.5 and 1, and that is enough to determine the value of any encrypted number sent to the network.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    15. Re:How does this voodoo work? by vlm · · Score: 1

      lol, what? That would be a table of size 2^1024 * 2^1024 = 2^2048, almost a hundred googols.

      Sparse table. Almost like a one time pad, except probably not as good.

      Imagine salting each digit with a 16 bit number... that table size is somewhat more reasonable.

      Now a 16 bit salt means fundamentally you're only got 16 bit security, sorta, but...

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    16. Re:How does this voodoo work? by mattpalmer1086 · · Score: 1

      I don't think homomorphic encryption provides values for true and false or provides comparison operators - only one operation (e.g. addition) or two operations (e.g. addition & multiplication over a ring).

      I do like the idea of arriving at known values through some basic arithmetic though - I'm just not sure the operations provided permit this.

    17. Re:How does this voodoo work? by Anonymous Coward · · Score: 0

      Pretty soon it's obvious that the anonymous graph can be mapped onto the non-anonymous one in only precisely *one* way. I think the same problem is likely for any actually interesting dataset.

      "We call it Eivind's Axiom. Nobody really knows why. All we know is that it works, and you're under arrest."

    18. Re:How does this voodoo work? by maxwell+demon · · Score: 1

      Well, for n-bit integers using standard two's complement addition throwing away overflow (i.e. calculating mod 2^n, the standard way modern computers hndle it), it is possible to recover zero using only addition: Take an arbitrary number. Add to itself; this multiplies by 2, thus shifts it one bit left, the lowest bit is zero. Repeat n times, now all bits are zero.

      As soon as you know zero, you can easily test the lowest bit of any given number: Double it n-1 times; if the result is zero (which you know), the bit was zero. If it was non-zero, that bit was one.

      Furthermore, as soon as you found a single odd number, you additionally know the representation of INT_MIN (sign bit 1, all other bits 0) for signed resp. 2^(n-1) for unsigned values.

      Now you are ready to discover bit 1. Shift a number left (i.e. double it) n-2 times. Now the two most significant bits contain the previously two least significant ones. Two of the possible values you already know (from now on, for simplicity I'll assume unsigned numbers): 0 and 2^(n-1). For the other two, you can have one of two yet unknown encrypted values, corresponding to 01 and 11. So you now know how to distinguish 0 and 1 for the next-to-last bit, although for odd numbers you don't know yet which is which if the last bit is 1. However, if you have multiplication in addition to addition, you can use the fact that multiplying an odd number with itself always gives a number ending in 01. That is, if you have addition and multiplication, you can also discover the next to last bit.

      I'd not be surprised if that scheme could be extended to discover all bits of an unknown number (note that with addition and multiplication you can calculate an arbitrary polynomial with zero constant term of a given integer).

      --
      The Tao of math: The numbers you can count are not the real numbers.
    19. Re:How does this voodoo work? by Anonymous Coward · · Score: 0

      PopeRatzo - by definition, a cryptosystem that allows you to determine something about the plain text is crap. If you can perform a function on the encrypted data and get a correct encrypted answer, and you know the algorithm, you can run a birthday attack against the function until you match the encrypted data & encrypted answer to plaintext data and a plaintext answer.

    20. Re:How does this voodoo work? by Anonymous Coward · · Score: 0

      Here comes a big ole guess: seems that basically encryption is based on abstract algebra: the elements of a set P (plain text) are mapped to the elements another set C (cipher text) in such a way that the reverse mapping is very hard to figure out (unless of course you have the key). h(P) = C. Fine. h'(C) = P.... not so fine.

      However that reverse mapping (function) does exist.... but it is not so straight forward. Usually it is based on an intractable to solve math problem (elliptical curve fit or factoring primes). Easy to do... just requires years of brute force.

      Hmm now that I think about it, the mapping should not be a bijection, or an injection. Damn, I am already lost.

      Well, I am no crypto geek and Abstract Algebra was a long time ago, but it seems to me that the set P along with the crypto function is a group (perhaps a ring, but what is the other operation?). There must be and operator % such that c1%c2 == h( p1%p2 ).

      However it seems to me that if such an operator existed, the cipher would be very easy to break (if you could find the operator).

    21. Re:How does this voodoo work? by Anonymous Coward · · Score: 0

      I would think that the knowledge of N is the problem you speak of.

    22. Re:How does this voodoo work? by rubycodez · · Score: 1

      If they didn't do it 25 years ago it was only because no one could have been bothered; it could have been done in 2- 20 seconds then

    23. Re:How does this voodoo work? by ledow · · Score: 1

      Research is all well and good, but this is a press release that basically say "we're nearly able to let you buy this", which means more scrutiny.

      And my general point, in the line you quoted, is that you don't trust any form of encryption whatsoever until it's been under attack for several years by experienced cryptographers. And even then, it won't last the decade.

      So claiming that you can do work on fully encrypted data safely is nothing more than a pipedream until you put out a product, and have it attacked for about a decade. Any claim of "security" before that is worthless and actually works against you (literally - the more someone insists something is "secure" before it's tested properly, the more chance it will be broken, and vice versa).

      If this is research, where's the peer review? If this is a product, where's the testing by established cryptographers? If this is merely an idea, where's the document that lists potential weaknesses and exploits? The fact is, they are pushing it as a done deal - they've "achieved" this. Until dozens of people can replicate this and confirm it, it is neither computer science, nor a practical product. It is, in fact, a Microsoft claim to have a secure product. Which is worth about as much as a car salesman's promise.

    24. Re:How does this voodoo work? by Yamioni · · Score: 1

      A lot of this was my first thought when I read this. Math is surprisingly magical when it comes to predicting the outcome of a basic two operand operation. Given that a small amount of tinkering could provide you with the encrypted representations of known values it becomes trivial to slowly expand your dictionary and eventually reverse engineer that dictionary to discover the key for the entire data set.

      Sounds to me like Microsoft has a long way to go before this is even close to being ready for the wild. Hell, the basic concept alone sounds broken from square one.

      --
      Cool post bro, highfive \o
    25. Re:How does this voodoo work? by Anonymous Coward · · Score: 0

      All these encryptions are *randomized*, and that is inherent for security. Here is why:

      Assume I gave you an encryption of any one of three possible messages (for example, "home", "work" or "play") -- I'll call this the ciphertext. For this encryption to be secure, an attacker shouldn't be able to figure out, given the ciphertext, which of the three messages it encrypts (even if he knows it is actually one of three possibilities -- "home", "work" or "play"!) Sounds impossible, doesn't it? In fact, it is easy to figure out which message is encrypted *if the encryption method is deterministic*. The attack then is exactly what you said, namely,

      1. encrypt "home", check if it's equal to the ciphertext at hand. If they are equal, output "home"

      2. encrypt "work", check if it's equal to the ciphertext at hand. If they are equal, output "work"

      3. encrypt "play", check if it's equal to the ciphertext at hand. If they are equal, output "play"

      In other words, to be secure, encryption schemes have to be randomized. Simple insight, but quite amazing, and this is in fact one of the starting points of modern cryptography. Look at the 1982 paper of Shafi Goldwasser and Silvio Micali, where they introduce the notion of "probabilistic encryption" [ see http://en.wikipedia.org/wiki/Probabilistic_encryption ]

      The idea, in a nutshell, is that there are many (exponentially many) possible ciphertexts corresponding to "home" (and "work" and "play"). When you want to encrypt "home", you choose one of these exponentially many ciphertexts at random. Now, to do the same attack as above, you have to compare the ciphertext at hand with all exponentially many possible ciphertexts of each possible message, which is computationally infeasible (takes a hell of a lot of time). This is why the scheme is secure.

    26. Re:How does this voodoo work? by Anonymous Coward · · Score: 0

      The press release never says that there is a product ready to ship. To quote a sample sentence, "Researchers at Microsoft have taken a step toward ..." (this is the nature of the entire article as I see it, namely cautious optimism that this technology can be practical)

      As for security, that's the easy part. All this research has been peer-reviewed, published in top cryptography conferences and vetted by experts. Agreed that this is a 2-year old technology, basically, which means it needs a lot more scrutiny. Being in the crypto research field, I can tell you that more people are poring over this than most anything else.

    27. Re:How does this voodoo work? by maxwell+demon · · Score: 1

      Note that my suggested attack does nowhere assume that I'm encrypting a number myself. I'm taking encrypted numbers (whoever uses the service will submit such numbers), and do all my calculations with them. If all numbers used within a single calculation have the same random key (which I expect to be necessary in order to combine them without decoding), I'll likely find the two(!) numbers I need.

      Of course the decrypted results will tell me nothing about the encoding used for the next submitted calculation. But that only means that I'll have to repeat the attack for each calculation separately. If I know that in this calculation, 0 is encoded by 0x12345678, it likely won't be in the next calculation. However, it doesn't need to be, I'll just take a number from the next calculation and subtract it from itself to get the new representation of zero.

      --
      The Tao of math: The numbers you can count are not the real numbers.
  4. What the hell is wrong with me?! by lostsoulz · · Score: 0

    Did anyone else read the headline as "Microsoft Says Homophobic Computing Is Practical" ..?

    1. Re:What the hell is wrong with me?! by vlm · · Score: 2

      Did anyone else read the headline as "Microsoft Says Homophobic Computing Is Practical" ..?

      Nah I saw it as "homeopathic" which given the MS/PC rep, seemed quite believable.

      Homeopathic computing is basically buying a new bloatware stuffed PC, and discovering that the more you dilute the hard drive by deleting bloatware, the better the PC runs. Needless to say, I stick to Debian or macs to avoid the bloat.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  5. Georgia School by MyLongNickName · · Score: 1, Funny

    Georgia Schools voted to not allow teachers to include this in their Computer Science programs.

    --
    See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    1. Re:Georgia School by gweihir · · Score: 1

      Georgia Schools voted to not allow teachers to include this in their Computer Science programs.

      Homomorphic computation has maybe a place in a selected crypto topics lecture for grad students. Even there it is questionable. This stuff does is not practical beyond toy examples. And it has been known for > 20 years.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    2. Re:Georgia School by MightyYar · · Score: 1, Funny

      It was banned in the same bill that mandated intelligent computation.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    3. Re:Georgia School by jpapon · · Score: 1

      Woosh!

      --
      -- Let us endeavor so to live that when we pass even the undertaker shall be sorry. -- M. Twain
    4. Re:Georgia School by vlm · · Score: 2

      You're confusing this with homeopathic computing, where the more you "dilute" the hard drive of a new PC by removing bloatware, the more effective the PC becomes.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  6. Yes, but there are to few "certain functions" by gweihir · · Score: 0

    Some functions have worked for ages and efficiently. However they are not enough except for a few demo cases. I expect that is exactly the same here. And if you need more than the simplistic demo cases, you are straight out of luck. For example, multiplication has been infeasible so far and you cannot simulate it. As far as I remember, relative comparison does not work either.

    To sum up: This is a publicity stunt. Once again.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:Yes, but there are to few "certain functions" by plover · · Score: 1

      It's still an interesting concept, and while not of widespread utility, it could be valuable in certain applications.

      Perhaps there is some accounting, banking, auction, or currency escrow function, where you want some untrusted party to deposit funds into an account, but not be able to access the balance. Or voting, where you want to see proof that your vote was tallied without revealing who you voted for.

      Sure, these are probably the "simplistic demo" cases you were mentioning, but there could be a real class of problems that nobody's yet identified. That's kind of the thing with research like this. Novel things are created, then knock around for a bit until someone figures out that they solve their problem. Or not.

      --
      John
    2. Re:Yes, but there are to few "certain functions" by Anonymous Coward · · Score: 0

      If you use RSA then multiplication is easy. It's addition that becomes hard then.

    3. Re:Yes, but there are to few "certain functions" by Anonymous Coward · · Score: 0

      Indeed. If you read the paper, the encryption scheme allows calculating a mean, calculating a standard deviation and logistical regression. It notably does not allow calculating division or square roots. Microsoft Research (pet peeve, I wish people would stop attributing this to Microsoft, as if Microsoft and Microsoft Research had much of anything to do with one another) have picked what they thought were key domains (medical applications, financial applications and advertising and pricing) and tailored the encryption scheme specifically to those applications. It's not a general-purpose computational framework but it certainly offers more than just a few demo cases.

  7. Zen moment by equex · · Score: 1

    I thought it said "Microsoft Demonstrated Homophobic Computing'.

    --
    Can I light a sig ?
    1. Re:Zen moment by Anonymous Coward · · Score: 0

      I thought it said "Homeopathic" at first myself.

  8. Homomorphic encryption... by shic · · Score: 1

    From the "Homomorphic Encryption" page linked from the article:
    "Only in 2009 did Craig Gentry of IBM publish a mathematical proof showing fully homomorphic encryption was possible."

    In the past (in a very hand-wavy kind of way) I've argued that it should be possible to "prove" that homomorphic encryption isn't feasible... because, in order to implement multiplication and addition of integers, I need a total-ordering over my data... and if I have a total ordering, my data is (effectively) decrypted. This, of course, doesn't preclude obfuscation and scrambling - but I (used to) believe strong homomorphic encryption was not worth investigation.

    Does anyone have a reference to this proof? Has anyone read it? Can anyone summarise what Gentry concludes?

    1. Re:Homomorphic encryption... by Eivind · · Score: 2

      Indeed. I never quite got that part either.

      x + x = y
      x * x = y

      Implies that x is 2 and y is 4. It doesn't matter how the numbers are encrypted, if those are the inputs and those are the outputs, then that's what they by mathemathical nessecity -must- mean.

      Do more math, and every one gives you a new equation, pretty soon you can solve for any unknown.

      What am I missing ?

      Does homomorphic computation make special assumption such as the operations must all be mod N or something of that nature ?

    2. Re:Homomorphic encryption... by CAPSLOCK2000 · · Score: 1

      This only works for a limited number of variables and equations. If it works there may be many solutions.
      It doesn't even work for your example:

      0 + 0 = 0
      0 * 0 = 0

      If the number of equations growth it quickly becomes infeasible to solve it, especially if the formulas are a bit more complicated (e.g. non-linear).

    3. Re:Homomorphic encryption... by mwvdlee · · Score: 1

      Or both x and y are 0.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    4. Re:Homomorphic encryption... by Scumbumbo · · Score: 3, Insightful

      You're assuming that the encryption is one-to-one, which is not necessarily true. For instance, it could be that x+x yields y and x*x yields z, but either y or z decrypts as 4.

    5. Re:Homomorphic encryption... by Anonymous Coward · · Score: 0

      Or x = 3 and y = 1.5

    6. Re:Homomorphic encryption... by Anonymous Coward · · Score: 0

      Except for everything already mentioned (encryption is not 1-to-1, there are too many equations if you want to actually get anything - it's the equivalent of encrypting all possible inputs to check what they are), also all operations are of course taken mod N. This is not a fact of encryption, it's a fact of computer science (not exactly, but close). Operations are usually mod 2^32 or 2^64 on integer values, floating points operations are more complicated, but they are also done on some finite space.

    7. Re:Homomorphic encryption... by Eivind · · Score: 1

      Guilty as charged !

      Nevertheless, if the encryption isn't one-to-one, then by nessecity, encrypting the input must expand it. For example, if you want to encode 256 possible integers in a single byte, then your encoding MUST be one-to-one.

      And the higher the possible count, the larger the expansion. If you want each of your integers to map to one of 256 possible encrypted values, you've now doubled the size of your cleartext to get your ciphertext.

      Not that that's nessecarily a deal-killer, but it doesn't sound like something conductive to good performance.

  9. Re:Microsoft? by Anonymous Coward · · Score: 1

    Not exactly the company I'm going to take my security advice from.

    Nobody is giving you advice in this article--security related or otherwise. Plus, you do realize that people like Ron Rivest of MIT, and his proteges, like Susan Hohenberger work with Microsoft--the latter being a research fellow for MSFT? Oh, no, you probably don't.

  10. I hope no one believes this makes it more secure by erroneus · · Score: 3, Informative

    The problem isn't potential leaks in data by sniffing the machine's data as it flows, it's invariably the machine's data as it's stored... especially on flash drives at a bar.

    Any encryption weak enough to be processed with any amount of reasonable execution time would also be weak enough to be cracked within reasonable execution time.

    I find it amazing that people continue to seek out technological solutions to problems that are not generally technological. The real holes are the people and the stupid things they do. Those holes are the ones that most often get exploited and the ones that are not being closed effectively.

    I just have to shake my head and wonder why... I have a company executive where I work who maintains more than 200GB of email history on his laptop. It's frikken ridiculous. It's against company policy but no one will call him out on it. So you want to see where the REAL holes in security lie? Look no further than a company's leadership.

  11. I think this is shameful by bigsexyjoe · · Score: 3, Funny

    The father of Computer Science, Alan Turing, was gay. And now people actually want to engage in homophobic computing? I find this kind of hatred shameful.

    1. Re:I think this is shameful by Anonymous Coward · · Score: 0

      Haha, good to see I wasn't the only one that misread the title as such.

    2. Re:I think this is shameful by Anonymous Coward · · Score: 0

      Would Alan be impressed by a computer passing the Turing test, even if the result was a bigot?

    3. Re:I think this is shameful by Anonymous Coward · · Score: 0

      I, for one, thought it said "Homoerotic Computing". Guess I'll break out the joystick for this one...

    4. Re:I think this is shameful by Anonymous Coward · · Score: 0

      it must be the people who can't do recursion

    5. Re:I think this is shameful by Anonymous Coward · · Score: 0

      no, homomorphic, it ... turns you gay?

    6. Re:I think this is shameful by Anonymous Coward · · Score: 0

      No, it's homomorphic, they want to turn all of us gay.

  12. disgusting by frovingslosh · · Score: 1

    Disgusting. I'll stick with heteromorphic computing. Sure looks like another scam to try to get you to put data that you should be keeping secure into the "cloud" bullshit. Use an OS that doesn't squander all of the computing power of the computer on the OS and there will be no need to put the data into someone else's hands.

    --
    I'm an American. I love this country and the freedoms that we used to have.
    1. Re:disgusting by Anonymous Coward · · Score: 0

      Disgusting. I'll stick with heteromorphic computing. Sure looks like another scam to try to get you to put data that you should be keeping secure into the "cloud" bullshit. Use an OS that doesn't squander all of the computing power of the computer on the OS and there will be no need to put the data into someone else's hands.

      No kidding, ..... Homo computing is here.... bend over

  13. Re:Microsoft? by geekmux · · Score: 0

    Blind Microsoft hate is sooooo 2001.

    Yeah. And in the meantime, Microsoft security attacks are sooooo 2011.

    Don't sit here and bathe in ignorance thinking the OP isn't justified in his comments here. He's certainly not the only one seeing the irony of Microsoft being involved in this, casting questionable doubt as to the overall integrity of this solution.

  14. Re:Microsoft? by improfane · · Score: 3, Insightful

    You're questioning the validity of academic research based on the transgressions of a company?

    If it's research, who cares where it comes from if it is valid? Do you really think Microsoft software engineers and the researchers are the same pople?

    --
    Slashdot needs Geekcode | Can anyone recommend any good SCIFI? My tastes: Foundation, Startide Rising, CITY, Ringworld,
  15. stocks will rise by hesaigo999ca · · Score: 1

    If i only has some money to invest, stocks will be going up for the next year because of this tech.

  16. Re:I hope no one believes this makes it more secur by cavreader · · Score: 1

    The thing is getting rid of the stupid people doing stupid things is impossible so you are left with trying to limit the amount of damage with technology.

  17. Re:I hope no one believes this makes it more secur by vlm · · Score: 1

    Good, but, I think the main application will be DRM not data protection.

    You get to checkmark "security" and checkmark "encryption" for the PHBs at sales meetings. Also the PHBs think "stronger" encryption helps, because they don't understand how the internet works (as soon as one person in the world breaks it / leaks it / steals it, its as if the whole world knows)

    Its easy for R+D to test, just call a function name "drm_add_two_nums(a,b)" where before the testing servers are implemented, that function simply returns a+b. This also makes it easy to hack later on, just replace the baroque crypto subroutine with the testing subroutine that simply returns the sum.

    Maybe you can convince the legal system that breaking an encrypted DRM system is somehow more heinous of a crime than murder, or at least worse than breaking an unencrypted DRM scheme.

    You can't patent addition itself (well, actually, you can) ... But you could patent a ridiculously complicated and inefficient way to implement addition. So its useful in patent wars, both offensively as a brick to hit others over the head with, and defensively as a way out to re-implement tired old DRM systems, now "all new", and also avoid patents and licensing fees on existing crazy patents involving addition.

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  18. Re:Microsoft? by tessellated · · Score: 1

    Just beeing cautious, after all they've got the same signature on their paychecks.

    But GP may be right, it's probably just my backdoor paranoia...

    --
    'When the Going gets Weird, the Weird turn Pro.' - Hunter S. Thompson
  19. Massively Distributed Cloud Computing by bill_mcgonigle · · Score: 1

    This is the tech that will make massively distributed cloud computing possible. I did a startup about 5 years ago that involved home computing devices that were paid for by the distributed computing that ran on them. Among the things that made it unsuccessful was that we knew we needed this kind of technology but didn't have the resources to develop it.

    Microsoft and others have previously proposed domestic heating with distributed computing, and once this kind of data protection becomes possible it will be a really enticing option. The computing user will submit jobs to a broker, who will distribute the jobs to the 'cloud'. The data will be crunched on these distributed units, and then returned to the broker, and to the user (sufficient mapping rules can cut out the middle man of the data transfer, just signed control packets need to run that way).

    Probably you'll have the option to get a free hot water heater (provided by the computing company) and your electric bill to run it will be lower than your current domestic hot water heater. You save money, the user saves money, the middle man makes money, the planet is warmed less. We need IPv6 and FTTH to make it very feasible, but those things should show up this decade.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    1. Re:Massively Distributed Cloud Computing by nedlohs · · Score: 2

      I did a startup about 5 years ago that involved home computing devices that were paid for by the distributed computing that ran on them. Among the things that made it unsuccessful was that we knew we needed this kind of technology but didn't have the resources to develop it.

      That's an understatement. This is cutting edge cryptography. IBM and Microsoft didn't have the resources to develop this 5 years ago.

    2. Re:Massively Distributed Cloud Computing by bill_mcgonigle · · Score: 1

      True that. I've been following the research since then - last year there was a breakthrough academic paper. Perhaps if that had existed we could have reduced it to practice. Lack of funding was also a small problem. ;)

      At this point I've got young kids and will be happy to see somebody else get it to market. I'll get back in the game once they're older.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  20. Re:I Don't Like The Sound Of This by geminidomino · · Score: 1

    And this is what happens when people learn Greek from afternoon sentai shows...

  21. Re:HOMO by PopeRatzo · · Score: 1

    sorry just trying to sound out how to pronounce it.

    I bet you know very well how to pronounce it.

    After all, you've been hearing the word since the third grade.

    --
    You are welcome on my lawn.
  22. The point being... by Junta · · Score: 1

    This brings us back to:

    Okay, but statistical analysis like that isn't particularly computationally-intensive.

    You might as well decrypt the data on the client device and calculate it there. Even javascript execution of the associated arithmetic on a 3-year old iphone is going to be sufficient for the given use cases. The volume of data to transfer all the data versus just the results could be interesting in some problems, but in general I just think the horrible inefficiency and inherent limitations make this an academic-only exercise at this point.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  23. Re:I Don't Like The Sound Of This by maxwell+demon · · Score: 2

    Homomorphic? Let's break that down, shall we?

    Ok.

    Homo = Manly

    No. This is the Greek "homo", meaning "same" (which BTW also is the "homo" appearing in "homosexual": same sex). But even the Latin "homo" doesn't mean "man" in the sense of "man/woman", but in the sense of "human being", used e.g. in "homo sapiens" (which actually means "wise human" -- whoever gave our species that name must have had a very strange humour).

    Morphic = Changing

    Right.

    Homomorphic computing is going to change our manliness - it's going to be like getting married.

    No, homomorphic means "changing the same way". It's going to be like mass hysteria.

    --
    The Tao of math: The numbers you can count are not the real numbers.
  24. Re:Microsoft? by geekmux · · Score: 1

    You're questioning the validity of academic research based on the transgressions of a company?

    If it's research, who cares where it comes from if it is valid? Do you really think Microsoft software engineers and the researchers are the same pople?

    No, I do not question the validity of academic research, when done properly. What concerns me is when anyone hands over their research to a company that is as deeply embedded in our culture (read Government) as Microsoft is, and they are tasked with taking said research and developing a product sans any questions of integrity, especially when addressing a solution involving encryption for the implied purpose of securing sensitive data in a cloud infrastructure design.

    Let's just say Microsoft would likely be slightly more influenced than other companies to create master keys or a backdoor, at the request (read demand) of certain very large customers.

  25. Re:Microsoft? by geekmux · · Score: 0

    Don't sit here and bathe in ignorance thinking the OP isn't justified in his comments here. He's certainly not the only one seeing the irony of Microsoft being involved in this, casting questionable doubt as to the overall integrity of this solution.

    Just a hint: "Bathe in ignorance" is one of those highfalutin' phrases that ends up making you sound stupid. Not that your original comment didn't do that well enough, but "bathe in ignorance" removed all doubt.

    And your tenacity to attack a particular phrase that has little to do with my overall point of my post says what about the depth of your ability? If you wish for me to be a bit more guttural here to appease the lowbrow masses, I certainly can be. Given the fact that Microsoft has the US Government as one of their largest customers, there ain't no way in fuckin' hell I'm gonna trust those asshats to create a encryption solution, especially for the purposes of securing sensitive data in a cloud infrastructure design, without questioning where the back door or master key is. It's pretty much a given.

    There, that better for ya?

  26. Doesn't seem secure... by GargamelSpaceman · · Score: 1

    After a quick look at the wikipedia entries for Homomorphism and Homomorphic Encryption, this scheme seems roughly equivalent to other homomorphisms such as ROT-13.

    If you know the algebraic structure ( which you might guess looking at the encrypted data ) then you can use statistics about data pertaining to that structure to tell what encrypted value corresponds to what real value. ( similarly to how you can tell which letter is E if you 'encrypt' by letter substitution eg:

    ABCDEFGHIJKLMNOPQRSTUVWXYZ ->
    HLGVDAQZMIKWTYENBJUXPCSFOR

    This is the way we encrypt the sentence ->
    XZMU MU XZD SHO SD DYGJONX XZD UDYXDYGD

    Maybe I misunderstood something but this is what it seems like at first glance.

    --
    ...
    1. Re:Doesn't seem secure... by Chriscypher · · Score: 0

      I am just hoping that Homoerotic Encryption doesn't catch on.

      --
      "You have liberated me from thought."
    2. Re:Doesn't seem secure... by Anonymous Coward · · Score: 0

      You misunderstood something.

    3. Re:Doesn't seem secure... by Anonymous Coward · · Score: 0

      The encryption is difficult to reverse - eg. finding a multiplicative order of the integers mod N is not easy. It's called homomorphic because the encryption allows a "work" function that will produce the same answer whether you apply it to encrypted input, or you apply it to decrypted input and encrypt the result.

    4. Re:Doesn't seem secure... by Anonymous Coward · · Score: 0

      That's a pretty terrible summary, and I'm pretty impressed you have the gall to call this "insecure" when you admit you had a "quick look". The author of the paper is far smarter than you are.

      "Gentry based the security of his scheme on the assumed hardness of two problems: certain worst-case problems over ideal lattices, and the sparse (or low-weight) subset sum problem." Are you suggesting something is wrong with that?

    5. Re:Doesn't seem secure... by GargamelSpaceman · · Score: 1

      Gall? No gall required. I merely stated what my understanding was given what I read. I wasn't claiming anything ( I even admitted to taking only a quick look, and having likely misunderstood something ). I do this ALL the time and will continue to, that is state my current (likely flawed) understanding of something hoping for someone smarter than me to correct me, and hopefully clarify things.

      --
      ...
    6. Re:Doesn't seem secure... by GargamelSpaceman · · Score: 1

      I guess what I am not clear about is:

      We want the cloud to compute f( a, b, c ) for us without it knowing what a, b, and c are.

      Is this scheme like

      A) f( enc(a), enc(b), enc(c) ) = enc( f( a, b, c ) )

      or is it

      B) f( enc( a, b, c ) ) = enc( f( a, b, c) )

      ?

      I am not questioning the secureness of enc(). But if you send 'the cloud'

      enc('h'),enc('e'),enc('l'),enc('l'),enc('o') and it returns enc( f( 'h', 'e', 'l', 'l', 'o' ) ) and you decrypt it to get the result 'goodbye', then because 'the cloud' knows the messages are english, pretty soon it can deduce that enc( 'h' ) corresponds to 'h' etc.

      Or is enc( 'h', 'e', 'l', 'l', 'o' ) sent which would be opaque. Although if you know it's encrypted english you still might guess that enc( 'h', 'e', 'l', 'l', 'o' ) corresponded to the word 'hello' after receiving it a few times.

         

      --
      ...
  27. Re:Microsoft? by AJH16 · · Score: 5, Informative

    This is Microsoft Research we are talking about. They are probably one of the best computational research centers around. I'd trust their security research quite a bit. These are the same people that made a managed code kernel with a native code compiler for .Net just to study how to make OSes in a different, more secure way. It actually did a lot of process isolation in a similar way to how Android does it, but actually predated Android development. As far as I know, that project is still ongoing (it's called Singularity if you are interested and it is quite interesting imho.)

    They have many other very innovative and ground breaking research credits to their name, but as other people have mentioned, they are unfortunately more think tank than product development so a lot of times what they come up with isn't really used, at least not by Microsoft. (Note they were also doing multi-touch interaction with their "Surface" research a long time ago too. Some of that actually appears to be getting worked in to Windows 8.)

    --
    AJ Henderson
  28. Re:I hope no one believes this makes it more secur by Anonymous Coward · · Score: 0

    If I give you encrypted data to process and I don't give you the key, then you can't leak the key to someone else or run away with my data. My data cannot be stored unencrypted on a flash drive at a bar by you, because you can't decrypt it as you don't have the key. So even if you do stupid things and you've got my data, my data isn't at risk because it's encrypted. This technology fixes some of the stupid things people do. Making it fast enough is a research problem that's being worked on. If attackers are targeting people because technology is too hard (which isn't always true btw), then we should replace people by technology as much as possible since, by your own reasoning, that removes some of the weak elements. My car may have a risk of killing me even if we install safety features, but the safety features still help.

  29. Re:I hope no one believes this makes it more secur by locofungus · · Score: 1

    I haven't read TFA but I don't think that's the idea here.

    You have spare computer processing going that I'm prepared to pay for.

    I have a dataset 'x' and an algorithm 'A' I want to run on it. I want A(x) but I don't want to give you x.

    What I can do (in theory) is encrypt the data to give me E(x), then give that to you where you run A'(E(x)). I then run D(A'(E(x))) and I get back to A(x) that I wanted all along.

    The problems are finding secure E such that A' and D can easily be derived from A and, usually, you want E and D to be cheap calculations in comparison with A' or A.

    Tim.

    --
    God said, "div D = rho, div B = 0, curl E = -@B/@t, curl H = J + @D/@t," and there was light.
  30. Re:Microsoft? by PopeRatzo · · Score: 1

    Given the fact that Microsoft has the US Government as one of their largest customers, there ain't no way in fuckin' hell I'm gonna trust those asshats to create a encryption solution,

    I hate to break this to you, but you know that money in your pocket? It was printed by the US Government. I suppose that upon learning that fact, you feel inclined to burn the little wad of ones and fives in your wallet and strictly do business using shiny stones as a medium of barter.

    You should stop digging, geekmux. Pretty soon I won't be able to see the top of your head.

    --
    You are welcome on my lawn.
  31. Re:Microsoft? by Anonymous Coward · · Score: 0

    Your backdoor paranoia is entirely justified given your purty face.

  32. Re:Why should I trust this? by Voyager529 · · Score: 2

    We haven't even gotten encryption right yet. Certainly they had to "cut corners" on encryption to make it computationally feasible. When they get this working with 65000 bit encryption (not 256 or 1024) THEN I'll take them seriously. Until that day I can't trust encryption and I won't trust people who claim it is "secure".

    Because the alternative is trusting unencrypted data. None of us are under the delusion that anything, digital or physical, is 100% secure and completely impenetrable. However, properly encrypted data is MORE secure than unencrypted data. Then, there's also the "outrunning the bear" aspect. If you and I both have data sets of equal value to a data thief, mine is encrypted and yours is not, my database doesn't have to be 65,000 bit encrypted in order to be the less desirable target.

  33. Where's the car analogy by Anonymous Coward · · Score: 0

    Seriously, 94 posts and no one has made the requisite car analogy for the rest of us?

  34. Re:I hope no one believes this makes it more secur by Anonymous Coward · · Score: 0

    > Any encryption weak enough to be
    > processed with any amount of
    > reasonable execution time would
    > also be weak enough to be cracked
    > within reasonable execution time.

    This sentence is unprovable until P = NP is proven. If an asymmetric encryption scheme build upon matrix permanent is discovered, your sentence is unprovable until the Polynomial Hierarchy collapses.

  35. DNA by Anonymous Coward · · Score: 0

    Right now DNA is theory based. While the math is correct no one knows if there are unknown variables that influence results and some unknown variables have been identified since the theory was accepted as "fact". There have been some pretty interesting developments in DNA including people with multiple DNA and DNA results that predicted two people were "brothers" but were separated by distance, race and where research showed that the fathers DNA was very similar even though they were of different races. These developments are being used in court to question the accuracy of DNA evidence and there are no actual DNA studies large enough to counter the arguments. Some defense lawyers are claiming the use of DNA as evidence is akin to giving FDA approval for a drug based on chemical analysis and without doing actual drug trials. The FBI has the largest database of DNA information including phenotypes and that database is not accessible for research purposes to prove the theories behind DNA identification because of privacy issues. By creating a process where specific data can be entered into a statistical analysis without endangering the privacy of those involved it may be possible to eliminate the developing mountain of evidence that questions the accuracy of DNA technology. This is a huge deal to law enforcement.

  36. Homomorphic computing? by TheGoodNamesWereGone · · Score: 1, Troll

    Next they'll be wanting computers to get married!

  37. Re:Microsoft? by arth1 · · Score: 1

    I hate to break this to you, but you know that money in your pocket? It was printed by the US Government.

    But the US government doesn't print money. The twelve Federal Reserve Banks do, and they are private.

  38. You solved the NP-Complete problem* by Anonymous Coward · · Score: 0

    *Not really...

    The algorithm you described is a known, at least to me, polynomial attack on a well-known NP-complete problem (Graph Isomorphism). Likelihood of it working on a contrived pair of graphs high. Likelihood of it working on all graphs, next to 0. The simplest class of problems that it is ambiguous on is matching up elements in a 1,000 node 3-regular graph. Everyone has 3 friends, all of them have 3 friends, all of their friends have 3 friends, ad infitum. I say ambiguous and not disproven because the number of distinct friends of friends is not necessarily 6

    1. Re:You solved the NP-Complete problem* by Eivind · · Score: 1

      Offcourse it doesn't work on all graphs. I never claimed it would. I said I consider it likely that it'll work on interesting datasets, and gave one example of a interesting dataset - the social graph of Facebook.

      It'll work on most random graphs too, but not, offcourse, graphs that are regular, such as the one you describe where every node is connected in an identical way. (another trivial example is that it won't work on the fully connected graph)

      Even on a graph like facebooks, it'll not work on all nodes.

      Imagine there's 2 facebook-users who have only one friend: me.

      There'll be no way to tell them apart only by looking at the graph. Similar situations can arise for anyone with few friends, but it gets progressively less likely the larger your network is.

    2. Re:You solved the NP-Complete problem* by Anonymous Coward · · Score: 0

      Actually the algorithm works flawlessly on the fully-connected graph as every possible mapping is a valid isomorphism. ;-P

      It can even be shown that with an n-depth search the algorithm will never produce a false negative. I am not aware of any examples in the literature of a confirmed false positive.

      Agreed, from a social network perspective being isomorphic to another user isn't a proper match.

  39. Re:I hope no one believes this makes it more secur by darkmeridian · · Score: 1

    It probably has to do with cloud computing. Encrypted data can be sent to remote data centers for processing with the encrypted results sent back to the client.

    --
    A NYC lawyer blogs. http://www.chuangblog.com/
  40. Re:Microsoft? by Anonymous Coward · · Score: 0

    Bzzzt!
    The Bureau of Engraving and Printing handles the paper stuff, and the United States Mint produces coinage. Your statement is not entirely incorrect, but for the purposes of this discussion and as written, you are wrong.

    TFP, HAND

  41. OMG by jweller13 · · Score: 1

    OMG Microsoft actually did some basic research and with results to boot!

  42. Interesting results by Anonymous Coward · · Score: 1

    I'm a cryptographer, I saw and understood the talk on this, and it is a very interesting development out of MSR. There's a lot of marketing spin, and this won't do what the marketing department claims, but it's impressive nonetheless.

    Fully homomorphic encryption (FHE) is designed so that you can add and multiply numbers (bits or small integers, anyway) under the encryption -- that is, given an encryption of X and of Y, you can create an encryption of X+Y or XY, and using these operations, you can theoretically run any program on the encrypted data. You can't see the result of the program (it's still encrypted), but you could in theory do useful processing on data without compromising its secrecy. In practice, FHE is still far too slow for general programs, especially since you can't have random access memory under the encryption, but for certain specific programs it could be useful.

    IBM's solution to this problem (the first solution ever, even in theory) is both highly convoluted and extremely slow, at least for multiplication -- I've heard numbers on the order of minutes for a single AND gate. Microsoft's solution is conceptually simpler, and much faster if you only want to multiply a few times, but as you spec it for more sequential multiplications it becomes exponentially more expensive up to some limit. Last I heard, that limit was well into the realm of the impossible ("we didn't actually compute this but it's probably more than 2^100"), so in practice you can only multiply a few times. Theoretically, it's still polynomial time even for general programs, but in practice that polynomial is far too big. IBM's solution, in contrast, starts at the "completely impractical but still possible if you really want to" level and stays there.

    As far as I can tell, Microsoft has gotten around this problem by only adding numbers for their demo. For adding numbers the design is quite efficient, but there are other known solutions that work just as well or better, including classical results (RSA, Diffie Hellman and ECC all support this to some degree, and Pailler encryption supports it better). If there is any practical relevance to this design, it's that it's relatively fast and simple to do lots of additions and a few multiplications, which wasn't possible before.

    It should be pointed out that there are other solutions besides FHE for encrypting on computed data, some of which border on practical. Unlike FHE, though, they require some cooperation from the party that owns the data. FHE is completely offline, so once the data is encrypted and stored, anyone can compute on it (but can't read the results).

    There are several people on this thread saying that such encryption is doomed to be insecure. This is not (known to be) true. Being able to compute on encrypted data doesn't necessarily make the encryption weaker, just less efficient. You can't just "collect statistics" on the ciphertext. The encryption procedure is randomized, which prevents the most obvious attacks (anything based on testing if something is the encryption of zero). The actual algorithms used are structured around well-known and well-studied statistical/AI problems ("learning with errors"), and the parameters are set far beyond the reach of any currently-known approaches to these problems. It might be possible to break the encryption without solving LWE in full generality, but nobody knows how to do that either.

    1. Re:Interesting results by Doc+Ruby · · Score: 1

      When you add and multiply encrypted data, do the different data values have to be encrypted with the same key? Or can this technique combine numbers sourced from different people each with their own encryption key?

      --

      --
      make install -not war

  43. Patents Will Kill It by Doc+Ruby · · Score: 1

    When Microsoft patents this tech, the monopoly the patent grants will kill this fundamental technology. No one else will be able to develop it. MS will not grant any license, because MS wants to own the brand of anything successful. MS will not develop it, because it's too esoteric and will take too long to become a profitable brand.

    There will be no homomorphic computing. An essential component of the rest of the future of the Internet will be dead. Its corpse will be the poster child for the tyranny of monopolies.

    --

    --
    make install -not war

  44. Re:I hope no one believes this makes it more secur by Anonymous Coward · · Score: 0

    I shake my head and wonder at you.
    Homomorphic operations do not require decryption of the data. What research can you point to that demonstrates that encryption schemes used with homomorphic algorithms are ' weak enough to be cracked within reasonable execution time' ?

    Your point about people being security holes is well taken, however.