Mathematicians, I need your help.

Stated simply, I speculate that combining the length of a message with a good digest (say MD5) of that message to produce a 192-bit signature, is more reliable (eg.unique and secure), and far faster, than calculating a 256-bit(+) digest alone.

I'll save you all the primitive logic(*) that leads me to this conclusion and simply ask those versed in logic and math to:

  1. Counterpoint my assertion.
  2. Suggest practical methods of proof/verification.

Just to spice things up a little, I'll make a prediction: At some point in the near future, <a digest> + <message length> will become defacto-standard for security purposes.


(*)Update: I've been told offline that I probably shouldn't have omitted my primitive logic, so here it is. Ignoring non-digest length messages for simplicity and using MD5 as my example, though any good digest would do.

There will (on average) be one 16-byte message that maps to each of the possible MD5s. And there will be one 32-byte message that maps to each of the MD5s. And one 48-byte message that maps to each of the MD5s. And so on.

So, for messages of length 0 .. 2^64, there will be (on average) 2^59 messages that will map to each of the MD5s. But if you combine the length with the MD5, you get just 1 message, per combined 192-bit signature, over the same message space. Which reduces the chance of collisions, accidental or deliberate, to a tiny percentage relative to the MD5 alone.

And does so more effectively, and far more economically than moving to a 256-bit digest?


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
"Too many [] have been sedated by an oppressive environment of political correctness and risk aversion."

In reply to (OT)Speculation: 128-bit digest + 64-bit length (192-bits) is more reliable and unique than a 256-digest alone. by BrowserUk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.