File kpw.d/db.md artifact f52a921e08 part of check-in c2ffe127f3
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.
- public key
- password salt
- encrypt(password, private key)
- encrypt(private key, password salt) [for pw verification]
- record *
each record takes the form of
- account name length (1 byte)
- account name
- password length (4 bytes)
- 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.