util  db.md at [81321a2c01]

File kpw/db.md artifact 5982f7fb3c part of check-in 81321a2c01


kpw db format

kpw uses a simple binary database format. it consists of a number of values of constant size, followed by a series of encrypted records.

  1. public key
  2. password salt
  3. encrypt(password, private key)
  4. encrypt(private key, password salt) [for pw verification]
  5. record *

each record takes the form of

  1. account name length (1 byte)
  2. account name
  3. password length (1 byte)
  4. password

records are added simply by encrypting them with the public key and appending them to the end of the file. thus, adding a new password does not require the decryption password.