GNU bug report logs -
#58472
[PATCH] Make `message-unique-id' less prone to collisions
Previous Next
Reported by: Stefan Kangas <stefankangas <at> gmail.com>
Date: Wed, 12 Oct 2022 16:09:01 UTC
Severity: wishlist
Tags: patch
Done: Stefan Kangas <stefankangas <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
On 2022-10-12 19:46, Stefan Kangas wrote:
> The main goal is to avoid collisions, but using the time also gives an
> idea of when the message was sent, which is kind of nice.
That info is in the Date: line, along with zillions of other Received:
lines. There should be no need to repeat it in the Message-ID line.
> Time also
> guarantees a somewhat unique value even if the user has happened to set
> the random seed.
If that's a concern, we should be using more-random data, e.g., with
(base64-encode-string
(secure-hash 'md5 'iv-auto 128 nil t))
if we want 128 bits of randomness (this yields a string like
"B8a3usyu5QSE/rTLu0nIHg==").
As an aside, it's weird that there's no easy way to ask Emacs for an
N-bit random integer, where the randomness is taken from system entropy.
Shouldn't we extend Emacs to support that? E.g., (make-string 128
'iv-auto) could give you an N-byte entropy-derived random string, or
(random -N) could give you an N-bit entropy-derived random nonnegative
integer, or something like that. Then we could write something like this:
(base64-encode-string (make-string 16 'iv-auto))
to get a Message-ID component with 16 bytes (128 bits) of entropy.
This bug report was last modified 2 years and 175 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.