File kpw/db.md from the latest check-in
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 (1 byte)
- 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.