Brandon writes:
     Here is my version of
     the proposal, mixing the truly agreed upon things with my ideas on the
     subject.

     There is a field containing public, plaintext metadata, in the dotted
     field format.

     PublicMetadata.Expires=10/26/2002
     PublicMetadata.HeaderLength=1002
     PublicMetadata.Encryption=RC4

OK, but...why bother with "PublcMetadata" (or "Metadata.Public" if you
want to be truly anal)?  It's not clear that it adds anything.  I can
tell it's public -- it's not encrypted.  Likewise, private metadata is
encrypted and therefore, well, private.  (I assume the word "Metadata"
tells the node something it needs to know).

     Each multipart item should probably contain a list of keys for
     other parts.

OK, I have a slightly different notion of "multipart" -- but yours has
some advantages, so let me integrate the two and propose:

        1. The first part of a multipart message is inserted under the
        key(s) intended by the user.  Its headers contain:

                MIMEType=multipart/linear
                Multipart.PartNumber=1
                Multipart.PartCount=3
                Mulitpart.Part2.Key=D013F88300744B8926D89661DDFD2E93
                Mulitpart.Part3.Key=9C858CDC8C3129073785AEB5682079BE
                Multipart.TotalLength=38362

        The TotalLength field lets the implementation whack off any
        padding in the last part (padding adds to the mixmasterliness,
        especially if all clients agree on the same part size -- I like
        16K).

        2. The additional parts are inserted solely under their CHK's.
        Their headers contain the following:

                MIMEType=multipart
                Multipart.PartNumber=2
                Mulitpart.Part1.Key=E1B8115F246A85D93AE2731F0C51691D

        None of these headers are truly necessary, but can help the
        receiver determine make sure the data is intact.

Open questions:

        1. Where does the "real" MIMEType of the message go?  Does the
        entire message itself constitute a message with its own headers,
        or can all the headers of the multipart message be included as
        part of part 1's headers?

        2. Are the parts encrypted individually, or is the whole message
        encrypted and then split up?  Does it matter?

One idea is to have a multipart/raid5 type.  The encoding for that
should be pretty straightforward.

In a whackier vein, there could be a multipart/otp type, with an extra
"part" that is the one-time-pad.  Each of the data parts is XOR'd
against the many-time-pad.  This isn't truly secure (we can call it
"craptography"), but it will prevent most nodes from reading the
contents of the message.  The originating node will have an easier time
reading it, and any node with part 1 can acquire and read the data, too.

_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev

Reply via email to