File kpw/db.md artifact 5982f7fb3c part of check-in e02ae59ffd
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.