Now I enabled the full disk encryption mode on TX2 NX for an external NVME device.
But I found it is much slower than un-encrypted version.
I am using default one, which is
cipher: aes-cbc-essiv:sha256
keysize: 128 bits
may I know if this default algorithm uses the hardware decryption acceleration?
any idea can make it faster?
my /proc/crypto looks like:
cat /proc/crypto
name : eddsa
driver : eddsa-tegra
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : akcipher
name : ecdsa
driver : ecdsa-tegra
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : akcipher
name : rng1_elp
driver : rng1-elp-tegra
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : trng_elp
driver : trng_elp-tegra
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : rsa-pka1
driver : tegra-se-pka1-rsa
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : akcipher
name : ecdh
driver : tegra-se-ecdh
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : kpp
name : sha512
driver : tegra-se-sha512
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ahash
async : no
blocksize : 128
digestsize : 64
name : sha384
driver : tegra-se-sha384
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ahash
async : no
blocksize : 128
digestsize : 48
name : sha256
driver : tegra-se-sha256
module : kernel
priority : 300
refcnt : 4
selftest : passed
internal : no
type : ahash
async : no
blocksize : 64
digestsize : 32
name : sha224
driver : tegra-se-sha224
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ahash
async : no
blocksize : 64
digestsize : 28
name : sha1
driver : tegra-se-sha1
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ahash
async : no
blocksize : 64
digestsize : 20
name : dh
driver : tegra-se-dh
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : kpp
name : rsa-pka0
driver : tegra-se-pka0-rsa
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : akcipher
name : cmac(aes)
driver : tegra-se-cmac(aes)
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ahash
async : no
blocksize : 16
digestsize : 16
name : ofb(aes)
driver : ofb-aes-tegra
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 64
ivsize : 16
geniv : eseqiv
name : ctr(aes)
driver : ctr-aes-tegra
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 64
ivsize : 16
geniv : eseqiv
name : ecb(aes)
driver : ecb-aes-tegra
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 64
ivsize : 16
geniv : <default>
name : cbc(aes)
driver : cbc-aes-tegra
module : kernel
priority : 300
refcnt : 7
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 64
ivsize : 16
geniv : <default>
name : rng_drbg
driver : rng_drbg-aes-tegra
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 48
name : ghash
driver : ghash-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 16
digestsize : 16
name : jitterentropy_rng
driver : jitterentropy_rng
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_nopr_hmac_sha256
module : kernel
priority : 207
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_nopr_hmac_sha512
module : kernel
priority : 206
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_nopr_hmac_sha384
module : kernel
priority : 205
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_nopr_hmac_sha1
module : kernel
priority : 204
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_pr_hmac_sha256
module : kernel
priority : 203
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_pr_hmac_sha512
module : kernel
priority : 202
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_pr_hmac_sha384
module : kernel
priority : 201
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : drbg_pr_hmac_sha1
module : kernel
priority : 200
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 0
name : stdrng
driver : ansi_cprng
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : rng
seedsize : 48
name : lzo
driver : lzo-generic
module : kernel
priority : 0
refcnt : 17
selftest : passed
internal : no
type : compression
name : crct10dif
driver : crct10dif-generic
module : kernel
priority : 100
refcnt : 2
selftest : passed
internal : no
type : shash
blocksize : 1
digestsize : 2
name : crc32c
driver : crc32c-generic
module : kernel
priority : 100
refcnt : 9
selftest : passed
internal : no
type : shash
blocksize : 1
digestsize : 4
name : ecb(arc4)
driver : ecb(arc4)-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : blkcipher
blocksize : 1
min keysize : 1
max keysize : 256
ivsize : 0
geniv : <default>
name : arc4
driver : arc4-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : cipher
blocksize : 1
min keysize : 1
max keysize : 256
name : aes
driver : aes-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32
name : twofish
driver : twofish-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32
name : sha224
driver : sha224-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 28
name : sha256
driver : sha256-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 32
name : sha1
driver : sha1-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 20
name : digest_null
driver : digest_null-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 1
digestsize : 0
name : compress_null
driver : compress_null-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : compression
name : ecb(cipher_null)
driver : ecb-cipher_null
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : blkcipher
blocksize : 1
min keysize : 0
max keysize : 0
ivsize : 0
geniv : <default>
name : cipher_null
driver : cipher_null-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : no
type : cipher
blocksize : 1
min keysize : 0
max keysize : 0
name : ecdsa
driver : ecdsa-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : akcipher
name : ecdh
driver : ecdh-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : kpp
name : dh
driver : dh-generic
module : kernel
priority : 100
refcnt : 1
selftest : passed
internal : no
type : kpp
name : xts(aes)
driver : xts-aes-neon
module : kernel
priority : 200
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 32
max keysize : 64
ivsize : 16
geniv : <default>
name : ctr(aes)
driver : ctr-aes-neon
module : kernel
priority : 200
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 1
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : cbc(aes)
driver : cbc-aes-neon
module : kernel
priority : 200
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : ecb(aes)
driver : ecb-aes-neon
module : kernel
priority : 200
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 0
geniv : <default>
name : __xts-aes-neon
driver : __driver-xts-aes-neon
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 16
min keysize : 32
max keysize : 64
ivsize : 16
geniv : <default>
name : __ctr-aes-neon
driver : __driver-ctr-aes-neon
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 1
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : __cbc-aes-neon
driver : __driver-cbc-aes-neon
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : __ecb-aes-neon
driver : __driver-ecb-aes-neon
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 0
geniv : <default>
name : xts(aes)
driver : xts-aes-ce
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 32
max keysize : 64
ivsize : 16
geniv : <default>
name : ctr(aes)
driver : ctr-aes-ce
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 1
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : cbc(aes)
driver : cbc-aes-ce
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : ecb(aes)
driver : ecb-aes-ce
module : kernel
priority : 300
refcnt : 1
selftest : passed
internal : no
type : ablkcipher
async : yes
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 0
geniv : <default>
name : __xts-aes-ce
driver : __driver-xts-aes-ce
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 16
min keysize : 32
max keysize : 64
ivsize : 16
geniv : <default>
name : __ctr-aes-ce
driver : __driver-ctr-aes-ce
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 1
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : __cbc-aes-ce
driver : __driver-cbc-aes-ce
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 16
geniv : <default>
name : __ecb-aes-ce
driver : __driver-ecb-aes-ce
module : kernel
priority : 0
refcnt : 1
selftest : passed
internal : yes
type : blkcipher
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 0
geniv : <default>
name : ccm(aes)
driver : ccm-aes-ce
module : kernel
priority : 300
refcnt : 2
selftest : passed
internal : no
type : aead
async : no
blocksize : 1
ivsize : 16
maxauthsize : 16
geniv : <none>
name : aes
driver : aes-ce
module : kernel
priority : 250
refcnt : 4
selftest : passed
internal : no
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32
name : ghash
driver : ghash-ce
module : kernel
priority : 200
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 16
digestsize : 16
name : sha256
driver : sha256-ce
module : kernel
priority : 200
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 32
name : sha224
driver : sha224-ce
module : kernel
priority : 200
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 28
name : sha1
driver : sha1-ce
module : kernel
priority : 200
refcnt : 1
selftest : passed
internal : no
type : shash
blocksize : 64
digestsize : 20
thanks