# Functions

DetectHost reads the network address from a multicast message by joining the given multicast group and waiting for some data before reading the source IP and returning it.
GetConnectionString extracts the port from the given address and constructs a new connection string with the host The resulting format is "host:port".
LoadPrivateKey loads a private RSA key from the given location.
ReadPrivateKey reads a private RSA key from the given location, exiting on errors.
Sign creates a signature of the given message with the given key.