aalemayhu / pastedrop

secure clipboard across devices for sharing URLs, password, NSFW, etc.
http://pastedrop.co
Apache License 2.0
0 stars 0 forks source link

How many pre keys do we need to generate during install time? #4

Open aalemayhu opened 5 years ago

aalemayhu commented 5 years ago

Eyeballing libsignal-protocol-javascript it says

At install time, clients generate a single signed PreKey, as well as a large list of unsigned PreKeys, and transmit all of them to the server.

aalemayhu commented 5 years ago

Looks like Signal might be using 100, see blogpost.

At registration time, the TextSecure client preemptively generates 100 signed key exchange messages and sends them to the server. We call these “prekeys.” A client that wishes to send a secure message to a user for the first time can now:

chan18 commented 5 years ago

i am not exactly sure ### 100 prekeys though.

PreKeys This protocol uses a concept called 'PreKeys'. A PreKey is an ECPublicKey and an associated unique ID which are stored together by a server. PreKeys can also be signed.

At install time, clients generate a single signed PreKey, as well as a large list of unsigned PreKeys, and transmit all of them to the server.

chan18 commented 5 years ago

so textsecure's is an upcoming ios client they generate 100 prekeys, sends them to the server,

With the initial key exchange out of the way, both parties can then continue communicating with an OTR-style protocol as usual. Since the server never hands out the same prekey twice (and the client would never accept the same prekey twice)