+
+<p>Some fields are split further into subfields. The separator character
+shall be ' :' .</p>
+
+<p>Some sentences will have serial numbers associated with them which
+functions both as a generation number and as an aid to deduplication. The
+particular usage for each type of sentence is discussed later, but the
+general form will be as a modulo 10000 number (0-9999).</p>
+
+<p></p>
+
+<h1>Initialisation</h1>
+
+<p>When a node wishes to speak NP it shall send a "QX01" initialisation
+sentence to the other node on connection. It does not wait, it connects and
+sends. Both sides of the connection send simultaniously and symetrically. The
+fields currently in this sentence are:-</p>
+
+<p><span class="code">QX01|<destination>|<origin>|<protocol
+version>|<software
+info>|<time>|<random>|<challange>|<cs></span> </p>
+
+<p>All NP nodes <span style="font-weight: bold">shall<span
+style="font-weight: normal"> use a cryptograph</span></span>ic challenge to
+determine that the node that they are talking to is correct. In this
+protocol, wherever a challenge is mandated, the challenge field will be the
+last field before the checksum and shall include the whole of the sentence
+upto that point as the "salt" to that challenge. </p>
+
+<p>Because we are not yet sufficiently paranoid to include full crytography,
+we will use the standard 32 bit CCITT CRC algorithm on a shared secret
+phrase, each side shall have a different phrase each known to both sides.
+Each connection shall have a different pair of phrases. Each phrase shall be
+at least 40 characters long.</p>
+
+<p>Each sentence that uses a challenge shall include some random element of
+at least 8 characters. The <time> field (if included) is not
+sufficient!</p>
+
+<p>Getting back to the initialisation sentence </p>