mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
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>
This commit is contained in:
parent
37788f253a
commit
cb730894ae
14 changed files with 873 additions and 0 deletions
|
@ -78,3 +78,22 @@
|
|||
{ 'enum': 'QCryptoCipherMode',
|
||||
'prefix': 'QCRYPTO_CIPHER_MODE',
|
||||
'data': ['ecb', 'cbc']}
|
||||
|
||||
|
||||
##
|
||||
# QCryptoIVGenAlgorithm:
|
||||
#
|
||||
# The supported algorithms for generating initialization
|
||||
# vectors for full disk encryption. The 'plain' generator
|
||||
# should not be used for disks with sector numbers larger
|
||||
# than 2^32, except where compatibility with pre-existing
|
||||
# Linux dm-crypt volumes is required.
|
||||
#
|
||||
# @plain: 64-bit sector number truncated to 32-bits
|
||||
# @plain64: 64-bit sector number
|
||||
# @essiv: 64-bit sector number encrypted with a hash of the encryption key
|
||||
# Since: 2.6
|
||||
##
|
||||
{ 'enum': 'QCryptoIVGenAlgorithm',
|
||||
'prefix': 'QCRYPTO_IVGEN_ALG',
|
||||
'data': ['plain', 'plain64', 'essiv']}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue