AnsweredAssumed Answered

unit test to check whether CAAM driver is working or not

Question asked by Swapnil Pendhare on Oct 6, 2015
Latest reply on Oct 13, 2015 by Swapnil Pendhare

I am working on imx6 series processor on Kernel Linux wandboard-quad 3.10.17-1.0.1-wandboard+ga6e7fc5. I could see the caam driver loaded and output of cat /proc/crypto asa mentioned below.

 

How do I check & verify whether my caam driver is working.

 

name         : xcbc(aes)

driver       : xcbc-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ahash

async        : yes

blocksize    : 64

digestsize   : 16

 

 

name         : xcbc(aes)

driver       : xcbc-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ahash

async        : yes

blocksize    : 64

digestsize   : 16

 

 

name         : md5

driver       : md5-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ahash

async        : yes

blocksize    : 64

digestsize   : 16

 

 

name         : hmac(md5)

driver       : hmac-md5-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ahash

async        : yes

blocksize    : 64

digestsize   : 16

 

 

name         : sha256

driver       : sha256-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ahash

async        : yes

blocksize    : 64

digestsize   : 32

 

 

name         : hmac(sha256)

driver       : hmac-sha256-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ahash

async        : yes

blocksize    : 64

digestsize   : 32

 

 

name         : sha224

driver       : sha224-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ahash

async        : yes

blocksize    : 64

digestsize   : 28

 

 

name         : hmac(sha224)

driver       : hmac-sha224-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ahash

async        : yes

blocksize    : 64

digestsize   : 28

 

 

name         : sha1

driver       : sha1-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ahash

async        : yes

blocksize    : 64

digestsize   : 20

 

 

name         : hmac(sha1)

driver       : hmac-sha1-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ahash

async        : yes

blocksize    : 64

digestsize   : 20

 

 

name         : cbc(des)

driver       : cbc-des-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ablkcipher

async        : yes

blocksize    : 8

min keysize  : 8

max keysize  : 8

ivsize       : 8

geniv        : eseqiv

 

 

name         : cbc(des3_ede)

driver       : cbc-3des-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ablkcipher

async        : yes

blocksize    : 8

min keysize  : 24

max keysize  : 24

ivsize       : 8

geniv        : eseqiv

 

 

name         : ecb(des3_ede)

driver       : ecb-des3-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ablkcipher

async        : yes

blocksize    : 8

min keysize  : 24

max keysize  : 24

ivsize       : 8

geniv        : eseqiv

 

 

name         : cbc(aes)

driver       : cbc-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ablkcipher

async        : yes

blocksize    : 16

min keysize  : 16

max keysize  : 32

ivsize       : 16

geniv        : eseqiv

 

 

name         : ctr(aes)

driver       : ctr-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ablkcipher

async        : yes

blocksize    : 16

min keysize  : 16

max keysize  : 32

ivsize       : 16

geniv        : eseqiv

 

 

name         : ecb(aes)

driver       : ecb-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ablkcipher

async        : yes

blocksize    : 16

min keysize  : 16

max keysize  : 32

ivsize       : 16

geniv        : eseqiv

 

 

name         : ecb(arc4)

driver       : ecb-arc4-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ablkcipher

async        : yes

blocksize    : 1

min keysize  : 1

max keysize  : 256

ivsize       : 1

geniv        : eseqiv

 

 

name         : ecb(des)

driver       : ecb-des-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : ablkcipher

async        : yes

blocksize    : 8

min keysize  : 8

max keysize  : 8

ivsize       : 8

geniv        : eseqiv

 

 

name         : authencesn(hmac(sha256),cbc(des))

driver       : authencesn-hmac-sha256-cbc-des-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 32

geniv        : <built-in>

 

 

name         : authenc(hmac(sha256),cbc(des))

driver       : authenc-hmac-sha256-cbc-des-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 32

geniv        : <built-in>

 

 

name         : authencesn(hmac(sha224),cbc(des))

driver       : authencesn-hmac-sha224-cbc-des-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 28

geniv        : <built-in>

 

 

name         : authenc(hmac(sha224),cbc(des))

driver       : authenc-hmac-sha224-cbc-des-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 28

geniv        : <built-in>

 

 

name         : authencesn(hmac(sha1),cbc(des))

driver       : authencesn-hmac-sha1-cbc-des-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 20

geniv        : <built-in>

 

 

name         : authenc(hmac(sha1),cbc(des))

driver       : authenc-hmac-sha1-cbc-des-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 20

geniv        : <built-in>

 

 

name         : authencesn(hmac(md5),cbc(des))

driver       : authencesn-hmac-md5-cbc-des-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 16

geniv        : <built-in>

 

 

name         : authenc(hmac(md5),cbc(des))

driver       : authenc-hmac-md5-cbc-des-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 16

geniv        : <built-in>

 

 

name         : authencesn(hmac(sha256),cbc(des3_ede))

driver       : authencesn-hmac-sha256-cbc-des3_ede-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 32

geniv        : <built-in>

 

 

name         : authenc(hmac(sha256),cbc(des3_ede))

driver       : authenc-hmac-sha256-cbc-des3_ede-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 32

geniv        : <built-in>

 

 

name         : authencesn(hmac(sha224),cbc(des3_ede))

driver       : authencesn-hmac-sha224-cbc-des3_ede-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 28

geniv        : <built-in>

 

 

name         : authenc(hmac(sha224),cbc(des3_ede))

driver       : authenc-hmac-sha224-cbc-des3_ede-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 28

geniv        : <built-in>

 

 

name         : authencesn(hmac(sha1),cbc(des3_ede))

driver       : authencesn-hmac-sha1-cbc-des3_ede-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 20

geniv        : <built-in>

 

 

name         : authenc(hmac(sha1),cbc(des3_ede))

driver       : authenc-hmac-sha1-cbc-des3_ede-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 20

geniv        : <built-in>

 

 

name         : authencesn(hmac(md5),cbc(des3_ede))

driver       : authencesn-hmac-md5-cbc-des3_ede-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 16

geniv        : <built-in>

 

 

name         : authenc(hmac(md5),cbc(des3_ede))

driver       : authenc-hmac-md5-cbc-des3_ede-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 8

ivsize       : 8

maxauthsize  : 16

geniv        : <built-in>

 

 

name         : authencesn(hmac(sha256),cbc(aes))

driver       : authencesn-hmac-sha256-cbc-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 16

ivsize       : 16

maxauthsize  : 32

geniv        : <built-in>

 

 

name         : authenc(hmac(sha256),cbc(aes))

driver       : authenc-hmac-sha256-cbc-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 16

ivsize       : 16

maxauthsize  : 32

geniv        : <built-in>

 

 

name         : authencesn(hmac(sha224),cbc(aes))

driver       : authencesn-hmac-sha224-cbc-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 16

ivsize       : 16

maxauthsize  : 28

geniv        : <built-in>

 

 

name         : authenc(hmac(sha224),cbc(aes))

driver       : authenc-hmac-sha224-cbc-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 16

ivsize       : 16

maxauthsize  : 28

geniv        : <built-in>

 

 

name         : authencesn(hmac(sha1),cbc(aes))

driver       : authencesn-hmac-sha1-cbc-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 16

ivsize       : 16

maxauthsize  : 20

geniv        : <built-in>

 

 

name         : authenc(hmac(sha1),cbc(aes))

driver       : authenc-hmac-sha1-cbc-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 16

ivsize       : 16

maxauthsize  : 20

geniv        : <built-in>

 

 

name         : authencesn(hmac(md5),cbc(aes))

driver       : authencesn-hmac-md5-cbc-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 16

ivsize       : 16

maxauthsize  : 16

geniv        : <built-in>

 

 

name         : authenc(hmac(md5),cbc(aes))

driver       : authenc-hmac-md5-cbc-aes-caam

module       : kernel

priority     : 3000

refcnt       : 1

selftest     : passed

type         : aead

async        : yes

blocksize    : 16

ivsize       : 16

maxauthsize  : 16

geniv        : <built-in>

 

 

name         : ghash

driver       : ghash-generic

module       : kernel

priority     : 100

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 16

digestsize   : 16

 

 

name         : stdrng

driver       : krng

module       : kernel

priority     : 200

refcnt       : 1

selftest     : passed

type         : rng

seedsize     : 0

 

 

name         : lzo

driver       : lzo-generic

module       : kernel

priority     : 0

refcnt       : 2

selftest     : passed

type         : compression

 

 

name         : crc32c

driver       : crc32c-generic

module       : kernel

priority     : 100

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 1

digestsize   : 4

 

 

name         : michael_mic

driver       : michael_mic-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 8

digestsize   : 8

 

 

name         : zlib

driver       : zlib-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : pcomp

 

 

name         : deflate

driver       : deflate-generic

module       : kernel

priority     : 0

refcnt       : 2

selftest     : passed

type         : compression

 

 

name         : ecb(arc4)

driver       : ecb(arc4)-generic

module       : kernel

priority     : 100

refcnt       : 1

selftest     : passed

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

type         : cipher

blocksize    : 1

min keysize  : 1

max keysize  : 256

 

 

name         : camellia

driver       : camellia-generic

module       : kernel

priority     : 100

refcnt       : 1

selftest     : passed

type         : cipher

blocksize    : 16

min keysize  : 16

max keysize  : 32

 

 

name         : aes

driver       : aes-generic

module       : kernel

priority     : 100

refcnt       : 1

selftest     : passed

type         : cipher

blocksize    : 16

min keysize  : 16

max keysize  : 32

 

 

name         : twofish

driver       : twofish-generic

module       : kernel

priority     : 100

refcnt       : 1

selftest     : passed

type         : cipher

blocksize    : 16

min keysize  : 16

max keysize  : 32

 

 

name         : blowfish

driver       : blowfish-generic

module       : kernel

priority     : 100

refcnt       : 1

selftest     : passed

type         : cipher

blocksize    : 8

min keysize  : 4

max keysize  : 56

 

 

name         : fcrypt

driver       : fcrypt-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : cipher

blocksize    : 8

min keysize  : 8

max keysize  : 8

 

 

name         : des3_ede

driver       : des3_ede-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : cipher

blocksize    : 8

min keysize  : 24

max keysize  : 24

 

 

name         : des

driver       : des-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : cipher

blocksize    : 8

min keysize  : 8

max keysize  : 8

 

 

name         : tgr128

driver       : tgr128-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 16

 

 

name         : tgr160

driver       : tgr160-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 20

 

 

name         : tgr192

driver       : tgr192-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 24

 

 

name         : wp256

driver       : wp256-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 32

 

 

name         : wp384

driver       : wp384-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 48

 

 

name         : wp512

driver       : wp512-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 64

 

 

name         : sha384

driver       : sha384-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 128

digestsize   : 48

 

 

name         : sha512

driver       : sha512-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 128

digestsize   : 64

 

 

name         : sha224

driver       : sha224-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 28

 

 

name         : sha256

driver       : sha256-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 32

 

 

name         : sha1

driver       : sha1-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 20

 

 

name         : rmd320

driver       : rmd320-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 40

 

 

name         : rmd256

driver       : rmd256-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 32

 

 

name         : rmd160

driver       : rmd160-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 20

 

 

name         : rmd128

driver       : rmd128-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 16

 

 

name         : md5

driver       : md5-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 16

 

 

name         : md4

driver       : md4-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 64

digestsize   : 16

 

 

name         : digest_null

driver       : digest_null-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 1

digestsize   : 0

 

 

name         : compress_null

driver       : compress_null-generic

module       : kernel

priority     : 0

refcnt       : 1

type         : shash

blocksize    : 16

digestsize   : 16

 

 

name         : stdrng

driver       : krng

module       : kernel

priority     : 200

refcnt       : 1

selftest     : passed

type         : rng

seedsize     : 0

 

 

name         : lzo

driver       : lzo-generic

module       : kernel

priority     : 0

refcnt       : 2

selftest     : passed

type         : compression

 

 

name         : crc32c

driver       : crc32c-generic

module       : kernel

priority     : 100

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 1

digestsize   : 4

 

 

name         : michael_mic

driver       : michael_mic-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : shash

blocksize    : 8

digestsize   : 8

 

 

name         : zlib

driver       : zlib-generic

module       : kernel

priority     : 0

refcnt       : 1

selftest     : passed

type         : pcomp

Outcomes