The public key serves as a checksum. To check that the DEWIF base64 string is not corrupted, simply generate an ed25519 keypair with the seed and check that the obtained public key matches.
Symmetric encryption algorithm : aes256
aes256 key: scrypt of user passphrase with the following parameters:
password: passphrase
salt: sha256("dewif" ++ passphrase)
N : 4096
r: 16
p: 1
Example #1:
aes256 key generated from scrypt with the following parameters:
| seed bytes | public key bytes | seed bytes | public key bytes |
The public key serves as a checksum. To check that the DEWIF base64 string is not corrupted, simply generate an ed25519 keypair with the seed and check that the obtained public key matches.
Symmetric encryption algorithm : aes256
aes256 key: scrypt of user passphrase with the following parameters:
password: passphrase
salt: sha256("dewif" ++ passphrase)
N : 4096
r: 16
p: 1
### v3
v3 data :
| `log N` | Encrypted data |
|:-------:|:--------------:|
| 1 byte | 64 bytes |
Encrypted data :
| seed(32 bytes) | public key(32bytes) |
|:--------------:|:-------------------:|
| seed bytes | public key bytes |
The public key serves as a checksum. To check that the DEWIF base64 string is not corrupted, simply generate an ed25519 keypair with the seed and check that the obtained public key matches.
Symmetric encryption algorithm : aes256
aes256 key: scrypt of user passphrase with the following parameters:
password: passphrase
salt: sha256("dewif" ++ passphrase)
N : `2^(log N)`
r: 16
p: 1
Example #2:
aes256 key generated from scrypt with the following parameters:
Version 4 stores an HD wallet according to the [BIP32-Ed25519] specifications.
v4 data :
| `log N` | Encrypted data |
|:-------:|:--------------:|
| 1 byte | 64 bytes |
Encrypted data :
| seed(32 bytes) | public key(32bytes) |
|:--------------:|:-------------------:|
| seed bytes | public key bytes |
The public key serves as a checksum. To check that the DEWIF base64 string is not corrupted, generate a [BIP32-Ed25519] keypair with the seed and check that the obtained public key matches.
Symmetric encryption algorithm : aes256
aes256 key: scrypt of user passphrase with the following parameters: