cancel
Showing results for 
Search instead for 
Did you mean: 

For the Cortex M-33 products can I use my own RNG?

TVale.1
Associate II

This is a general question on the Cortex M33 product with hardware encryption. I would like to use my own random number generator rather that the one that is embedded with the core in order to generate my AES key(s). Is that possible or am I restricted to using your RNG. If I can use my own, to which register do I write the key?

3 REPLIES 3
Danish1
Lead II

What do you mean by your own random number generator, and why will it be better than one that uses the built-in hardware random number generator?

An important point is that the hardware random number generator is truly random. Any mathematical function, even a well-respected one such as by Knuth or from Numerical Recipes, is deterministic and not random, even if it looks to be. And anything that isn’t random when it should be is a potential entry-point for an attacker.

If you still reckon there’s a good reason to use your own rng then look at the Reference Manual for your stm32 and the source code for the API.

Sorry I’m not more helpful,

Danish

TVale.1
Associate II

Thanks for your answer. The RNG that we will use is not deterministic in nature. There are some advantages to using it particularly for synching symmetric keys between remote users. Cannot divulge much more at this point. Again, thanks for the help.

Piranha
Chief II

The questions doesn't make sense.

> am I restricted to using your RNG

How can someone restrict what software you use?

> If I can use my own, to which register do I write the key?

If you use your own software algorithm, then what register are you talking about?