News for hackers. Stuff that matters.
Re:How does Apple privately find offline devices? by SlowRobotAhead on Wednesday June 05, 2019 @05:43PM (#20109486)
>can use a single [private] key regardless of which randomized version of her public key was used to encrypt.

I have not seen this before. Trying to wrap my brain around how this works. In terms of ECC I thought public and private were a single pair. Can anyone explain what is going on with public key randomization?

Re:How does Apple privately find offline devices? by Scaevolus on Wednesday June 05, 2019 @06:44PM (#20109880)
You can derive a new public key from someone's ECC public key, and they can derive the corresponding private key by applying the same transformation. It's somewhat magical! I wouldn't be surprised if Apple is using a scheme based on this instead of ElGamal, they already use ECC extensively.

https://github.com/bitcoin/bips/blob/master/bip-0032.mediawi...

Re:How does Apple privately find offline devices? by snarf21 on Thursday June 06, 2019 @10:33AM (#20114902)
Interesting, I hadn't thought of using the techniques of deterministic cryptocurrency wallets to solve this problem. I need to read more about exactly how they work.

It is also easy to solve this simply using ECC and ECDH. I just wrote a scheme on the board in the office. It might have slightly larger data payload than the deterministic wallets approach.

Re:How does Apple privately find offline devices? by philipkiely on Wednesday June 05, 2019 @05:52PM (#20109548)
Warning: this is baseless speculation from someone with only a semester of cryptography experience.

If you asked me to implement "randomized public keys" I would generate a master key pair (MPUB and MPRIV). Then, I would combine MPRIV and a random value N in a one-way function to make a new key K. I would use K as effectively a "random public key" and use it as if it was MPUB (the one-way function would have to output a K that is in the same format / usable like MPUB). I would distribute N along with K, as N is useless without MPRIV.

I have no idea if that is how they did it but that's what comes to mind.

Re:How does Apple privately find offline devices? by ryanmarsh on Wednesday June 05, 2019 @08:56PM (#20110585)
Warning, no academic crypto experience but I've used it in production systems. Oh the horror.

Couldn't "random value N" just be a nonce that only Apple knows?

Re:How does Apple privately find offline devices? by Too on Thursday June 06, 2019 @03:29AM (#20112329)
Just speculating but would something like random_key=hash(static_key + datetime) work? static_key is pre-shared between cloud and device and datetime is also known by both device and cloud if rounded down to some accuracy.
Re:How does Apple privately find offline devices? by xvector on Wednesday June 05, 2019 @07:32PM (#20110148)
The article gives the example of El Gamal encryption [1]. Looking at the key generation section, it seems like you could keep a single (q, x) pair and create a new (G, g, h) for the same x.