Close

First log, second stage.

A project log for Another Table-Based Stream Scrambler

Non-reversible, non-cryptographic scrambler for PRNG, 16 bits at a time.

yann-guidon-ygdesYann Guidon / YGDES 16 hours ago0 Comments

I just started the project and I'm already questioning a few early design choices.

The first stage mixes D with F & G to provide the two addresses, and R is a direct result of the table lookup. There is not much to be done there, and the input entropy is meant to be already "minimal".

The second stage does the dual update (regardless of A and B being identical). That's what I feel needs an enhancement.

I have thought of extending the width of the LUT but 32 bits would only make the problem worse and the source of S=E^H would not be solved.

For now, it works "well enough" to complement the basic rand(), since the LUT adds a pretty strong non-linearity to the output so it masks short-term correlations and greatly extends the period.

Discussions