Re: Keys

The passphrase is used to derive three values:

  1. the ‘C’ value of the SRP protocol (aka: username)
  2. the ‘P’ value of the SRP protocol (aka: password)
  3. the ‘key’ to decrypt the index card, where all the other card keys are stored.

These values are computed using the following expressions:

  1. C = sha256(sha256(concat(username, passphrase)));
  2. P = sha256(sha256(concat(passphrase, username)));
  3. key = sha256(sha256(passphrase));

C and P are later used to perform the SRP authentication protocol, while key is used to encrypting/decrypt the index card using AES256 in CTR mode, with a different salt each time.

Hope this helps.

Reply

The content of this field is kept private and will not be shown publicly.