Since LF_v5.10.52-2.1.0 crypto_af_alg blackkey demo “caam-decrypt” becomes default in release. You can try it with binary demo release image.
The demo is using black key to decrypt data.
This document goes more detail based on BSP release document
i.MX Linux® User's Guide, Rev. LF5.10.52_2.1.0, 15 October 2021
10.6 crypto_af_alg application support
HW: i.MX8MM EVK
SW: LF_v5.10.52-2.1.0_images_IMX8MMEVK binary demo image
PC side:
1. generate key and iv by openssl
echo 12345 | openssl enc -aes-256-cbc -k - -P -md sha1 -pbkdf2
salt=1982686A7BACEE4D
key=D84041EC14BB28543E8545BEB094FE643B5BC1345C31CD576BC708A1559FBD2D
iv =F950CACE80F76F0AC00D9C8762B3A5C9
2. encrption by openssl
echo "For test caam-decrypt" | openssl enc -e -aes-256-cbc -in - -out test.txt.enc -K D84041EC14BB28543E8545BEB094FE643B5BC1345C31CD576BC708A1559FBD2D -iv F950CACE80F76F0AC00D9C8762B3A5C9
3. decryption by openssl
openssl enc -d -aes-256-cbc -in test.txt.enc -out - -K D84041EC14BB28543E8545BEB094FE643B5BC1345C31CD576BC708A1559FBD2D -iv F950CACE80F76F0AC00D9C8762B3A5C9
4. convert key and iv to plian txt for caam-decrypt.
echo F950CACE80F76F0AC00D9C8762B3A5C9| xxd -r -p > fromopenssl.iv.txt
echo D84041EC14BB28543E8545BEB094FE643B5BC1345C31CD576BC708A1559FBD2D| xxd -r -p > fromopenssl.key.txt
5. prepare data for caam-decrypt
cat fromopenssl.iv.txt test.txt.enc > data.caam-decrypt.enc
note:
the format for with blackkey
AES Encrypted file format
16 Octets - Initialization Vector (IV) is an input to encryption algorithm.
nn Octets - Encrypted message (for AES-256-CBC, it must be multiple of 16)
6. send fromopenssl.key.txt and data.caam-decrypt.enc to the board
on i.MX8MM evk board
1. generate blackkey blob
caam-keygen create blackkey ecb -t $(cat fromopenssl.key.txt)
2. delete fromopenssl.key.txt
3. test decryption by caam-decrypt with blackkey
caam-decrypt /data/caam/blackkey.bb AES-256-CBC data.caam-decrypt.enc data.caam-decrypt.dec
root@imx8mmevk:/# cat data.caam-decrypt.dec
For test caam-decrypt