(Fyi a hash of only 12 hex digits (48 bits) is not long enough to prevent retroactively composing a message that matches the hash-fragment, if the message is long enough that you can find 48 bits of irrelevant entropy in it.)
(Well I declare that the message is very short. What would 48bits of entropy, in grammatically and semantically correct text, look like? Edit: I guess, if I could assume I could think of 4 synonyms for every word in the paragraph, the paragraph would only have to be a bit over 24 words long for me to be able to find something. Fortunately, it’s only 11 words long.)
Suppose there’s a spot in a sentence where either of two synonyms would be effectively the same. That’s 1 bit of available entropy. Then a spot where either a period or a comma would both work; that’s another bit of entropy. If you compose a message and annotate it with 48 two-way branches like this, using a notation like spintax, then you can programmatically create 2^48 effectively-identical messages. Then if you check the hash of each, you have good odds of finding one which matches the 48-bit hash fragment.
Not totally sure, but IIRC characters like ‘a’ or ‘z’ are about 8 bits each, depending how the text is encoded. So 48 bits would give you 6 characters.
(Fyi a hash of only 12 hex digits (48 bits) is not long enough to prevent retroactively composing a message that matches the hash-fragment, if the message is long enough that you can find 48 bits of irrelevant entropy in it.)
(Well I declare that the message is very short.
What would 48bits of entropy, in grammatically and semantically correct text, look like? Edit: I guess, if I could assume I could think of 4 synonyms for every word in the paragraph, the paragraph would only have to be a bit over 24 words long for me to be able to find something. Fortunately, it’s only 11 words long.)
Suppose there’s a spot in a sentence where either of two synonyms would be effectively the same. That’s 1 bit of available entropy. Then a spot where either a period or a comma would both work; that’s another bit of entropy. If you compose a message and annotate it with 48 two-way branches like this, using a notation like spintax, then you can programmatically create 2^48 effectively-identical messages. Then if you check the hash of each, you have good odds of finding one which matches the 48-bit hash fragment.
Not totally sure, but IIRC characters like ‘a’ or ‘z’ are about 8 bits each, depending how the text is encoded. So 48 bits would give you 6 characters.
I guess if we you saw a lot of noise in the prediction, random misspellings, tortured grammar, you’d reject.
Is there a reason you can’t post the full hash
not really, just didn’t want to draw too much attention to it.