How to verify hardware-backed encryption/decryption (AES/RSA) via ELE API on i.MX95

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to verify hardware-backed encryption/decryption (AES/RSA) via ELE API on i.MX95

206 Views
Giorgos_Sofroniou
Contributor I

I'm working with the NXP EdgeLock Enclave (ELE) on the Verdin i.MX95, using the imx-secure-enclave library (https://github.com/nxp-imx/imx-secure-enclave). I need to demonstrate/validate that the hardware crypto engine correctly supports the following operations:

    • generateSymmetricKey
    • injectSymmetricKey
    • generatePublicPrivateKeyPair(shares the public key and stores internally the private key)
    • encrypt(data, keyId)
    • decrypt(data,keyId)
    • sign
    • VerifySignature

For at least the following base algorithms: AES (symmetric) and RSA (asymmetric)

Is there a recommended test suite, sample application, or reference that exercises all of the above operations end-to-end?

Any pointers to example code, test procedures, or documentation covering hardware validation of these primitives would be appreciated.


0 Kudos
Reply
1 Reply

108 Views
Oswalag
NXP TechSupport
NXP TechSupport

Hello, 

You can test with ele_hsm_test, it is part of the imx-secure-enclave library.

It exercises the full HSM API surface — key generation, key import, cipher, sign, verify, and more — against the physical ELE hardware.

AES usage

imx_sec_apps/imx-ele-apps/aes_usage at master · nxp-imx-support/imx_sec_apps

RSA validation
 

The HSM test application supports:

./ele_hsm_test --rsa
 
 
0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2405774%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHow%20to%20verify%20hardware-backed%20encryption%2Fdecryption%20(AES%2FRSA)%20via%20ELE%20API%20on%20i.MX95%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2405774%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI'm%20working%20with%20the%20NXP%20EdgeLock%20Enclave%20(ELE)%20on%20the%20Verdin%20i.MX95%2C%20using%20the%20imx-secure-enclave%20library%20(%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Fimx-secure-enclave%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Fimx-secure-enclave%3C%2FA%3E).%20I%20need%20to%20demonstrate%2Fvalidate%20that%20the%20hardware%20crypto%20engine%20correctly%20supports%20the%20following%20operations%3A%3C%2FP%3E%3CUL%3E%3CUL%3E%3CLI%3EgenerateSymmetricKey%3C%2FLI%3E%3CLI%3EinjectSymmetricKey%3C%2FLI%3E%3CLI%3EgeneratePublicPrivateKeyPair(shares%20the%20public%20key%20and%20stores%20internally%20the%20private%20key)%3C%2FLI%3E%3CLI%3Eencrypt(data%2C%20keyId)%3C%2FLI%3E%3CLI%3Edecrypt(data%2CkeyId)%3C%2FLI%3E%3CLI%3Esign%3C%2FLI%3E%3CLI%3EVerifySignature%3C%2FLI%3E%3C%2FUL%3E%3C%2FUL%3E%3CP%3EFor%20at%20least%20the%20following%20base%20algorithms%3A%26nbsp%3B%3CSTRONG%3EAES%3C%2FSTRONG%3E%20(symmetric)%20and%26nbsp%3B%3CSTRONG%3ERSA%3C%2FSTRONG%3E%20(asymmetric)%3C%2FP%3E%3CP%3EIs%20there%20a%20recommended%20test%20suite%2C%20sample%20application%2C%20or%20reference%26nbsp%3Bthat%20exercises%20all%20of%20the%20above%20operations%20end-to-end%3F%3CBR%20%2F%3E%3CBR%20%2F%3EAny%20pointers%20to%20example%20code%2C%20test%20procedures%2C%20or%20documentation%20covering%20hardware%20validation%20of%20these%20primitives%20would%20be%20appreciated.%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2408560%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20How%20to%20verify%20hardware-backed%20encryption%2Fdecryption%20(AES%2FRSA)%20via%20ELE%20API%20on%20i.MX95%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2408560%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%26nbsp%3B%3C%2FP%3E%0A%3CP%3EYou%20can%20test%20with%20ele_hsm_test%2C%20it%20is%20part%20of%20the%20imx-secure-enclave%20library.%3C%2FP%3E%0A%3CP%3EIt%20exercises%20the%20full%20HSM%20API%20surface%20%E2%80%94%20key%20generation%2C%20key%20import%2C%20cipher%2C%20sign%2C%20verify%2C%20and%20more%20%E2%80%94%20against%20the%20physical%20ELE%20hardware.%3C%2FP%3E%0A%3CP%3EAES%20usage%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx-support%2Fimx_sec_apps%2Ftree%2Fmaster%2Fimx-ele-apps%2Faes_usage%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Eimx_sec_apps%2Fimx-ele-apps%2Faes_usage%20at%20master%20%C2%B7%20nxp-imx-support%2Fimx_sec_apps%3C%2FA%3E%3C%2FP%3E%0A%3CDIV%3ERSA%20validation%3C%2FDIV%3E%0A%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%3E%0A%3CDIV%3E%0A%3CP%3EThe%20HSM%20test%20application%20supports%3A%3C%2FP%3E%0A%3CDIV%20class%3D%22___77lcry0%20f10pi13n%22%3E%0A%3CDIV%20class%3D%22___1hewfwb%20f10pi13n%20f7oukh6%20f5p0z4x%22%20tabindex%3D%220%22%20role%3D%22group%22%20aria-label%3D%22Code%20Preview%22%3E%0A%3CDIV%3E%0A%3CDIV%20class%3D%22scriptor-component-code-block%20scriptor-codeblock-virtualized%20___1o1nnyo%20f10pi13n%20fjp19u1%20f3rmtva%20f22iagw%20f1vx9l62%20f1kijzfu%20f5ogflp%20f1hqa2wf%20f1f09k3d%20finvdd3%20fzkkow9%20fcdblym%20fg706s2%20fjik90z%20fowmxj1%20fu36uob%20f1te0ok0%20f1mz5xvh%20fw8lh99%20f10vg012%22%20tabindex%3D%22-1%22%3E%0A%3CDIV%20class%3D%22___ney3k70%20f22iagw%20fprs0cq%20f1vx9l62%20fqerorx%22%3E%0A%3CDIV%20class%3D%22___vackf90%20f1g2tzg5%20f1enuhaj%20f22iagw%20fdclmfp%20f1ni9pe4%20f12awlo%20fu7i2u0%20fz7cnr3%20f1xhq9zl%20f1fmiijj%20f19h4e95%20f1lozjrm%20f459imu%20f1wmfm7a%20frxo3hl%22%3E%0A%3CDIV%20class%3D%22___arli6x0%20f22iagw%20f1vx9l62%20f1a3p1vp%20fly5x3f%20f1l02sjl%22%3E%0A%3CDIV%20class%3D%22___1n9gkmr%20f13qh94s%20fjxzuw%20fly5x3f%20fxugw4r%20f1ygjqaq%20fkhj508%20f1i3iumi%20f1kcqot9%20f150uoa4%20f1o0qvyv%20f1doc2zv%20fb81e7v%20f16mrt3o%20f10lkwo0%20feelao%20fynzq3d%20f1w3f5ua%20fiatsvn%20fl746e2%20f1w2lifl%20fizsmn5%20fgxye02%20fxm5u20%20f2qowb6%20f8fohl%20f14pdjkr%20flab0ju%20fgscyxj%20fgs16n1%20f1rsm8ro%20fpfau2r%20f1a3p1vp%22%20tabindex%3D%220%22%20role%3D%22textbox%22%20aria-label%3D%22Code%20editor%22%20aria-multiline%3D%22true%22%20aria-readonly%3D%22true%22%3E%0A%3CDIV%20class%3D%22___1sql8mq%20f1rh9g5y%20f11qrl6u%20f19n0e5%20fibxuh5%20f4fkekg%22%20data-line-index%3D%220%22%3E.%2Fele_hsm_test%20--rsa%3C%2FDIV%3E%0A%3CDIV%20class%3D%22___1sql8mq%20f1rh9g5y%20f11qrl6u%20f19n0e5%20fibxuh5%20f4fkekg%22%20data-line-index%3D%220%22%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%20class%3D%22___1sql8mq%20f1rh9g5y%20f11qrl6u%20f19n0e5%20fibxuh5%20f4fkekg%22%20data-line-index%3D%220%22%3E%26nbsp%3B%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%3C%2FLINGO-BODY%3E