Live data from Hacker News

Homomorphic encryption

en.wikipedia.org

71–80 of 86 posts

Re: Homomorphic encryption

#71
post #63
post #42

If anyone is interested in playing with Fully Homomorphic Encryption, we (NuCypher YC S16) built NuFHE ( https://github.com/nucypher/nufhe/ ). It's written in Python and has excellent documentation, so you can try building some circuits and playing around with it. It requires a GPU to run, but it's also the fastest implementation of FHE in the world (that I know of). Let me know what you think! :)

Is there some kind of interoperability with other libraries? Or does it support CPU encryption / decryption ? For example, one can expect clouds to have GPUs to perform computations but encryption and decryption are typically done by clients on various devices where portable code is expected.

This is mostly a research library, so we haven't put our limited effort into CPU operations yet, but it's definitely possible if someone wanted to take the time to expose it in the library.

Re: Homomorphic encryption

#72

For a layman like me it sounds really cool, almost like magic. Consider a trivial operation like finding a maximum value in a list. How is that supposed to work on encrypted values while simultaneously providing strong encryption? So something like adding N to everything in the list is not an acceptable encryption.

Just like a Laplace transform maps differential equations into algebraic equations and convolution into multiplication - or Fourier for that matter - it's not so hard to imagine that there are encryption maps (that are hard to invert) but where something like a sum operation becomes a feasible operation in the encrypted domain. A max operation can similarly have an equivalent operation in the encrypted space.

I guess your concern is that the output is "one of the encrypted input" values and hence identified, although not decrypted. Subsequently, all the input values would be fed into the "max" module and their complete order can be determined by the one running the homeomorphic server.

In that case we will need to have an output where all inputs are returned. Perhaps a map with indices and values (all encrypted) as input and as output would be sufficient.

Re: Homomorphic encryption

#73
post #60

Earlier quoted context omitted.

So you want to slice and concatenate strings without you yourself and any other collaborators knowing what the string is? what about hashing each word? you could slice and concat on whitespace boundaries if that's the case. i'm not sure how this helps e2e encrypted collaborative editing though. why not just use asymmetric encryption? what am i missing?

Asymmetric encryption is great, but it means that all rebasing/transforming of edits has to be done client side. Having a homomorphic system would allow us to do some of this work server-side without revealing the documents themselves.

eh, I'm still not getting it. why not have a single or maybe multiple admins that all need to coordinate and decrypt before values can be decrypted for anyone else? upload their subkeys to the server for hashing the words, create shortened aliases for the hashes and then allow you to see them all. then you can do whatever you want with individual words that you want.

did you want to transform within words or something?

Re: Homomorphic encryption

#74
post #33
post #14

Earlier quoted context omitted.

Any political voting system will need a trusted third party to run the voter registration/identity system, so I doubt the lack of practical homomorphic encryption is blocking this. There are other voter-verifiable systems that don't rely on HE for trustworthy counting: https://www.chaum.com/publications/AccessibleVoterVerifiabil... The major problem with online voting is that people can be coerced into voting against…

How does online voting differ from mail voting? The only difference I see, is, the mail is sent via the postal service and the online vote is sent via my personal computer and internet connection. To get around this, the government could issue verified voting tablets that are locked down and use secured connections. Otherwise, people can force me to vote different without the authorities noticing already.

I don't know that there is a difference, and I'm finding the fact that it's becoming more widespread a problem. There could already be a nontrivial number of coerced or paid voters. Voting by mail should be a tiny percentage of the vote, largely consisting of people who are overseas. Instead, we're starting to see a lot of elections decided by mail-ins.

Re: Homomorphic encryption

#75

Earlier quoted context omitted.

Define "verifiable". There are absolutely schemes where I can't verify what my vote was after the fact, but can verify that it was counted.

verify that my vote was counted correctly. i.e. that my vote wasn't changed or fraudelently presented to me.

You can do that with quite a few pen and paper systems today, without being to verify what you voted for after the fact.

Re: Homomorphic encryption

#76

Earlier quoted context omitted.

I don't think that is a major problem, unless I am misunderstanding. Oregon for instance is all vote by mail, outside the watchful eye of any government authority.

What do you mean by "outside the watchful eye of any government authority"? Do you just mean the ballots are filled out at home where a government authority is not looking over my shoulder? Because everything else is controlled by the government. The ballots and booklets are printed by the government (who authorize what can be on the ballot and in the booklet), are mailed by a government agency, are checked by a gove…

If anyone has the ability to confirm your vote, either without you or through you, you can be compelled or paid for it.

Imagine constructing a system that can thwart a abusive, tyrannical father who insists that his wife and children vote for a particular candidate (to make it concrete.) If you can get past him, your voting system passes the first test. Now imagine someone is offering $50 if you vote in a particular way. If there's no way to figure out how someone would claim it, it passes the second test.

The abusive father can literally just fill out all of his family's ballots, and the $50 could be claimed by filling out the ballot in front of the buyer. You could thwart this with allowing multiple votes but only accepting the first, but then the father or buyer could just have the ballots filled out immediately at the first legal moment.

I don't know that it's a thing that can be done without totally private environment around the voter and the record; meaning that the actions of the voter cannot be observed.

Re: Homomorphic encryption

#77

If this interests you, a related concept with similar applications as HE is functional encryption: https://en.m.wikipedia.org/wiki/Functional_encryption

Here is a descent looking Haskell library that implements functional encryption concepts https://github.com/cpeikert/Lol

Re: Homomorphic encryption

#78

Earlier quoted context omitted.

What do you mean by "outside the watchful eye of any government authority"? Do you just mean the ballots are filled out at home where a government authority is not looking over my shoulder? Because everything else is controlled by the government. The ballots and booklets are printed by the government (who authorize what can be on the ballot and in the booklet), are mailed by a government agency, are checked by a gove…

If anyone has the ability to confirm your vote, either without you or through you, you can be compelled or paid for it. Imagine constructing a system that can thwart a abusive, tyrannical father who insists that his wife and children vote for a particular candidate (to make it concrete.) If you can get past him, your voting system passes the first test. Now imagine someone is offering $50 if you vote in a particular…

Those are cause for concern, but let's be realistic, the percentage of how many coercive ballots must be very low, I'd guess less than 1%. I think the pros of mail in voting (getting a greater percentage of the population to vote because they can do so at their leisure, don't have to take time off of work, don't have to stand in lines, etc.) outweigh the cons (such as potential coercion or selling of votes).

Re: Homomorphic encryption

#79

Earlier quoted context omitted.

If anyone has the ability to confirm your vote, either without you or through you, you can be compelled or paid for it. Imagine constructing a system that can thwart a abusive, tyrannical father who insists that his wife and children vote for a particular candidate (to make it concrete.) If you can get past him, your voting system passes the first test. Now imagine someone is offering $50 if you vote in a particular…

Those are cause for concern, but let's be realistic, the percentage of how many coercive ballots must be very low, I'd guess less than 1%. I think the pros of mail in voting (getting a greater percentage of the population to vote because they can do so at their leisure, don't have to take time off of work, don't have to stand in lines, etc.) outweigh the cons (such as potential coercion or selling of votes).

There are countries, or regions, or municipalities, or neighborhoods where the number of coerced ballots can easily be 50% or more. Voting by email is a complete no-no in those situations.

There are also countries where turnout is consistently above 70% and there is no mail voting. In the US the obstacles to voting are not having to go to a polling station: voter registration due to not having a federal ID, voting on a Tuesday rather than during the weekend, gerrymandering due to political bodies bring able to affect the redistricting process, and so on.

Re: Homomorphic encryption

#80
post #66

Earlier quoted context omitted.

maybe I'm missing something, but I can't see any system that allows me to verify my vote after the fact not enabling a vote buying mechanism. As I understand it (perhaps incorrectly), the primary thing that makes vote buying financially difficult is the fact that a person's vote can't be verified. how does homomorphic encryption enable me to verify my own vote but prevent anyone else from using the info I'd give them…

Just the way I said in the comment you are replying to. Well, actually, I know two ways, that is just one of them. Let me put it a different way. Let us suppose that you are in New York State in 2016, voting for the US president, and let's ignore the strange things that can happen with write-ins. After a random shuffle your ballot might look like this: | BALLOT #5846 | 1. Hillary Clinton | [ ] [barcode] Democratic Pa…

re burning ballots.

If it's possible to burn a ballot (i.e. associate the set of bar codes to actual candidates), shouldn't it be possible to "burn" a ballot after the fact as well?

i.e. we have 4 barcodes, I need a way to associate each barcode with a candidate to burn it, so why couldn't this happen after the fact as well?

I assume homomorphic encryption might help here, I just am missing it.

Post reply on HN