Services/KeyExchange: Difference between revisions

Jump to navigation Jump to search
Line 38: Line 38:


<ul>
<ul>
   <li>Mobile and Desktop complete the two roundtrips of JPAKE messages to agree upon a secret key.</li>
   <li>Mobile and Desktop complete the two roundtrips of JPAKE messages to agree upon a strong secret, the K number.</li>
   <li>The secret key is the sha256 hash of the K number, as returned by python-jpake.</li>
   <li>A 256 bit key is derived from K using HMAC-SHA256 with a fixed 256bit HMAC key.
   <li>The encryption key is <code>SHA256("encrypt:" + key)</code>, the HMAC key is <code>SHA256("hmac:" + key)</code> </li>
   <li>The encryption and hmac keys are derived from that 256 bit key using HMAC-SHA256.</li>
   <li>In third round trip:
   <li>In third round trip:
<ul><li>Mobile hashes the key using SHA256d (=hash twice with SHA256) and uploads it.</li>
<ul><li>Mobile hashes the key using SHA256d (=hash twice with SHA256) and uploads it.</li>
canmove, Confirmed users
725

edits

Navigation menu