UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor akhikhlukha
Visitor
423 Views
Registered: ‎04-10-2018

ZCU102 AES to DMA path isn't working

Hello,

 

I'm looking for any solution regarding the problem with retrieving the data back when the crypto engine has finished its operation. According to UG1085 the AES-GCM-256 hardened core is accessible for the user after the boot. I succeeded in encryption with using XSecure library API until the moment when the XSecure_AesEncryptUpdate() is being waiting for destination DMA done. This call hangs because the CSUDMA_DST_I_STS[DONE] bit is never set to 1. Secure-Stream switch path was configured according to common configuration 0x000005A0 (DMA-AES, AES-DMA).

 

I successfully checked the loopback mode hence I assume the issue isn't related with DMA. Besides AES engine indicates that operation has been completed (respective bits were set). Does somebody know what can cause such behavior? Any security features (restrictions)?

 

Thanks.

0 Kudos
1 Reply
Observer martin6314
Observer
255 Views
Registered: ‎02-16-2018

Re: ZCU102 AES to DMA path isn't working

Hi

 

I found an issue with the XSecure library that sounds similar:

See my post:

"DMA writes to illegal adress in XSecure_AesEncryptData in xilskey_puf_registration sample code"

The DMA wrote a couple of words more than wanted. This caused the handle of my object beeing over-written and the DmaUpdate never returned. If my finding is correct, it seems to be an issue with the Xsecure library. 

A temporary fix was to add some dummy memory after the key for the (wrong) extra bytes being transferred by the DMA. 

 

Regards

Martin

0 Kudos