RNG engine

nRF5340 Product Specification

CRYPTOCELL implements a Random Number Generator (RNG) engine which uses a True Random Number Generator (TRNG) for its entropy collection.

The TRNG is a full entropy design compliant with:
  • FIPS 140-2: Security requirements for Cryptographic Modules
  • BSI AIS-31: Functionality Classes and Evaluation Methodology for True Random Number Generators
  • NIST SP 800-90B: Recommendation for the Entropy Sources Used for Random Bit Generation
where a ring-oscillator is used as the noise source.

The entropy collected using the RNG engine can in turn be used for seeding a Pseudo Random Number Generator (PRNG) as defined in NIST SP 800-90A: Recommendation for Random Number Generation Using Deterministic Random Bit Generators.

NIST SP 800-90A define three Deterministic Random Bit Generator (DRBG) that are considered cryptographically secure pseudorandom number generators for use in cryptography: Hash DRBG, HMAC DRBG, and CTR DRBG.

The CRYPTOCELL DRBG implementation is a combination of hardware and software, where CTR DRBG is implemented using the the AES engine running AES encryption in counter (CTR) mode as the underlying cipher. This DRBG instance is seeded with random entropy from the RNG engine.