Searching \ for '[PIC] Pseudo Random Number Generation' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: techref.massmind.org/techref/microchip/math/index.htm?key=random
Search entire site for: 'Pseudo Random Number Generation'.

Exact match. Not showing close matches.
PICList Thread
'[PIC] Pseudo Random Number Generation'
2006\09\23@154612 by Exiles

flavicon
face
I'm wanting to do Pseudo Random Number Generation for some wait times for a
RBG LED control. I'm having issues finding out how to do this though, any
infomation on how to do it would be greatly appricated Thanks.

2006\09\23@165222 by William Chops Westfield

face picon face

On Sep 23, 2006, at 12:46 PM, Exiles wrote:

> I'm wanting to do Pseudo Random Number Generation

Start here:

http://www.piclist.com/techref/microchip/rand8bit.htm

BillW

2006\09\24@045557 by Peter Bindels

picon face
On 23/09/06, William Chops Westfield <spam_OUTwestfwTakeThisOuTspammac.com> wrote:
>
> On Sep 23, 2006, at 12:46 PM, Exiles wrote:
>
> > I'm wanting to do Pseudo Random Number Generation
>
> Start here:
>
> http://www.piclist.com/techref/microchip/rand8bit.htm

Choose the LFSR or Galois LFSR types. They at least have a
mathematical basis, even though they need not be actually random
they're better than rotating a register.

2006\09\24@064432 by William Chops Westfield

face picon face

On Sep 24, 2006, at 1:55 AM, Peter Bindels wrote:

>> http://www.piclist.com/techref/microchip/rand8bit.htm
>
> Choose the LFSR or Galois LFSR types. They at least have a
> mathematical basis, even though they need not be actually random
> they're better than rotating a register.
>
Look carefully, and I think you'll figure out that the functions
on the page referenced ARE implementations of Galois LFSRs.
Particularly clever implementations thereof that don't look
like they contain nearly enough instructions do so ...

 :-)
BillW

2006\09\24@140147 by Peter Bindels

picon face
> Look carefully, and I think you'll figure out that the functions
> on the page referenced ARE implementations of Galois LFSRs.
> Particularly clever implementations thereof that don't look
> like they contain nearly enough instructions do so ...

The page also contains a few others that look a bit dodgy. I was
mainly aiming at the one at the top, that claims to rotate with carry
and to output that as random (AFAICT).

2006\09\24@140807 by Wouter van Ooijen

face picon face
> I'm wanting to do Pseudo Random Number Generation for some
> wait times for a
> RBG LED control. I'm having issues finding out how to do this
> though, any
> infomation on how to do it would be greatly appricated Thanks.

google LFSR, or read the appropriate chapter of H&H.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2006\09\24@165432 by Tony Smith

picon face
> > Look carefully, and I think you'll figure out that the functions on
> > the page referenced ARE implementations of Galois LFSRs.
> > Particularly clever implementations thereof that don't look
> like they
> > contain nearly enough instructions do so ...
>
> The page also contains a few others that look a bit dodgy. I
> was mainly aiming at the one at the top, that claims to
> rotate with carry and to output that as random (AFAICT).


The problem with the rotate & carry routines is they repeat, eg after 65k
operations (16 bit register).  Not that you'd notice in most cases.

Also think about how to seed the routine, a way to cause the routine to jump
to a different spot in the sequence.  In other words, start the register at
a number, not 0.  Like in old BASIC games, where RANDOMIZE TIMER was used to
seed the routine.  (And it always gave the same sequence too for the same
seed.)

A typical method is that the routine always runs, and when the user presses
a button it outputs the current value in the sequence.  Ok for a dice
rolling app, not so good for something that doesn't have any inputs.

Tony

2006\09\24@183805 by Andrew Warren

face
flavicon
face
Peter Bindels <.....piclistKILLspamspam@spam@mit.edu> wrote:

> Choose the LFSR or Galois LFSR types. They at least have a
> mathematical basis, even though they need not be actually
> random they're better than rotating a register.
> ....
> I [am] mainly aiming at the one at the top, that claims to
> rotate with carry and to output that as random (AFAICT).

Peter:

That one's an 8-bit LFSR.  Here's an explanation which shows quite
clearly that a linear-feedback shift register IS a rotate that
outputs the carry as the pseudo-random bitstream:

   http://en.wikipedia.org/wiki/Linear_feedback_shift_register

-Andrew

=== Andrew Warren - fastfwdspamKILLspamix.netcom.com

2006\09\24@184426 by Andrew Warren

face
flavicon
face
Tony Smith <.....piclistKILLspamspam.....mit.edu> wrote:

> The problem with the rotate & carry routines is they repeat, eg after 65k
> operations (16 bit register).

Tony:

That property is hardly unique to LFSRs.  Since pseudo-random number
generators are deterministic algorithms run on deterministic machines
with finite memory, they ALL repeat.

-Andrew

=== Andrew Warren - EraseMEfastfwdspam_OUTspamTakeThisOuTix.netcom.com

2006\09\24@185424 by M Graff

flavicon
face
Andrew Warren wrote:
> Tony Smith <piclistspamspam_OUTmit.edu> wrote:
>
>> The problem with the rotate & carry routines is they repeat, eg after 65k
>> operations (16 bit register).
>
> Tony:
>
> That property is hardly unique to LFSRs.  Since pseudo-random number
> generators are deterministic algorithms run on deterministic machines
> with finite memory, they ALL repeat.

Unless you are going to add in environmental noise, such as a noisy
diode or some other thing, you will be stuck with LFSRs or the like.

You can use more than one LFSR and do clever things by combining the
values in special ways, incrementing only one LFSR, or using one to
select how many values to skip in the other, etc.

They are still pseudorandom, though.

If all you are doing is choosing a color to display on a RGB LED, does
it really matter if it repeats?  Or how often?

--Michael

2006\09\24@185757 by peter green

flavicon
face

> That property is hardly unique to LFSRs.  Since pseudo-random number
> generators are deterministic algorithms run on deterministic machines
> with finite memory, they ALL repeat.
indeed however with a large enough internal state, the right algorithm and a
sufficiantly random initial seed value predicting the next output from the
previous outputs can be made practically impossible.

it really depends, if its just got to look random to the untrained eye then
you'll probablly get away with 8 bits of state but if it has to defeat
trained cryptographers you will need FAR more.

2006\09\24@192255 by M Graff

flavicon
face
peter green wrote:
>> That property is hardly unique to LFSRs.  Since pseudo-random number
>> generators are deterministic algorithms run on deterministic machines
>> with finite memory, they ALL repeat.
> indeed however with a large enough internal state, the right algorithm and a
> sufficiantly random initial seed value predicting the next output from the
> previous outputs can be made practically impossible.

I always come at things from a cryptographic point of view.  In short,
"No, you cannot."  :)

> it really depends, if its just got to look random to the untrained eye then
> you'll probablly get away with 8 bits of state but if it has to defeat
> trained cryptographers you will need FAR more.

To trained cryptographers, you need true random and/or true
unpredictable state.

--Michael

2006\09\24@223832 by William Chops Westfield

face picon face

On Sep 24, 2006, at 4:22 PM, M Graff wrote:

> To trained cryptographers, you need true random and/or true
> unpredictable state.
>

Pseudo-RN generators are the ones that repeat, and are predictable
to greater or lesser extent.  That's where "pseudo" comes in.
PRNs have lots of advantages in addition to their disadvantages:

You'll never get the same number twice in a row.
You WILL step through all the possible values.
You can repeat a program execution with the same values passing
through, which is handy for debugging.

The original poster asked for pseudo-random number generators.
I assumed he knew what he was asking for, and didn't need a
random number for cryptographic purposes...

BillW

2006\09\24@225549 by Jinx

face picon face
> A typical method is that the routine always runs, and when
> the user presses a button it outputs the current value in the
> sequence.  Ok for a dice rolling app, not so good for
> something that doesn't have any inputs

An analogue function "input" in all PICs is WDT. It's
temperature-dependent and not connected at all with the
digital parts. An application I keep meaning to try, but
never get around to although I know it will work, is to
measure WDT to a fine degree, with a heated resistor
changing the temperature of the PIC. Even a degree is
enough to change the last few decimal places

2006\09\24@231052 by John Chung

picon face
I have and idea. A wild one. Get a reading off a
floating pin using the ADC. Use the value as a seed.
And reseed the generator after certain iteration.
Sound like an idea. Floating pins do not provide a
stable value and their values are within a limited
range. But when you keep on reseeding a value things
get pretty wild.

John

--- Tony Smith <@spam@ajsmithKILLspamspamrivernet.com.au> wrote:

{Quote hidden}

> --

2006\09\25@000721 by Mark Jordan

flavicon
face

       You can feed AC 60Hz to this pin...
       Or HP filtered 60Hz...

On 24 Sep 2006 at 20:10, John Chung wrote:

{Quote hidden}

2006\09\25@031224 by Jan van Dijk

picon face
> You can use more than one LFSR and do clever things by combining the
> values in special ways, incrementing only one LFSR, or using one to
> select how many values to skip in the other, etc.
>
> They are still pseudorandom, though.

Knuth suggests in the Art of Computer Programming that doing clever
things with values of Pseudo random numbers, will make the values less
random! Don't have the book by hand at the moment, but will check the
section when I return home.

2006\09\25@034259 by peter green

flavicon
face


> -----Original Message-----
> From: RemoveMEpiclist-bouncesTakeThisOuTspammit.edu [spamBeGonepiclist-bouncesspamBeGonespammit.edu]On Behalf
> Of William Chops Westfield
> Sent: 25 September 2006 03:38
> To: Microcontroller discussion list - Public.
> Subject: Re: [PIC] Pseudo Random Number Generation
>
>
>
> On Sep 24, 2006, at 4:22 PM, M Graff wrote:
>
> > To trained cryptographers, you need true random and/or true
> > unpredictable state.
> >
>
> Pseudo-RN generators are the ones that repeat,
eventually but with sufficiant internal state the repetition can be put off
to the point several times the life of the universe so far, e.g. way too far
out to matter.

> and are predictable
> to greater or lesser extent.
if you know the seed value and the alogithm then yes but with a good design
working out the seed value from a sample of the output should not be
possible in any reasonable time.

2006\09\25@042656 by William Chops Westfield

face picon face

On Sep 25, 2006, at 12:42 AM, peter green wrote:

>> Pseudo-RN generators are the ones that repeat,
> eventually but with sufficiant internal state the repetition can be
> put off
> to the point several times the life of the universe so far, e.g. way
> too far
> out to matter.
>
>> and are predictable to greater or lesser extent.
> if you know the seed value and the alogithm then yes but with a good
> design
> working out the seed value from a sample of the output should not be
> possible in any reasonable time.
>
For a "straight" LFSR style PRNG, knowing the output value and
the algorithm is sufficient to predict the next number.  You can
do assorted "hiding" (ie returning the low 8 bits of a 63bit PRNG
or doing math with constants), but that's still part of the algorithm,
and as someone else mentioned you run the risk of interfering with
the statistical randomness of your results.  If you want the number
to be unpredictable, you should incorporate some real randomness
rather than just pseudo-randomness.  However, there are plenty of
application where unpredictability is of relatively small importance.

BillW

2006\09\25@045235 by Tony Smith

picon face
> > The problem with the rotate & carry routines is they
> repeat, eg after
> > 65k operations (16 bit register).
>
> Tony:
>
> That property is hardly unique to LFSRs.  Since pseudo-random
> number generators are deterministic algorithms run on
> deterministic machines with finite memory, they ALL repeat.
>
> -Andrew


That's right, which is why I mentioned seeding etc.  The algorithm is
possibly the least of your worries.

Since they repeat, you need some method of jumping around in the sequence.
The Basic 'Randomise Timer' was commonly used as the value of TIMER (system
clock) would change, so the starting point in the sequence would change.  OF
course, if the program happened to start at exactly the same time, you get
the same sequence of numbers.

In a PIC, you'll need to find something like that, typically from the
environment.  Like Jinx said, maybe the WDT (temperature sensitive).  Hook a
light detector to an ADC.  Measure cycles between keypresses and so on.

Personally, having the PRNG run continuously might be the easiest option.
No guaranted to be random though.

Tony

2006\09\25@053338 by Bob Axtell

face picon face
Tony Smith wrote:
{Quote hidden}

Gaming devices use white noise generators which run all the time. A
random number is "pulled" from that
hardware device when needed. These random events are created by biasing
a specially doped diode,
amplifying the signal, and measuring the interval between these quick
events.

Randomization is the most difficult thing to accomplish for gaming
devices, and state gambling boards
require independent testing of each slot machine's randomizer before
certifying its use.

I have seen slot machines pulled for hitting too many jackpots, though;
the operators lose confidence in them.

--Bob.  

2006\09\25@083217 by Howard Winter

face
flavicon
picon face
Michael,

On Sun, 24 Sep 2006 18:22:47 -0500, M Graff wrote:

> To trained cryptographers, you need true random and/or true unpredictable state.

But wouldn't that mean that it couldn't be decrypted by the intended recipient?

Surely what you actually need is something that is unpredictable without some known value, and such known value must be infeasible (impossible?)
to determine solely from the encrypted data?

Cheers,


Howard Winter
St.Albans, England


2006\09\25@083657 by Howard Winter

face
flavicon
picon face
Bill,

On Sun, 24 Sep 2006 19:38:26 -0700, William "Chops" Westfield wrote:

>...
> PRNs have lots of advantages in addition to their disadvantages:
>
> You'll never get the same number twice in a row.

This is also a serious weakness in encryption if this is carried through to the output, in the same way as the famous weakness of Enigma, that it can't
encrypt a letter to itself.  If this was the case it would give cryptographers an "in" to decryption.

Cheers,


Howard Winter
St.Albans, England


2006\09\26@013618 by Peter Bindels

picon face
On 25/09/06, Howard Winter <TakeThisOuTHDRWEraseMEspamspam_OUTh2org.demon.co.uk> wrote:
> Surely what you actually need is something that is unpredictable without some known value, and such known value must be infeasible (impossible?)
> to determine solely from the encrypted data?

That would be, for example, RC4. You could of course just use it for a
random number generator...

2006\09\28@103911 by William Chops Westfield

face picon face

On Sep 25, 2006, at 5:32 AM, Howard Winter wrote:

>> To trained cryptographers, you need true random and/or true
>> unpredictable state.
>
> But wouldn't that mean that it couldn't be decrypted by the
> intended recipient?

The random number isn't used to encrypt the data directly.  Instead
it's used as ONE input to one of those complex brain-hurting
algorithms that does assorted magic.

As a trivial example, concatenating a random number to each chunk
of data that goes through some crunching to produce some encrypted
text is going to make "known plaintext" attacks MUCH more difficult.
If the decryption works, you just throw the decrypted random number
away.  Some of us are a bit sensitive about known-plaintext attacks.

(although I THINK that the random numbers come into play more
with digital signatures and challenge-based authentication and
such, and constructing and exchanging keys, and stuff like that,
rather than pure encryption.)

BillW

2006\09\28@114908 by Peter Bindels

picon face
On 26/09/06, William Chops Westfield <RemoveMEwestfwspamTakeThisOuTmac.com> wrote:
>
> On Sep 25, 2006, at 5:32 AM, Howard Winter wrote:
>
> >> To trained cryptographers, you need true random and/or true
> >> unpredictable state.
> >
> > But wouldn't that mean that it couldn't be decrypted by the
> > intended recipient?
>
> The random number isn't used to encrypt the data directly.  Instead
> it's used as ONE input to one of those complex brain-hurting
> algorithms that does assorted magic.
>
> (although I THINK that the random numbers come into play more
> with digital signatures and challenge-based authentication and
> such, and constructing and exchanging keys, and stuff like that,
> rather than pure encryption.)

Well... you can use random numbers if you have a one-way function with
two inputs that the other half can also do. You perform the one-way
function on the random number K with another random number I, send the
result R to the other half. You receive the others random number P,
perform the one-way function on it with your K. The other half
receives your K and I, performs the one-way function with K' and R,
his random number, and sends back the result of the one-way function
on K' and I. Both sides then have, if the one-way function is
associative ((A+B)+C = A+(B+C)) the same number that nobody else can
determine. The random numbers don't matter.

The most popular example of this is Diffie-Hellman key exchange where
the one-way function is exponentiating a number, with as inputs a
value (I or R) and an exponent (K or K'). No side knows the others
random number, and since the function is effectively a one-way
function you can't determine it either (unless you can do a discrete
logarithm - which you probably can't).


'[PIC] Pseudo Random Number Generation'
2006\10\20@143238 by M Graff
flavicon
face
John Chung wrote:
> I have and idea. A wild one. Get a reading off a
> floating pin using the ADC. Use the value as a seed.
> And reseed the generator after certain iteration.
> Sound like an idea. Floating pins do not provide a
> stable value and their values are within a limited
> range. But when you keep on reseeding a value things
> get pretty wild.

One of the known techniques is a "noisy diode" -- a floating pin, for
crypto's uses at least, is too predictable since it is influenced by
line frequency, etc.  The same sort of idea was done with a sound card
and no microphone connected, and from the data analysis one could see
patterns, which isn't very random.

There are also small devices which will spew a constant bit-stream of
noise, at certain frequencies.  Since it is free-running, sampling it at
whatever interval works well.

--Michael

2006\10\20@145019 by Mark Jordan

flavicon
face

--Message-Boundary-1135
Content-type: text/plain; charset=US-ASCII
Content-transfer-encoding: 7BIT
Content-description: Mail message body

On 20 Oct 2006 at 13:32, M Graff wrote:

{Quote hidden}

       See attached a very simple digital noise generator.

       Mark Jordan


--Message-Boundary-1135
Content-type: text/plain; charset=US-ASCII
Content-disposition: inline
Content-description: Attachment information.

The following section of this message contains a file attachment
prepared for transmission using the Internet MIME message format.
If you are using Pegasus Mail, or any other MIME-compliant system,
you should be able to save it or view it from within your mailer.
If you cannot, please ask your system administrator for assistance.

  ---- File information -----------
    File:  Noise digital.gif
    Date:  8 Oct 2006, 14:34
    Size:  5766 bytes.
    Type:  GIF-image

--Message-Boundary-1135
Content-type: Image/GIF; name="Noise digital.gif"
Content-disposition: attachment; filename="Noise digital.gif"
Content-transfer-encoding: BASE64

R0lGODdh4AHwAPcAAP///+7u7t3d3czMzN3dmczMiP+7u+6qqt2ZmcyIiLu7u6qqqpmZmYiI
iLu7d6qqZmaqZmaqIlWZEUSIAP93d+5mZt1VVcxERP8zM+4iIt0REcwAAHd3d2ZmZlVVVURE
RDMzMyIiIhEREQAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABm
MwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/
MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNm
MzNmZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/
MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZm
M2ZmZmZmmWZmzGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/
M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlm
M5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/
M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxm
M8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/
M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9m
M/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//
M///Zv//mf//zP///wAAAA0NDRoaGigoKCwAAAAA4AHwAAcI/wABCBxIsKDBgwgTKlzIsKHD
hxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fP
n0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3b
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

--Message-Boundary-1135
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

2006\10\20@145406 by Bob Axtell

face picon face
M Graff wrote:
{Quote hidden}

Generating a random number via computer is almost impossible. When slot
machines are submitted
for testing to the gaming boards, more time is spent on this than
anything else. The randomness of
most gaming devices is caused by the operator; i.e. the random interval
to press a button or pull a
handle.

--Bob

More... (looser matching)
- Last day of these posts
- In 2006 , 2007 only
- Today
- New search...