The SwiftRNG entropy-server
is a Windows based pipe server
that uses a duplex named pipe for distributing random bytes generated by a single SwiftRNG (entropy-cl-server
is for using multiple SwiftRNG devices). Windows applications, written in languages such as C/C++, C#, Java, Delphi, VBA can concurrently access entropy-server
or entropy-cl-server
directly through the named pipe (see Fig. 1). For SwiftRNG source code examples visit this address.
Entropy Server API operates based on request and response byte streams. To request data from SwiftRNG device using the entropy server, the application should fill the 64 bit request with command (CMD) and amount of requested random bytes (REQBYTES). The prepared request should be sent out to a named pipe using Little Endian Byte Order, all 8 request bytes should be sent at once.
SwiftRNG Entropy Server API request structure
-
CMD
0 - Retrieve entropy bytes from the SwiftRNG device. Can request from 1 to 100,000 bytes.
1 - Run communication diagnostics. Starting with value 0, each byte in the response will contain an incremented value of the previous byte. This command is used to validate the correct communication with the Entropy Server during product development. Can request from 1 to 100,000 bytes.
2 - Retrieve the SwiftRNG device identifier (15 bytes of ASCII characters). This command is not available withentropy-cl-server
.
3 - Retrieve the SwiftRNG device model (15 bytes of ASCII characters). This command is not available withentropy-cl-server
.
4 - Retrieve the SwiftRNG device minor version number (1 byte). This command is not available withentropy-cl-server
.
5 - Retrieve the SwiftRNG device major version number (1 byte). This command is not available withentropy-cl-server
.
6 - Retrieve Entropy Server minor version number (1 byte). This command is not available withentropy-cl-server
.
7 - Retrieve Entropy Server major version number (1 byte). This command is not available withentropy-cl-server
.
8 - Retrieve random bytes from the first SwiftRNG device noise source. Can request from 1 to 100,000 bytes. This command is not available withentropy-cl-server
.
9 - Retrieve random bytes from the second SwiftRNG device noise source. Can request from 1 to 100,000 bytes. This command is not available withentropy-cl-server
. -
REQBYTES
Amount of bytes requested from the Entropy Server.