FW: First Attempt at Crypto Library
Malcolm Wallace
Malcolm.Wallace@cs.york.ac.uk
Tue, 22 Apr 2003 12:15:41 +0100
"Simon Marlow" <simonmar@microsoft.com> writes:
> Question 1: there's a comment next to 'FileFormat' which mentions that
> 'Codec' might be a more accurate name. It seems to me that 'Codec'
> would indeed be a better choice: many of the libraries under FileFormat
> are more like pure stream-transformers than file formats, and Codec
> encompasses both. What do people think about changing this? (there
> aren't any other implementations of libraries under FileFormat that I'm
> aware of).
I concur that Codec is a better name than FileFormat. It is more
general, since the encodings may in fact never be stored in files -
they could just be transmitted directly to a decoder over a network
for instance.
> If FileFormat became Codec, then the existing FileFormat.Encoding looks
> a bit odd. But moving FileFormat.Encoding.Base64 up to Codec.Base64
> (similarly for FileFormat.Encoding.Yenc) would seem to make sense.
Since we already have a little hierarchy based on the codec's purpose:
Codec.Image (e.g. Codec.Image.Jpeg)
Codec.Video (e.g. Codec.Video.Mpeg2)
then how about adding
Codec.Text (e.g. Codec.Text.Base64)
because its role, like uuencoding, is to convert binary streams to
7-bit ASCII text i.e. transmissible by email.
A codec that is truly multi-purposed would sit directly under Codec,
but I can't immediately think of an example that might fit.
> Question 2: what should the insides of the FileFormat.Encryption (or
> Codec.Encryption) hierarchy look like?
I would have thought that its population would look something like:
Codec.Encryption.DES
Codec.Encryption.RSA
Codec.Encryption.Blowfish
etc. No need for any deeper structure. Any attempt to further
classify crypto schemes by method or purpose would be confusing I
think. Crypto is just crypto, i.e. binary to binary.
Regards,
Malcolm