|
|
Subscribe / Log in / New account

Google's fully homomorphic encryption package

The Google Developers Blog has this announcement describing the release of a fully homomorphic encryption project under the Apache license. "With FHE, encrypted data can travel across the Internet to a server, where it can be processed without being decrypted. Google’s transpiler will enable developers to write code for any type of basic computation such as simple string processing or math, and run it on encrypted data. The transpiler will transform that code into a version that can run on encrypted data. This then allows developers to create new programming applications that don’t need unencrypted data." See this white paper for more details on how it all works.

to post comments

Google's fully homomorphic encryption package

Posted Jun 14, 2021 17:46 UTC (Mon) by HenrikH (subscriber, #31152) [Link] (31 responses)

All we now need is for someone to connect this with something like Amazon Mechanical Turk, turn it into a proof of work and then create a crypto currency from it and boom we have something like Bitcoin but where all the CPU time is put to actual real world practical use.

Google's fully homomorphic encryption package

Posted Jun 14, 2021 19:02 UTC (Mon) by calumapplepie (guest, #143655) [Link] (29 responses)

Proof of Stake crypto is fairly similar to that goal: the CPU time being spent is spent only on validating transactions. Unfortunately, its not perfect: joining the network requires that you already have some crypto. But it's much better than brute-forcing SHA-1

Google's fully homomorphic encryption package

Posted Jun 14, 2021 20:10 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link] (28 responses)

"Proof of stake" means that "rich get richer" in the literal sense.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 2:39 UTC (Tue) by jamesh (guest, #1159) [Link] (16 responses)

Is that meaningfully different from "proof of work" systems, where the income of the people running the network will be proportional to the money they spend on hardware that can compute hashes and the electricity to power them?

Google's fully homomorphic encryption package

Posted Jun 15, 2021 3:28 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link] (4 responses)

With mining you at least can invest money and outmine other people. With proof-of-stake the richest people will continue passively get richer from new coins (or transaction fees). This is even more toxic with all the wrong incentives.

Before anyone says: "but fiat money!", rich people get richer with fiat money by investing it or using it to underwrite loans.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 6:41 UTC (Tue) by cpitrat (subscriber, #116459) [Link] (2 responses)

Proof of steak is much better. Rich people get fatter and fatter until they explode (yeah, like in The Meaning if Life), thus allowing to regularly renew the higher class.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 8:39 UTC (Tue) by k3ninho (subscriber, #50375) [Link] (1 responses)

>Proof of steak is much better. Rich people get fatter and fatter until they explode (yeah, like in The Meaning if Life), thus allowing to regularly renew the higher class.

I don't know if you're aware of the 'eat the rich' movement which posits that the rich are qualitatively and quantitatively better than the non-rich and so it follows that they're nutritionally better and so, by eating the billionnaires, we become part of their betterness.

I think it's not in the Jargon File because Eric Raymond once held stock that was briefly worth $40m.

K3n. :-P

Google's fully homomorphic encryption package

Posted Jun 16, 2021 6:38 UTC (Wed) by thoeme (subscriber, #2871) [Link]

>I don't know if you're aware of the 'eat the rich' movement
No but I fondly remember the "Eat The Rich" movie :-) RIP Ian "Lemmy" Kilmister

Google's fully homomorphic encryption package

Posted Jun 16, 2021 8:23 UTC (Wed) by Ranguvar (subscriber, #56734) [Link]

This is addressed by Vitalik here as a possible advantage of Proof of Work --
"Proof of stake is more like a "closed system", leading to higher wealth concentration over the long term"

The low rewards necessary under PoS largely invalidate this advantage, and PoS has many other advantages such as wasting FAR less energy.

It has less centralizing effects as manufacturing and distribution aren't a concern.

GPUs are an interesting third option but they have their own issues and side effects, and it may not be possible to keep ASICs out forever.

https://vitalik.ca/general/2020/11/06/pos2020.html

Google's fully homomorphic encryption package

Posted Jun 15, 2021 19:43 UTC (Tue) by job (guest, #670) [Link] (3 responses)

Rich-get-richer is a more descriptive name than proof-of-stake, since it is more obvious that such systems can not be bootstrapped. Who would get the first reward, if the system was fair? The second?

It is probably also not a coincidence that all blockchains that migrate to the rich-get-richer model started out with "let's all agree that I have all the money and then I can sell it to you", also known as a pre-mine or initial-coin-offering.

Google's fully homomorphic encryption package

Posted Jun 20, 2021 7:52 UTC (Sun) by teknohog (guest, #70891) [Link] (2 responses)

> Rich-get-richer is a more descriptive name than proof-of-stake, since it is more obvious that such systems can not be bootstrapped. Who would get the first reward, if the system was fair? The second?

Proof of Stake was introduced by Peercoin in 2012, and it also used Proof of Work on the side for a fairer bootstrap. The PoW rewards declined quite rapidly over time to favour the more energy-efficient PoS. Some other coins such as Zano use a similar scheme.

A lot of cryptocurrencies have a bastardized version of PoS where you need a minimum deposit to earn PoS rewards. These obviously have a "rich get richer" issue, but they also have other problems such as centralizing the entire network logic into fewer select nodes.

Google's fully homomorphic encryption package

Posted Jun 20, 2021 12:38 UTC (Sun) by smurf (subscriber, #17840) [Link] (1 responses)

PoS is not just staking, it's also proofing. You need to supply the resources to validate blocks and/or to verify that others who say they're validating are doing their job. This processing cost is independent of your actual stake. Staking 0.1ETH would cost you more CPU power = electricity than the stake would yield. You want a return on small amounts? fine, create a mining pool. Since costs are fixed, the pool's take should be minimal given a sufficient number of participants.

Peercoin's algorithm is a good start but is kindof simplistic compared to Ether's admittedly more elaborate scheme. Not surprising, as we have a decade more experience WRT the [more-or-less nonexistent] ability of crypto currencies to scale up sufficiently.

Google's fully homomorphic encryption package

Posted Jun 20, 2021 14:34 UTC (Sun) by teknohog (guest, #70891) [Link]

> Staking 0.1ETH would cost you more CPU power = electricity than the stake would yield. You want a return on small amounts? fine, create a mining pool.

Good point, I hadn't considered that one. However, as I already mentioned in passing, staking thresholds will centralize the validation process into fewer nodes, away from the decentralized aims of original cryptocurrencies. Mining pools are a part of this problem, even for existing PoW coins.

It shouldn't be a problem for anyone if I want to help maintain the distributed nature of the network at my own expense. Perhaps in Ethereum's case, the threshold is a part of the greenwashing as they transform from PoW to PoS. However, it should be seen as a problem whenever a cryptocurrency is promoting increased centralization.

Bitcoin doesn't have any staking rewards, but its community also recognizes the importance of publicly accessible nodes for the health of the network. There used to be the Bitnodes project that would reward nodes with high uptime, but it never really materialized due to low participation numbers.

Google's fully homomorphic encryption package

Posted Jun 16, 2021 8:16 UTC (Wed) by Ranguvar (subscriber, #56734) [Link] (5 responses)

Yes, Proof of Work exacerbates "rich get richer".

"ASIC mining also means the rich get richer, and that game is even more tilted in favor of the rich. At least in PoS the minimum needed to stake is quite low and within reach of many regular people."

https://vitalik.ca/general/2020/11/06/pos2020.html

They both suffer from this, but Proof of Stake handles it better.

https://www.youtube.com/watch?v=OHMjbsKN1p4&t=161s

Google's fully homomorphic encryption package

Posted Jun 16, 2021 9:23 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

ASIC mining requires continuous investment and is subject to being obsoleted by newer hardware.

Proof-of-stake is purely passive income, without ANY advantages of classic banking (where it's used to underwrite loans).

Google's fully homomorphic encryption package

Posted Jun 16, 2021 12:29 UTC (Wed) by smurf (subscriber, #17840) [Link]

Buying ASICS also doesn't have ANY advantage of classic banking. In fact nobody who actually has $$$ or €€€ puts them in classical banking in the age of negative interest rates.

Instead ASICs (and the boxes they come in) eat a heap of mostly-nonrenewable resources and emit a heap of greenhouse gases, both building and operating these ASICs, with benefit to nobody. Is that really something we want to incentivize even further? Do we really want to "spread the wealth" (an economic concept of rather dubious real-world efficacy) by having the rich buy more useless stuff in order for them to become even richer?

We don't fix the rich-people-get-richer problem by making the rich buy stuff, to them expenses are just another tax write-off. (We all know how much income tax Bezos pays.) We fix that by closing all these stupid brain-dead tax loopholes.

If BTC aficionados want their bits to be a currency, fine, treat it like one. You're mining? you transfer %TAX to the government (or a registered charity of your choice) or you get shut down, just like anybody else is supposed to.

Google's fully homomorphic encryption package

Posted Jun 16, 2021 9:35 UTC (Wed) by excors (subscriber, #95769) [Link] (2 responses)

> At least in PoS the minimum needed to stake is quite low and within reach of many regular people.

For Ethereum's planned PoS model, apparently the minimum stake is 32 ETH (https://ethereum.org/en/developers/docs/consensus-mechani...). When the article you linked was written, that was worth about $15K. At the peak a couple of months ago, that was worth about $130K. I'm not sure that counts as "quite low and within reach of many regular people".

(If you have less than 32 ETH, you can give it to a staking pool (seemingly in exchange for some new type of tradeable token which accumulates a share of the pool's staking rewards (minus admin fee), and which can't be converted back into ETH yet but they promise that'll be supported at some point in the future). But that sounds like it kind of undermines the decentralised security that PoS is meant to provide, since the pool operators are getting a lot of power over the network for no investment of their own. And there's the usual risks of losing all your money if you choose a pool who accidentally wrote buggy smart contracts (but the code is open source and audited and there's a bug bounty program, so surely it will never have exploitable bugs!) or intentionally buggy ones that let the pool operators steal your money.)

Google's fully homomorphic encryption package

Posted Jun 16, 2021 12:33 UTC (Wed) by smurf (subscriber, #17840) [Link]

You can give your BTC to a mining pool today, with even fewer safeguards.

Google's fully homomorphic encryption package

Posted Jun 17, 2021 0:44 UTC (Thu) by Ranguvar (subscriber, #56734) [Link]

Some of the largest and most trusted players in the space, like Coinbase, are running pools.

Having read the validator slashing rules, and compared to the complexity of all the other contracts which are now being massively utilized, there seems very little cause for concern.

Staking fees earned will likely be quite low due to the minimal risk.

Google's fully homomorphic encryption package

Posted Jun 24, 2021 12:08 UTC (Thu) by immibis (subscriber, #105511) [Link]

PoW at least theoretically decouples them. Sure, you can sell your coins for mining hardware to get more coins. But you can get mining hardware other ways too.

PoS simply gives you more coins for having coins, straight-up.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 11:02 UTC (Tue) by scientes (guest, #83068) [Link] (1 responses)

And "proof of steak" would be the communist version?

Google's fully homomorphic encryption package

Posted Jun 15, 2021 11:03 UTC (Tue) by scientes (guest, #83068) [Link]

Now I see I wasn't the first to make this pun....

Google's fully homomorphic encryption package

Posted Jun 15, 2021 12:14 UTC (Tue) by kleptog (subscriber, #1183) [Link] (5 responses)

Only if you're implementing a blockchain for currency purposes where mining creates something of value. If you're using it, for example, a public ledger that doesn't involve any actual mining then it's fine.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 13:27 UTC (Tue) by anselm (subscriber, #2796) [Link]

If you want random people to help maintain a distributed public ledger, you have to incentivise them somehow to expend the required resources (CPU cycles, storage, …). Otherwise there will be problems keeping the ledger “distributed enough” that no single entity can go back and change stuff because they're in a position to spend more resources than everyone else together.

“Cryptocurrencies” have an advantage here in that you can use the “currency” itself to pay people for mining, but even that doesn't seem to prevent de-facto centralisation (as with Bitcoin). Public blockchains used for other purposes will be facing still more of an uphill battle in that respect.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 17:10 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link] (3 responses)

If you want a ledger then just set up a Github repository and periodically notarize the commit hashes.

And then there's also a distinct lack of need for a decentralized public ledger.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 19:35 UTC (Tue) by job (guest, #670) [Link] (2 responses)

It sounds silly put like that but Certificate Transparency works exactly like that, a Merkle tree with signatures. It's very much decentralized adn distributed. Of course, it wasn't called a blockchain back then.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 22:34 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

CT logs aren't public in the sense that anyone can submit a change there, they're more like a git repo with git-externals with commit rights for certificate authorities.

But yep, it's the closest practical example where blockchain can be useful.

CT

Posted Jun 19, 2021 2:29 UTC (Sat) by tialaramex (subscriber, #21167) [Link]

Although it's usual for larger Certificate Authorities to secure a tit-for-tat deal to use each others CT logs with appropriate availability guarantees, most CT logs very much are public in the sense that anyone can submit a "change".

It's just that the only allowed "changes" are logging certificates with specific characteristics, and in many cases all the interesting certificates have been logged. You can't log the same certificate again.

Historically, prior to the mandate, and to a lesser extent up until this month (at the end of May 2021 near as I can tell the last possible certificate that could have existed, trusted in the Web PKI without ever being logged, would have expired) it was possible to find certificates out in the wild which hadn't been logged and go log them. But by 2017 or so you'd need to be on the ball because Google's spiders, the ones which power the search engine, were doing the same thing.

If you have money, and thus can afford to make it worth their while, a CA can sell you (No Let's Encrypt doesn't offer this, they could but there's no obvious reason why you should want it or why it would be in their interests to offer it) a certificate which hasn't been logged, even now. The mandate from Chrome isn't a root store policy, it's just a mandate for Chrome. You can then submit that certificate to logs yourself, the CA which sold it to you likely has some suggestions for where to do that. So long as you keep your receipts (SCTs, everybody else's are burned inside their certificate, but since yours was not logged when you received it, it's too late for that) you can prove this certificate was properly logged and it will work just fine.

Google does that, for some of their systems. But they know what they're doing (or at least, they employ teams of people to know).

Google's fully homomorphic encryption package

Posted Jun 20, 2021 7:36 UTC (Sun) by teknohog (guest, #70891) [Link] (2 responses)

Proof of Stake, as originally implemented in Peercoin in 2012, does not make the rich richer any more than savings accounts in a bank do. Everyone gets the same percentage rewards. One might argue that the rich get richer in absolute terms, but the inflation eats up that difference exactly.

Later cryptocurrencies have bastardized this idea by setting arbitratry thresholds for the PoS rewards. For example, with Ethereum you will need a minimum of 32 ETH to get staking rewards.

In general, it's hard to avoid the idea that the rich get richer, because the rich will always have more options for investment. However, the original PoS idea is a level playing field where anyone can start investing and staking.

Original cryptocurrencies were all about decentralization. The newer "masternode" concepts with staking thresholds are a direct attack against this ideal, since the staking nodes are what validates transactions for all users.

Google's fully homomorphic encryption package

Posted Jun 20, 2021 7:40 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

> Proof of Stake, as originally implemented in Peercoin in 2012, does not make the rich richer any more than savings accounts in a bank do.
A deposit at the bank is an investment, that is used to underwrite loans. The risk is very small, so the gains are also small.

But it IS an investment.

Proof-of-stake is literally money out of thin air.

Google's fully homomorphic encryption package

Posted Jun 28, 2021 11:31 UTC (Mon) by immibis (subscriber, #105511) [Link]

Perhaps instead of "money out of thin air" it should be thought of as a tax on those who don't do their duty of verifying transactions, going towards those who do.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 14:55 UTC (Tue) by ballombe (subscriber, #9523) [Link]

FHE is extremely resource intensive. If you use it for anything nontrivial, you might end up wasting more resources than bitcoin mining.

Google's fully homomorphic encryption package

Posted Jun 14, 2021 21:40 UTC (Mon) by randomguy3 (subscriber, #71063) [Link] (4 responses)

Interesting - I gather from reading the paper that this is *slow*, albeit faster than previous generations of fully holomorphic encryption would have been. I can't see any numbers on *how* slow, though.

There was a brief mention of less than 0.1 seconds per bootstrap operation, and it seems to do a bootstrap for every logic gate, so I'm guessing it's multiple seconds to even do an addition.

Google's fully homomorphic encryption package

Posted Jun 14, 2021 22:14 UTC (Mon) by floppus (guest, #137245) [Link] (2 responses)

https://tfhe.github.io/tfhe/ says:

> Each binary gate takes about 13 milliseconds single-core time to evaluate, which improves [DM15] by a factor 53, and the mux gate takes about 26 CPU-ms.

and:

> the library can evaluate a net-list of binary gates homomorphically at a rate of about 76 gates per second per core, without decrypting its input.

Not sure how that jibes with "less than 0.1 seconds", though it's true that 0.013 is less than 0.1.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 2:33 UTC (Tue) by ras (subscriber, #33059) [Link]

I don't see how it jibes with 0.1 either, but 13ms can be related to the 13ps switching speed of 14nm CMOS [0]. It's a billion times slower. I guess you won't be using it to process long strings.

[0] Clearly my 13ps number should be taken with a bag of salt. Accuracy wasn't the only consideration when choosing it. More accurate figures can be found in Table II here: https://acadpubl.eu/jsi/2018-118-18/articles/18e/3.pdf

Google's fully homomorphic encryption package

Posted Jun 15, 2021 7:41 UTC (Tue) by randomguy3 (subscriber, #71063) [Link]

Ah, thanks, I missed that. The "less than 0.1 seconds" figure came from the paper, which used it to define the efficiency improvements of the latter generations of FHEs.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 10:03 UTC (Tue) by Kamiccolo (subscriber, #95159) [Link]

As I recall, the biggest issue with early implementations was insane amount of memory required for ordinary amount of effective data to be processed (even talking in bytes).

Google's fully homomorphic encryption package

Posted Jun 15, 2021 5:12 UTC (Tue) by Subsentient (subscriber, #142918) [Link] (12 responses)

There was a time as a teen where I thought I was fully homomorphic too.
Turns out I'm just bi.

Jokes aside, this technology will be very useful indeed. Not sure it's quite mature enough for me to personally start using it, but I'm very glad to see it out there.
I wonder how quantum-resistant it is.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 5:33 UTC (Tue) by brunowolff (guest, #71160) [Link] (11 responses)

I don't expect this to be useful in many situations. It isn't efficient enough to out source CPU cycles for processing your sensitive data.
What it does allow is for someone with data they want to keep secret and someone with algorithms they want to keep secret to securely allow the side with the data to process that data using the other side's algorithms. I think society would on the whole, benefit more by having people share the algorithms, but in some cases this approach might lead to research that otherwise wouldn't be funded.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 8:29 UTC (Tue) by smurf (subscriber, #17840) [Link] (10 responses)

… assuming that you can write your algorithm in such a way that it contains no branches other than loops with pre-determined counters, and that somebody would want to do a computation "securely" that's ~ a billion times slower than otherwise.

Nice proof of concept, but unless somebody gets the speed penalty down to maybe 10k or so *and* invents a way to check whether a number is zero (given floating point and no comparison op this won't divulge any secrets) this isn't useful for any real-world processing.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 15:07 UTC (Tue) by NYKevin (subscriber, #129325) [Link] (9 responses)

> given floating point and no comparison op this won't divulge any secrets

There's only four billion floats (assuming single precision). You can loop through all four billion and subtract-and-compare-to-zero.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 16:26 UTC (Tue) by kleptog (subscriber, #1183) [Link] (5 responses)

> There's only four billion floats (assuming single precision). You can loop through all four billion and subtract-and-compare-to-zero.

That doesn't help, the compare-to-zero would just return a blob that you also can't decrypt. As such, you can't really do control flow decisions that way, but as you can see with graphics cards, you can still do a lot despite that. Doing it holomorphicly is the trick of course.

If you think you're going to be clever and generate a zero another way and compare the blobs, not all zeros need look alike. You have schemes where every operation adds a bit of error which can only be removed with the key.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 17:18 UTC (Tue) by smurf (subscriber, #17840) [Link]

That's the whole point, the compare-to-zero cannot be opaque if your algorithm is nontrivial (recursive, open loops, …).

Problem is, this thought experiment doesn't apply to Google's paper in the first place: they use a gate-level back-end which doesn't know zip about numbers – just single logic gates. A non-opaque test of single bits defeats the whole purpose of this exercise.

Google's fully homomorphic encryption package

Posted Jun 16, 2021 21:43 UTC (Wed) by njwhite (guest, #51848) [Link] (3 responses)

Indeed, for me as someone who knew nothing about FHE beforehand, the restrictions on only using "data-independent" computations in the paper were quite a shock - up until that point it very much sounded like this transpiler should work out of the box on normal C++ code.

Can anyone recommend some pointers to learn more about coding within these constraints, which from the "as you can see with graphics cards" comment above I assume are also more common in GPU coding? It's not something I've had to think about before, but sounds interesting.

Google's fully homomorphic encryption package

Posted Jun 17, 2021 8:55 UTC (Thu) by kleptog (subscriber, #1183) [Link] (2 responses)

I don't have any good references, but the basic idea is straightforward.

Suppose you have code like:

if(a == 0)
   r = comp1()
else
   r = comp2()

this can be rewritten as:

r = (a==0)*comp1() + (a!=0)*comp2()

Now there's no branches, but you're doing twice the work. But GPUs in particular excel in parallel processing so as long as you have enough hardware it doesn't matter. What you cant do is loops with an unbounded number of iterations, a limited number you can simply unroll. Lookup tables can be converted to big if statements and flattened.

Put another way, you have to turn your program into a mathematical formula, because FHE works based on the structures of mathematical groups. If you can't turn your program into a formula, it's hard you to see how you could calculate it holomorphically. So it's like quantum computing, good for some tasks, but it won't replace general computing.

Now, crypto algorithms tend to be all made all fixed time for various reasons, which makes them perfect for this kind of construction. 3D graphics is generally long pipelines of various mappings with not much in the way of loops so also work well.

Google's fully homomorphic encryption package

Posted Jun 17, 2021 10:12 UTC (Thu) by excors (subscriber, #95769) [Link]

I think that only really applies to ancient GPUs - they've supported dynamic flow control and loops since about 2004 (with Shader Model 3.0), and some rendering techniques make heavy use of that.

In more modern GPUs, the tricky part is that you write a GPU shader as scalar code but it gets executed as SIMD (with typically around 32 SIMD lanes), and the hardware uses a combination of dynamic flow control and masking. Like in your example "if(a == 0) r = comp1(); else r = comp2();", if the condition is true for all 32 lanes then the GPU will execute comp1() and jump over comp2(). But if the condition is only true for 31 lanes, it has to step through all the instructions of both comp1() and comp2() for all 32 lanes, with a mask register to suppress execution on individual lanes based on the condition. The divergent control flow in 1 out of 32 lanes is doubling the total number of instructions processed for all 32 lanes, so you want to be careful to avoid that if you care about performance.

That masking is not quite the same as manually writing "r = (a==0)*comp1() + (a!=0)*comp2()", because the masking will likely also suppress any memory reads performed by comp1()/comp2() in the disabled lanes. That's good for performance, though obviously not good if your goal is to avoid leaking information. On the other hand, if there are no memory reads and a high likelihood of divergent control flow, then you might get better performance by doing more arithmetic and avoiding the overhead of branches.

Google's fully homomorphic encryption package

Posted Jun 17, 2021 17:18 UTC (Thu) by smurf (subscriber, #17840) [Link]

Yeah, they can be rewritten that way, but only if you have a cryptographic comparison-with-zero operator (which doesn't have to exhibit its plaintext value of course). If you can only do addition and multiplication (which is best-of-class for numeric homomorphic encryption systems AFAIK), no dice.

However, the library Google uses doesn't work that way. Instead, it works by basically simulating a boolean hardware circuit that carries out the operation. Computer hardware doesn't have if/then/else – it has boolean and/or/not. So you want a simple 32-bit addition? Fine, just write a loop over a 32-bit field with hardware carry and all that.

This is where the 9-orders-of-magnitude slowdown WRT "real" computer hardware comes from. That's a lot: a one-second calculation would take 30 years. Thus yes it's nice but still a research proof of concept until somebody manages to speed those bit operations up a whole lot *or* somebody manages to implement subtraction and test-for-zero.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 17:05 UTC (Tue) by smurf (subscriber, #17840) [Link] (2 responses)

… if you limit yourself to single-precision floats. Hint: don't.

Google's fully homomorphic encryption package

Posted Jun 15, 2021 18:32 UTC (Tue) by NYKevin (subscriber, #129325) [Link] (1 responses)

That doesn't necessarily help. 64 bits of security is not generally considered sufficient unless you can guarantee that each operation is very, very expensive (e.g. the 2017 SHA-1 collision attack required ~2^63 SHA-1 evaluations). But in the future, we would like for these operations to be reasonably cheap. Maybe not quite as cheap as a SHA-1 invocation, but the industry's overall computational power may increase in the future, and this could get uncomfortably close to the feasibility line.

(That's not to mention the fact that you may be able to guess some of the exponent bits, if you know what the float represents and approximately how big it should be. So you can probably knock off a good 5 or 6 bits right there.)

Google's fully homomorphic encryption package

Posted Jun 15, 2021 19:01 UTC (Tue) by smurf (subscriber, #17840) [Link]

Well, right now these operations *are* very very expensive.

The question is moot anyway, as I don't see that change any time soon given that the state of the art appears to be a bitwise simulation of actual hardware, just with encrypted bits. Any algorithm which could decide whether all of 64 bits of something is zero would be able to discover the state of a single bit, hence render the whole encrypted processing scheme useless.

Google's fully homomorphic encryption package

Posted Jun 17, 2021 18:26 UTC (Thu) by t-v (guest, #112111) [Link]

There also is (and has been for some time) https://openmined.org/ which - even though their tagline seems over the top to me - uses this among other things in an application context.


Copyright © 2021, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds