summaryrefslogtreecommitdiff
path: root/crypto.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2016-08-17 13:23:03 -0800
committerKent Overstreet <kent.overstreet@gmail.com>2016-08-17 13:23:03 -0800
commitb0f08fc1e30daafb274181234dae3408fb2eb69b (patch)
tree63893387dc2b136342922d0d904f3e2d1a7e3ebd /crypto.h
parentdda0923eebd3d36a06ed4976cd4ab98d7cdec679 (diff)
Encryption support
Diffstat (limited to 'crypto.h')
-rw-r--r--crypto.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/crypto.h b/crypto.h
new file mode 100644
index 00000000..335d63df
--- /dev/null
+++ b/crypto.h
@@ -0,0 +1,23 @@
+#ifndef _CRYPTO_H
+#define _CRYPTO_H
+
+#include "util.h"
+
+struct bcache_key {
+ u64 key[4];
+};
+
+struct bcache_disk_key {
+ u64 header;
+ u64 key[4];
+};
+
+static const char bch_key_header[8] = BCACHE_MASTER_KEY_HEADER;
+static const struct nonce bch_master_key_nonce = BCACHE_MASTER_KEY_NONCE;
+
+char *read_passphrase(const char *);
+void derive_passphrase(struct bcache_key *, const char *);
+void disk_key_encrypt(struct bcache_disk_key *, struct bcache_key *);
+void disk_key_init(struct bcache_disk_key *);
+
+#endif /* _CRYPTO_H */