-
Notifications
You must be signed in to change notification settings - Fork 1
Architecture
jswallet is at its core an API, datatype and encryption method. None of these are revolutionary and none of these need necessarily be implemented by the code in this project.
Data Format The encrypted container format includes some information about the password vault being stored such as last updated, the encryption settings, and the encrypted data as a base64 string.
The unencrypted vault contains a list of entries with fields for name, password, url, etc.
API The API allows retrieving and updating the encrypted container. Simultaneous updates will be addressed by allowing the update to indicate what version or versions it replaces. Duplicate entries will need to be resolved by a client.
Encryption Method JSWallet uses standard encryption methods. Encryption is AES with a 256 bit key and 128 bit block in cipher block chaining mode. The key and iv are generated from the passphrase and salt using PBKDF2 / SHA1. The number of rounds is user selectable separately for both key and iv.