HNHacker News
TopNewBestAskShowJobs

karulont

413 karma · joined February 2, 2017

submissionscomments
karulont··on Servo vs. Ladybird
Swift has been adding support for things like non-copyable types that should help with writing performance sensitive parts.
karulont··on Half-Life 2 peaks at 50,914 concurrent players, 20 years after its release
Can someone explain why? Past 3 years have not seen a huge peak like that.

Edit: it is now free

karulont··on Swift Homomorphic Encryption
https://github.com/apple/swift-homomorphic-encryption/blob/3...

Run SHA256 on the keyword, truncate the hash and take the modulus with number of shards.

karulont··on Swift Homomorphic Encryption
Check my comment here for some intuition: https://news.ycombinator.com/item?id=41115179

Basically the server does not know, it just computes with every possible value. And the result turns out to be what the client was interested in.

karulont··on Swift Homomorphic Encryption
There was a recent paper that also uses Swift in the name:

“Cheddar: A Swift Fully Homomorphic Encryption Library for CUDA GPUs” - https://arxiv.org/pdf/2407.13055

We were a little worried, but quickly discovered that they used Swift as an adjective not as a programming language.

[Disclosure: I work on the team responsible for the feature]

karulont··on Swift Homomorphic Encryption
In this PIR model the server has to read the whole database, otherwise it would be easy on the server to see, that these rows were not accessed and therefore they are not the one the client queried.

In this PIR model the server runtime is O(n) where n is the number of rows.

To keep it practical, we do support sharding the database. Client leaks a few bits of hashed query to pick the right shard, where we process the entire shard. There is a inherent privacy-performance tradeoff: less shards = less leakage vs more shards = better performance & less privacy.

karulont··on Swift Homomorphic Encryption
A very simple PIR scheme on top of homomorphic encryption that supports multiplying with a plaintext and homomorphic addition, would look like this:

The client one-hot-encodes the query: Enc(0), Enc(1), Enc(0). The server has 3 values: x, y, z. Now the server computes: Enc(0) * x + Enc(1) * y + Enc(0) * z == Enc(y). Client can decrypt Enc(y) and get the value y. Server received three ciphertexts, but does not know which one of them was encryption of zero or one, because the multiplications and additions that the server did, never leak the underlying value.

This gives some intuition on how PIR works, actual schemes are more efficient.

[Disclosure: I work on the team responsible for the feature]

karulont··on Reverse Engineering for Everyone
> That's a strange use of 'use'? Clearly, talking to some software over the network is 'using' it?

The point is that the proprietary client software was not used.

karulont··on Whisky: Wine supercharged with the power of Apple's game porting toolkit
How is this different from CrossOver?
karulont··on Cryptographers solve decades-old privacy problem
> hardware-accelerated PIR which is currently at use at scale.

Can you tell us more about that?

karulont··on iOS 17 is available today
> The Sensitive Content Analysis framework enables third-party developers to integrate Communication Safety in their apps. The framework allows developers to detect if content that children receive or attempt to send in their apps may contain nudity, and developers can add protections in their apps when sensitive content is detected.

https://www.apple.com/child-safety/

karulont··on Show HN: Speeding up the code-test cycle for Java developers
The reloading part reminded me about https://www.jrebel.com/
karulont··on Ask HN: Most interesting tech you built for just yourself?
I had phone that could run J2ME but did not have Internet.

I reverse engineered a flash application that showed a map and provided address search. I scraped the map tiles and address to location database. Reimplemented the viewer application as a Java applet and preloaded the tiles and address database to a microSD card connected to the phone. So essentially I built my own offline maps for my not internet connected phone.

Address search required prefix tree because IO was too slow to use binary search on the phone.

Anyway this was done just before I went to a new city to attend university and it was really helpful to find out where I am and where to go. There was no navigation, but it showed the map, gps location and the location where I needed to get to.

So that was my personal project that really had great utility for me.

karulont··on Google DeepMind
I thought that this is a way to downsize: instead of supporting two orgs, merge them and the costs hopefully go down?
karulont··on Sorting waste and recyclables with a fleet of robots
Another existing offer: https://www.terex.com/zenrobotics

At one point they were handing out T-shirts saying 9 out of 10 PHDs

karulont··on PeopleDAO “exploited” by Google Docs edit
So people want to be progressive and use cryptocurrency that is not tied to a government.

But when things go wrong they run to the FBI and FTC both run by the government.

karulont··on Apple kills plans to scan for CSAM in iCloud
Perceptual hashes are quite reversible. It is not a cryptographic hash that is hard to reverse.
karulont··on Researchers can steal data during homomorphic encryption
The encryption is data dependent. The homomorphic computation itself cannot be data dependent. Homomorphic encryption says that even if you see all the intermediate encrypted values, you will not know what the encrypted input or output value is. So side-channels do not matter for the computationally heavy evaluation part. In this paper they attacked the encryption part.
karulont··on Turing Award goes to Aho and Ullman
“Alfred Vaino Aho” this a the first time I looked it up in full (with the middle name) it seems like a Finnish or maybe Estonian name. I am wondering if he has Finnish or Estonian heritage.
karulont··on Show HN: Jel, the Video Game for Collaboration
https://gfodor.medium.com/introducing-jel-the-un-zoom-320d3d...

Might be a better place to start reading about it.

karulont··on Rust is a hard way to make a web API
> Heck, if you ask some people, Rust is less secure than a GC’ed language for web apps if you use any crates that have unsafe code - which includes Actix, the most popular web framework, because unsafe code allows things like deferencing raw pointers.

The presence of _unsafe_ is okay, it just means that this is a part of code, that the compiler cannot verify itself. Usually the unsafe part (verified by human) is wrapped in a API that is safe to use.

PS: You can still have memory leaks in GC-d languages by reference cycles.

karulont··on The story of the one line fix
Technical debt was accumulated and writing the test did not actually help with removing it.
karulont··on What Startups Can Learn from Apple’s Privacy Position
> In this Part 2 of our two-part Apple privacy series, we share a breakdown of iOS14’s privacy features. iOS14 addresses various privacy pain points, including but not limited to notice, consent, and data minimization. We’ve summarized some of them below for startups to take inspiration from in designing their own apps and other products.

Part 2 is at: https://medium.com/privacy-technology/ios14s-privacy-labels-...

karulont··on Computer scientists launch counteroffensive against video game cheaters
I do not believe this is going to work at all. Analyzing encrypted data should not reveal anything actionable. Even when analyzing unencrypted data from clients. I do not see a way to actually catch wall hackers. The reason why one cannot catch wall hackers is because there is no inherent difference in (encrypted) communications between a wall hacker and a highly skilled individual.
karulont··on Obfuscation Patterns
If I am thinking about the same MMO, then every client update changed everything. I am sure they used some custom obfuscations tools to even alter the client / server protocol.

The way how bots were done, was that you had to write tools that try to fingerprint interesting variables by their usage patterns in the bytecode. This was by no means an easy task. But with the frequent client updates manual reverse engineering only helped to understand the codebase, but to actually keep up with the client updates you needed to automate that work.

karulont··on Has the bidet's time in North America finally arrived?
Suction cups or some special adhesive that does not leave residues?

Disclaimer, never tried those myself.

karulont··on Estonia is running its country like a tech company
In addition to the physical ID card, Estonian system also has MobileID, that uses the SIM toolkit. So there is no hassle with the physical card reader.

And also the newest is SmartID(used by banks), also based on mobile devices, but without requiring a special SIM card.

karulont··on UK scientists generate electricity from Americium to power future space missions
https://en.wikipedia.org/wiki/Radioisotope_thermoelectric_ge...

There is a nice table that shows, that Americium-241 has low power density, but it's half-life is 432 years. It also mentions that the real reason, why this is interesting, is because Am-241 is a byproduct and a pure isotope that can be used without refining.

karulont··on Apple: Rotate tracking IDs on iPhone each month
Apple seems to have a vested interest in privacy. I hope that this petition falls on the right ears.
karulont··on Trapdoor commitments in the SwissPost e-voting shuffle proof
> The implementation of the commitment scheme in the SwissPost-Scytl mixnet uses a trapdoor commitment scheme, which allows anyone who knows the trapdoor values to generate a shuffle proof transcript that passes verification but actually alters votes. This allows undetectable vote manipulation by an authority who implemented or administered a mix server.

I do not understand why this does not get more votes. Maybe because the title was related to cryptography and did not mention the vulnerability.

Page 1 of 2Next →