From 4e93fdf820695c6afb38d525b5cf1dcc64080305 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Thu, 3 Sep 2015 18:22:18 +0200 Subject: Port from go-fuse to bazil/fuse --- backend.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 backend.go (limited to 'backend.go') diff --git a/backend.go b/backend.go new file mode 100644 index 0000000..ad80b9a --- /dev/null +++ b/backend.go @@ -0,0 +1,42 @@ +package gocryptfs + +import ( + "crypto/cipher" + "crypto/aes" +) + +const ( + NONCE_LEN = 12 + AUTH_TAG_LEN = 16 + DEFAULT_PLAINBS = 4096 + + ENCRYPT = true + DECRYPT = false +) + +type Backend struct { + blockCipher cipher.Block + gcm cipher.AEAD + plainBS int64 + cipherBS int64 +} + +func New(key [16]byte) *Backend { + + b, err := aes.NewCipher(key[:]) + if err != nil { + panic(err) + } + + g, err := cipher.NewGCM(b) + if err != nil { + panic(err) + } + + return &Backend{ + blockCipher: b, + gcm: g, + plainBS: DEFAULT_PLAINBS, + cipherBS: DEFAULT_PLAINBS + NONCE_LEN + AUTH_TAG_LEN, + } +} -- cgit v1.2.3