Replace "crypto" with "entropic" Peter McGoron (05 May 2026 05:45 UTC)
Re: Replace "crypto" with "entropic" John Cowan (05 May 2026 06:15 UTC)
Re: Replace "crypto" with "entropic" Wolfgang Corcoran-Mathe (06 May 2026 23:57 UTC)
Re: Replace "crypto" with "entropic" Peter McGoron (07 May 2026 12:11 UTC)
Re: Replace "crypto" with "entropic" John Cowan (07 May 2026 23:43 UTC)
Re: Replace "crypto" with "entropic" Ray Dillinger (15 May 2026 07:08 UTC)

Re: Replace "crypto" with "entropic" Wolfgang Corcoran-Mathe 06 May 2026 23:57 UTC

Peter,

On 2026-05-05 01:44 -0400, Peter McGoron wrote:
> This has the following benefits:
>
> 1. More in-line with system calls like `getentropy`.
> 2. More neutral. "Cryptographic" is a loaded term that people
> inevitably associate with "high quality," when there is little that
> a Scheme implementation can do to ensure that.
> 3. Emphasizes that the particular generator is not meant to be
> predictable. (CSPRNGs are repeatable and "cryptographic".)
> 4. Doesn't require you to define "cryptographic" in the SRFI.

I'll consider it, but at the moment I see no major advantage to
'entropic', except for the one mentioned by von Neumann's in his
comments to Claude Shannon: "[N]o one really knows what entropy is,
so in a debate you will always have the advantage."

> As an aside, the usual R7RS library convention is `(srfi 271
> [sublibrary])` not `(srfi 271 [library name] [sublibrary])`. I very
> much like the shortened convention over the SRFI 97 convention
> because then I don't have to remember the SRFI library name.

Why the preference for exactly three library components?  Numerology?
:-)

If I understand correctly, this would give you

    (srfi 271 crypto)
    (srfi 271 repeatable)
    (srfi 271 xorshift)
    (srfi 271 xoshiro256++),

but the last two libraries use the 'repeatable' interface and,
I think, should indicate that in their names:

    (srfi 271 repeatable-xorshift)
    (srfi 271 repeatable-xoshiro256++)

But I don't like this nearly as much as the directory-style structure
that's specified in the SRFI:

    (srfi 271 random repeatable xorshift)
    (srfi 271 random repeatable xoshiro256++)

That 'random' component should go, though.  It's an artifact of when I
was calling these libraries (scheme random ...). Thus the next draft
should probably have

    (srfi 271 crypto)
    (srfi 271 repeatable)
    (srfi 271 repeatable xorshiro256++),

etc., with the recommendation that "srfi 271" become "scheme random"
in R7RS, should this SRFI ever become part of the Report.

Thanks again for your commentary.

--
Wolfgang Corcoran-Mathe  <xxxxxx@sigwinch.xyz>