News for hackers. Stuff that matters.
Re:A JPEG Image Compression Service Using Part Homomorphic E... by 77pt77 on Thursday March 06, 2025 @02:18PM (#43284069)
Compressing images into jpeg without anyone else ever seeing them.

I personally would prefer something like Homomorphic encryption for say sql queries on a database that the server can never read.

Re:A JPEG Image Compression Service Using Part Homomorphic E... by tgv on Thursday March 06, 2025 @02:23PM (#43284122)
There's no information in the repo, but I suppose this means jpeg compression of an encrypted image without decryption, right?
Re:A JPEG Image Compression Service Using Part Homomorphic E... by mystified5016 on Thursday March 06, 2025 @03:11PM (#43284609)
Yes. Homomorphic encryption means that you can do math to the encrypted file to produce a new encrypted file. The operator doing the math cannot read either version, but the owner of the original file can.
Re:A JPEG Image Compression Service Using Part Homomorphic E... by pogue on Thursday March 06, 2025 @02:48PM (#43284386)
Without anyone ever seeing them?
Re:A JPEG Image Compression Service Using Part Homomorphic E... by hot_gril on Thursday March 06, 2025 @08:05PM (#43286611)
About the encrypted DB: https://people.csail.mit.edu/nickolai/papers/popa-cryptdb-tr...

All I remember is that this didn't end up becoming practical because of some limitations, which were maybe discussed in the paper. Something about leaking row counts.

Re:A JPEG Image Compression Service Using Part Homomorphic E... by dzidol on Thursday March 06, 2025 @08:38PM (#43286765)
There's such thing, at least in prototype stage. Like cryptDB, which, afaik is homomorphic with a nice property of preserving the order of encrypted keys. It leaks some information, but you can apply predicates different than equality, like `where a between 100 and 200`. In that case, the query passed to server will look like `where a between encrypted(100) and encrypted(200)` and server will be able to apply it, without knowing real values of the range limits or data stored in `a` column. With encryption function which don't preserve order, the data would need to be filtered client-side, so whole projection would be dumped to client and it would be the client who first decrypts the data, and then filters-out unnecessary rows.