crypto: implement the LUKS block encryption format
commit3e308f20edfd65a21c98eb2d8079dacd47957444
authorDaniel P. Berrange <berrange@redhat.com>
Sat, 24 Oct 2015 10:55:48 +0000 (24 11:55 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 17 Mar 2016 16:50:40 +0000 (17 16:50 +0000)
treefc2adad357333b48dc7317340c194c55cfd3f7fb
parent7d9690148ac25bc755a759adab7d63f517d092b1
crypto: implement the LUKS block encryption format

Provide a block encryption implementation that follows the
LUKS/dm-crypt specification.

This supports all combinations of hash, cipher algorithm,
cipher mode and iv generator that are implemented by the
current crypto layer.

There is support for opening existing volumes formatted
by dm-crypt, and for formatting new volumes. In the latter
case it will only use key slot 0.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
crypto/Makefile.objs
crypto/block-luks.c [new file with mode: 0644]
crypto/block-luks.h [new file with mode: 0644]
crypto/block.c
qapi/crypto.json
tests/test-crypto-block.c