The entropy-server is a Windows based pipe server that uses a duplex named pipe for distributing random bytes generated by a single SwiftRNG device (entropy-cl-server is for using multiple SwiftRNG devices). Windows applications can concurrently access entropy-server through provided SwiftRNG.dll. Alternatively, applications written in languages such as C/C++, C#, Java, Delphi can concurrently retrieve true random bytes generated by SwiftRNG devices by directly connecting with the entropy-server through the named pipe (see Fig. 1). For source code examples visit this address.

Entropy Server Diagram

Entropy Server API operates based on request and response byte streams. To request random bytes from 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 send to the named pipe using Little Endian Byte Order, all 8 request bytes should be sent at once with no delay in between. After the request has been sent successfully, the application should immediately receive the requested bytes at once with no delay in between.

Entropy Server API request structure

Entropy Server Diagram