crypto: add support for generating initialization vectors
commitcb730894ae284965e03a40eabbf623b87206777b
authorDaniel P. Berrange <berrange@redhat.com>
Thu, 15 Oct 2015 11:35:28 +0000 (15 12:35 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 17 Mar 2016 14:41:14 +0000 (17 14:41 +0000)
tree9394f77b5d7f285918dc134d61da8630ba0fab68
parent37788f253a4a9ad5f27dae68aee261c784e1fa17
crypto: add support for generating initialization vectors

There are a number of different algorithms that can be used
to generate initialization vectors for disk encryption. This
introduces a simple internal QCryptoBlockIV object to provide
a consistent internal API to the different algorithms. The
initially implemented algorithms are 'plain', 'plain64' and
'essiv', each matching the same named algorithm provided
by the Linux kernel dm-crypt driver.

Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
14 files changed:
crypto/Makefile.objs
crypto/ivgen-essiv.c [new file with mode: 0644]
crypto/ivgen-essiv.h [new file with mode: 0644]
crypto/ivgen-plain.c [new file with mode: 0644]
crypto/ivgen-plain.h [new file with mode: 0644]
crypto/ivgen-plain64.c [new file with mode: 0644]
crypto/ivgen-plain64.h [new file with mode: 0644]
crypto/ivgen.c [new file with mode: 0644]
crypto/ivgenpriv.h [new file with mode: 0644]
include/crypto/ivgen.h [new file with mode: 0644]
qapi/crypto.json
tests/.gitignore
tests/Makefile
tests/test-crypto-ivgen.c [new file with mode: 0644]