Skip to main content
TVale.1
Associate
November 9, 2022
Question

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

  • November 9, 2022
  • 3 replies
  • 1091 views

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?

This topic has been closed for replies.

3 replies

Danish1
Lead III
November 9, 2022

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
TVale.1Author
Associate
November 9, 2022

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
Principal III
November 11, 2022

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?