Hello,
Our devices utilize AES-GCM to establish a secure channel with our servers. The system works as expected without any issues when CONFIG_PSA_CRYPTO_DRIVER_CC3XX is disabled, but as soon as we enable that flag to take advantage of the cyrptocell in nRF5340, we're seeing an incorrect tag generated by the psa_aead_encrypt function. We're using a 256 bit key and we have already validated that the output from the software implementation (CONFIG_PSA_CRYPTO_DRIVER_CC3XX=n) is correct, by running the same data, nonce and key through a Python script that performs the encryption and prints the tag bytes. The encrypted data itself is consistent across both implementations, it's just the MAC that differs.
Why would cryptocell generate a different tag? Is there another step we're missing that it's required to utilize the cyrpto hardware accelerator, or any limitations we're not aware? Given the cc3xx_ library is statically linked it's hard to debug.
Thanks,
Diego