We're using S5D5/D9 devices with SSP 1.60.
The SSP manual states: Crypto hardware engine does not support reentrancy. When the crypto hardware engine is busy performing a task, any new request will receive a status error code SSP_ERR_CRYPTO_SCE_RESOURCE_CONFLICT.
My question is if it is meant globally i.e. only one task can use crypto engine at time. It'd be very limiting. Or per operation/alghorithm type like crypto, hash, TRNG etc.
The problem we encountered is we're using RSA key generation from one thread which is rather time consuming task, it can take 10 sec or more. We need to use SHA256 and/or AES GCM from other thread in parallel. We use sf_crypto frameworks and there is one global lock (mutex) for all HAL SCE APIs access so once RSA key generation is started, hash and crypto operations from other thread block on this mutex causing unacceptable delay (breaking our communication protocol).
I'm asking if it is possible to make a workaround and use HAL SCE module for RSA key generation directly skipping the global lock and use at least SHA256 in parallel.
Unfortunately, there aren't sources for SCE modules so I can't check myself :-/