[Top] [All Lists]

Trivial checksums for BASE-64

1991-11-13 03:25:43
The weather is becoming colder here, so I could use a few flames. That's why
I take the risk to put this completely silly proposal in front of your
flame throwers.

Internet protocols are often said to be successful because they are simple.
I hope this is as simple as it can be. In order to avoid the use of
'complicated' algorithms, this proposal makes use of repeated checksums,
each one covering a (small) part of the byte stream.

- Two more 'safe' characters are reserved. Lets call them (1) end (2).
  (Actual characters should be selected by more clever people).

- (1) can appear anywhere between quantums. It is followed by a checksum
  quantum. A (1)-checksum-quantum group should appear at least once every
  n encoded bytes. (Actual value of n to be selected by clever people).
  A last (1)-checksum-quantum must appear at the end of the encoded

- A check domain extends from the beginning of the encoded object to the
  first (1)-checksum-quantum exclusive, or from one (1)-checksum-quantum
  to the next one, exclusive of both. (Better terminology to be provided
  by native english speakers).

- The checksum quantum, like any quantum, encodes tree bytes. The first byte
  gives the number of end-of-records (commas) encountered in the check domain,
  the two other bytes give the checksum of the bytes contained in the check
  domain, computed using the well-known IP checksum algorithm.

- In order to detect premature truncation, the encoding of an object must
  end by a single occurence of (2).

As has been said earlier, BASE-64 is a means to transfer binary stuff across
roads 'hostile' to such payloads. Checksums in BASE-64 are only a way to
have more confiance in the result. 'End to end', 'application', etc checksums
may of course also be defined and used...

<Prev in Thread] Current Thread [Next in Thread>