[REBOL] Re: How to generate a UUID? (was possible data format... Re:Re: dbms3.r
From: joel:neely:fedex at: 16-Jan-2002 20:16
Hi, again, Gregg,
Gregg Irwin wrote:
> I don't know if "cryptographically secure" equates to
> "universally unique", but I'd be glad if it did. :)
>
(Should have checked before the previous note...) CHECKSUM/SECURE
is represented as being SHA, which does produce a 160-bit "secure"
hash of its input. According to the _Federal_Register_ ["Proposed
Federal Information Processing Standard for Secure Hash Standard",
v. 57, n. 21, 31 Jan 1992, pp. 3747-3749]
The SHA is called secure because it is designed to be compu-
tationally infeasible to recover a message corresponding to
a given message digest, or to find two different messages
which will produce the same message digest. Any change to a
message in transit will, with a very high probability, result
in a different message digest, and the signature will fail
to verify.
According to Bruce Schneier in _Applied_Cryptography_ (2d edition,
John Wiley & Sons, 1996)
There are no known cryptographic attacks against SHA.
Because it produces a 160-bit hash, it is more resistant
to brute-force attacks (including birthday attacks) than
128-bit hash functions...
Needless to say, none of this implies that synonyms fail to exist
(see previous note), but simply that it should be infeasibly hard
to construct a synonym for a given input.
-jn-
--
; sub REBOL {}; sub head ($) {@_[0]}
REBOL []
# despam: func [e] [replace replace/all e ":" "." "#" "@"]
; sub despam {my ($e) = @_; $e =~ tr/:#/.@/; return "\n$e"}
print head reverse despam "moc:xedef#yleen:leoj" ;