Developer Reference for Intel® Integrated Performance Primitives Cryptography 2018

PRNGenRDRAND_BN

Generates a pseudorandom positive Big Number of the specified bit length using the RDRAND instruction.

Syntax

IppStatus ippsPRNGenRDRAND_BN(IppsBigNumState* pRand, int nBits, void* pCtx);

Include Files

ippcp.h

Parameters

pRand

Pointer to the output pseudorandom 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 positive Big Number of the specified nBits length. The generation is based on the RDRAND 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 RDRAND instruction is not available on the target processor.