Cryptographically Secure Pseudo Random number Generator IP Core

Basic core is small (6,500 gates) and uses an external 256-bit entropy seed to generate 16 bytes (128 bits) of random data at a time (128 bits of security strength). Versions of the core are available supporting higher security strengths (192 and 256 bits), larger amounts of generated bits (up to 219), and different internal datapath widths for size/performance tradeoff. The core includes the AES1 core.

The design is fully synchronous and available in both source and netlist form. Test bench uses vectors in plain text format.

PRNG1 core is supplied as portable Verilog (VHDL version available) thus allowing customers to carry out an internal code review to ensure its security.

Synchronous enable signal. When LOW the core ignores all its inputs and all its outputs must be ignored.

MODE

Input

When 0, the START going high will initiate a re-seed. When 1, the START will initiate a generate operation.

START

Input

Starts the core operation

RESET

Intput

Asynchronous core reset

SRESET

Input

Synchronous core reset

READY

output

Output data ready and valid

LOAD

Output

Input data request signal

DONE

Output

Indicates the completion of a re-seed or generate operation

SEED[ ]

Input

Input for seed data

Function Description

A Re-seed operation transfers external random seed bits into the core. Some of the seed bits, at least the number equal to security strength, should represent entropy and come from a true random source. A Generate operation produces a predefined number of random bits (up to 219, depending on the configuration). The Generate can be invoked up to 248 times after each re-seed. The core performs pseudorandom generation per CTR_DRBG algorithm as defined by NIST in SP800-90.

Export Permits

US Bureau of Industry and Security has assigned the export control classification number 5E002 to our AES core. The core is eligible for the license exception ENC under section 740.17(A) and (B)(1) of the export administration regulations. See the licensing basics page,
for links to US government sites and more details.