entropy-server is a Windows based
pipe server that uses a duplex named pipe for distributing random bytes generated by a single AlphaRNG device.
Windows applications, written in languages such as C/C++, C#, Java, Delphi, VBA can concurrently access
entropy-server directly through the named pipe (see Fig. 1).
For AlphaRNG source code examples visit this address.
Entropy Server API operates based on request and response byte streams. To request data from AlphaRNG device using the entropy server, the application should fill the 64 bit request with command (CMD) and amount of requested data 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.
AlphaRNG Entropy Server API request structure
0 - Retrieve entropy bytes from the AlphaRNG 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 AlphaRNG device identifier (15 bytes of ASCII characters).
3 - Retrieve the AlphaRNG device model (15 bytes of ASCII characters).
4 - Retrieve the AlphaRNG device minor version number (1 byte).
5 - Retrieve the AlphaRNG device major version number (1 byte).
6 - Retrieve Entropy Server minor version number (1 byte).
7 - Retrieve Entropy Server major version number (1 byte).
8 - Retrieve random bytes from the first AlphaRNG device noise source. Can request from 1 to 100,000 bytes.
9 - Retrieve random bytes from the second AlphaRNG device noise source. Can request from 1 to 100,000 bytes.
Amount of bytes requested from the Entropy Server.