diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2016-08-21 22:16:27 -0800 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2016-08-21 22:16:27 -0800 |
commit | 932ece1567dfc4ea7d993c8f62ccc9adfcf736ef (patch) | |
tree | 0d32efd30f81a186f5bdfd5405a331e74c8a4cb9 /crypto.c | |
parent | b0f08fc1e30daafb274181234dae3408fb2eb69b (diff) |
master key nonce
Diffstat (limited to 'crypto.c')
-rw-r--r-- | crypto.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -56,14 +56,18 @@ void derive_passphrase(struct bcache_key *key, const char *passphrase) die("scrypt error: %i", ret); } -void disk_key_encrypt(struct bcache_disk_key *disk_key, +void disk_key_encrypt(struct cache_sb *sb, + struct bcache_disk_key *disk_key, struct bcache_key *key) { + __le32 nonce[2]; int ret; + memcpy(nonce, &sb->set_magic, sizeof(sb->set_magic)); + ret = crypto_stream_chacha20_xor((void *) disk_key, (void *) disk_key, sizeof(*disk_key), - (void *) &bch_master_key_nonce, + (void *) nonce, (void *) key); if (ret) die("chacha20 error: %i", ret); |