crypto af_alg blackkey demo can hardware decrypt data, how to encrypt?

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

crypto af_alg blackkey demo can hardware decrypt data, how to encrypt?

Jump to solution
3,588 Views
flobro
Contributor IV

How can we encrypt data/file using a black key instead of using openssl like in the demo?

 

Does not seem to be an example for encryption, only decryption (caam-decrypt )...

Is there a "caam-encrypt" demo?

0 Kudos
Reply
1 Solution
3,514 Views
flobro
Contributor IV

The answer is to use libkcapi for encryption/decryption.

https://github.com/smuellerDD/libkcapi

Otherwise you are going to have roll your own bucket brigade to encrypt a file. It works great and can use the CAAM hardware enc/dec.

View solution in original post

0 Kudos
Reply
5 Replies
3,515 Views
flobro
Contributor IV

The answer is to use libkcapi for encryption/decryption.

https://github.com/smuellerDD/libkcapi

Otherwise you are going to have roll your own bucket brigade to encrypt a file. It works great and can use the CAAM hardware enc/dec.

0 Kudos
Reply
3,186 Views
floydbrown
Contributor I

I'm sorry, I have no idea what you are referring to

 

0 Kudos
Reply
3,569 Views
Harvey021
NXP TechSupport
NXP TechSupport

Hi @flobro 

Here is the link providing demo for you reference. README.txt\demo-caam-blobs - imx_sec_apps - i.MX Security Application Examples (codeaurora.org)

 

Best regards

Harvey

0 Kudos
Reply
3,549 Views
flobro
Contributor IV

I might also add there is a problem with the patched code when trying to "decap" a red key...

You get a "caam_jr 30902000.jr: Decapsulation job failed" message and the returned value is the same as the encapped value.

 

There are other messages in the forum about this, just search for "Decapsulation job failed" and you will see them. They have gone unanswered.

 

I do not see why NXP did not preserve the wrap/unwrap feature that is in the IMX6 kernel drivers, and also have a driver that fails. Code compatibility should be paramount and lead to people using the newer products when you do not have to re-engineer a bunch of code.

0 Kudos
Reply
3,563 Views
flobro
Contributor IV

caam-blobs is completely different than af_alg blackkey demo. al_alg is linux Crypto API for  userspace that uses caam-decrypt where caam-blobs is a patch tp applt to the kernel which appears to have some issues (I think it was for an older kernel version). It patches, but you get messages about some failures.

 

Meanwhile I found out how to encrypt by modifying the sample in https://lwn.net/Articles/410833/. Also look at libkcapi for a wrapper around the Crypto API (see kcapi-enc utility)

0 Kudos
Reply