Developer Reference for Intel® Integrated Performance Primitives Cryptography 2019

TRNGenRDSEED

Generates a pseudorandom unsigned Big Number of the specified bit length using the RDSEED instruction.

Syntax

IppStatus ippsTRNGenRDSEED(Ipp32u* pRand, int nBits, void* pCtx);

Include Files

ippcp.h

Parameters

pRand

Pointer to the output pseudorandom unsigned integer big number.

nBits

The number of generated pseudorandom bits.

pCtx

Pointer to the IppsPRNGState context. This pointer is unused and can be NULL.

Description

The function generates a pseudorandom unsigned integer big number of the specified nBits length. The generation is based on the RDSEED instruction available on latest Intel® processors [INTEL_ARCH].

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

Return Values

ippStsNoErr

Indicates no error. Any other value indicates an error or warning.

ippStsNullPtrErr

Indicates an error condition if any of the specified pointers is NULL.

ippStsContextMatchErr

Indicates an error condition if the context parameter does not match the operation.

ippStsLengthErr

Indicates an error condition if nBits is less than 1.

ippStsNotSupportedModeErr

Indicates an error condition if the RDSEED instruction is not available on the target processor.