Search code examples
assemblyrandomlinux-kernelcryptographyarm

Is there a ARM processor support on-chip hardware random number generator?


Intel supports RDRAND (also known as Intel secure key) instruction for returning random numbers. And it's available in Ivy Bridge processors.

I wonder, is there any ARM processor featuring instructions for on-chip hw random number generator functionally similar to RDRAND?

And I have an additional question.

In the Linux kernel (version 3.10), there are driver sources for hw random number generators in /linux/drivers/char/hw_random. (http://lxr.free-electrons.com/source/drivers/char/hw_random/?v=3.10)

And I found exynos-rng.c described as Random Number Generator driver for the exynos.

So, does exynos has H/W random number generator like Intel processors?

Thanks. Any comments are really appreciated.


Solution

  • ARM CPU cores don't have any such functionality themselves, but a great many SoCs which contain ARM CPU cores also contain their own HWRNG peripheral. As it's not part of the CPU architecture there are no "standard" instructions or interfaces, so just like any other peripheral there are a wide range of implementations with their own drivers.