Pi Digit Generation Protocol

from Wikipedia, the free encyclopedia

The Pi Digit Generation Protocol is a network protocol that is supposed to enable the retrieval of digits of the circle number Pi (π) via networks . It is specified in RFC 3091. Hugh C. Kennedy of the University of Michigan was in charge of the development .

The protocol follows the tradition of the April Fool's Day RFC, which is not intended to be used seriously . As with the Internet Protocol over Avian Carriers , Peg DHCP and the Hyper Text Coffee Pot Control Protocol , the concept was actually implemented.

Technical

Provided, that a server on TCP - Port waits 314159, and to requests to the sequential sending of the fractions of Pi responds (i.e., 1, 4, 1, 5, 9, 2, 6, etc.). Optionally, as an approximation, the digits of the same decimal number can be offered on port 220007 . Another optional addition is a UDP service on port 314159, which responds to a request with a certain number as specified by the client to specify a position. As a further addition, a willing server can send a stream of pi digits to the IP multicast address 314.159.265.359 if this role has not already been taken over by another server. SRV Resource Records can list protocol-compliant servers under the name . pigen

Applications

The RFC strongly recommends that you only use pigen servers that are known to be trustworthy, since faulty or even deliberately falsifying servers could have fatal consequences depending on the application. Particular caution is required when using it in cryptography .

implementation

In Section 1.1 of the RFC, methods for determining the digits are proposed without claiming to be exhaustive: look-up, numerical procedures and selection procedures . However, deviations should be excluded.

Since the port numbers 314159 and 220007 as well as the IP address 314.159.265.359 conflict with prevailing standards (16-bit port numbers, IPv4 octets), implementations must deviate from these values.

One implementation is the free program suite gpigen , available for multiple platforms , equipped with server and client, written in C ++ . The chief developer is Hideki Shirafuji. It runs on ports 50735 and 23399.

Individual evidence

  1. ^ Hugh C. Kennedy at the University of Michigan
  2. ^ Thomas Limoncelli, Peter Salus: The Complete April Fools' Day RFCs . Peer-to-Peer Communications Inc., 2007. ISBN 9781573980425
  3. Chad Boutin: Pi seems a good random number generator - but not always the best . Purdue University, April 26, 2005

Web links