EmbeddedRelated.com
Forums

Random generator initialisation

Started by cemik1 May 18, 2005
Hi All,
Have you got any idea about considerable fast random generator 
initialisation (the first value)? 
I have tried to use RAM contest to do it (some XOR and ADD of 
0x80...0x9ff  area) but I don't know if it is really random after power 
on and most important after other resets.
Using timers A (32kHz oscillator) and B (internal RC) by reading TBR in 
timerA interrupt is either time consuming (long gate period) or not 
enough random (short gate period).
Thank you for help in advance.
Regards,
Cezary Mikowski




Beginning Microcontrollers with the MSP430

If I needed to have a real random number, I'd first try to amplify the

thermal noise from a diode junction, and then read it with an A/D.
It's just an idea, I don't know yet how would I design it being cheap
and 
low-power, but as soon as I have some free time, I'll try.
Let me know if it works, and how did you do it.

Eric Cruz

At 02:31 18/5/2005, you wrote:
>Hi All,
>Have you got any idea about considerable fast random generator
>initialisation (the first value)?
>I have tried to use RAM contest to do it (some XOR and ADD of
>0x80...0x9ff  area) but I don't know if it is really random after power
>on and most important after other resets.
>Using timers A (32kHz oscillator) and B (internal RC) by reading TBR in
>timerA interrupt is either time consuming (long gate period) or not
>enough random (short gate period).
>Thank you for help in advance.
>Regards,
>Cezary Mikowski
>
>
>
>
>
>.
>
>
>Yahoo! Groups Links
>
>
>
>


Hi,
for MSP430 with ADC12 and temperature sensor, you could read the 
temperature sensor and try to pick some noise, with short sampling gate 
time. Then, if you combine the LSBs of 32 measurements, you should get a 
true 32 bit random number. If noise turns out to be small, i would use 
more than one measurement to get one random bit, with parity of their LSBs.
Of course, all this will take some time, too - maybe 100 usec or longer. 
Anyway, this is short enough to produce a huge enough test set for 
checking the correlations.
Regards,
D. Teuchert

Eric Schinkoeth Reis Barbosa da Cruz wrote:

>If I needed to have a real random number, I'd
first try to amplify the 
>thermal noise from a diode junction, and then read it with an A/D.
>It's just an idea, I don't know yet how would I design it being
cheap and 
>low-power, but as soon as I have some free time, I'll try.
>Let me know if it works, and how did you do it.
>
>Eric Cruz
>
>At 02:31 18/5/2005, you wrote:
>  
>
>>Hi All,
>>Have you got any idea about considerable fast random generator
>>initialisation (the first value)?
>>I have tried to use RAM contest to do it (some XOR and ADD of
>>0x80...0x9ff  area) but I don't know if it is really random after
power
>>on and most important after other resets.
>>Using timers A (32kHz oscillator) and B (internal RC) by reading TBR in
>>timerA interrupt is either time consuming (long gate period) or not
>>enough random (short gate period).
>>Thank you for help in advance.
>>Regards,
>>Cezary Mikowski
>>
>>
>>
>>
>>
>>.
>>
>>
>>Yahoo! Groups Links
>>
>>
>>
>>
>>    
>>
>
>
>
>.
>
> 
>Yahoo! Groups Links
>
>
>
> 
>
>
>
>  
>





You gave me an idea: how about connecting both DAC lines to Vref lines? The

first reading of the temperature sensor would be the real temperature, 
let's say in the middle of the scale. With this result, we could increase 
Vref- and decrease Vref+ accordingly. If I didn't miss anything, this could

really show a huge noise and a true random number!
What do you think?

Eric Cruz

Damn university!!! So many fun things to play with and so much homework to 
do...

At 03:50 18/5/2005, you wrote:
>Hi,
>for MSP430 with ADC12 and temperature sensor, you could read the
>temperature sensor and try to pick some noise, with short sampling gate
>time. Then, if you combine the LSBs of 32 measurements, you should get a
>true 32 bit random number. If noise turns out to be small, i would use
>more than one measurement to get one random bit, with parity of their LSBs.
>Of course, all this will take some time, too - maybe 100 usec or longer.
>Anyway, this is short enough to produce a huge enough test set for
>checking the correlations.
>Regards,
>D. Teuchert
>
>Eric Schinkoeth Reis Barbosa da Cruz wrote:
>
> >If I needed to have a real random number, I'd first try to amplify
the
> >thermal noise from a diode junction, and then read it with an A/D.
> >It's just an idea, I don't know yet how would I design it
being cheap and
> >low-power, but as soon as I have some free time, I'll try.
> >Let me know if it works, and how did you do it.
> >
> >Eric Cruz
> >
> >At 02:31 18/5/2005, you wrote:
> >
> >
> >>Hi All,
> >>Have you got any idea about considerable fast random generator
> >>initialisation (the first value)?
> >>I have tried to use RAM contest to do it (some XOR and ADD of
> >>0x80...0x9ff  area) but I don't know if it is really random
after power
> >>on and most important after other resets.
> >>Using timers A (32kHz oscillator) and B (internal RC) by reading
TBR in
> >>timerA interrupt is either time consuming (long gate period) or not
> >>enough random (short gate period).
> >>Thank you for help in advance.
> >>Regards,
> >>Cezary Mikowski
> >>
> >>
> >>
> >>
> >>
> >>.
> >>
> >>
> >>Yahoo! Groups Links
> >>
> >>
> >>
> >>
> >>
> >>
> >
> >
> >
> >.
> >
> >
> >Yahoo! Groups Links
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>
>
>
>
>.
>
>
>Yahoo! Groups Links
>
>
>
>


Many moons ago, some time in the pre-cambrian era, I needed to seed a 
random number generator and was looking at a making it as truly random 
as i could. this eliminates anything related directly to the system. I 
ended up with a bundle of old noisy carbon resistors connected to a 
741with non-inverting input to ground through a resistor. I can't 
remember the gain I ended up using. It was reasonable for the era.

Al

cemik1 wrote:

>Hi All,
>Have you got any idea about considerable fast random generator 
>initialisation (the first value)? 
>I have tried to use RAM contest to do it (some XOR and ADD of 
>0x80...0x9ff  area) but I don't know if it is really random after power

>on and most important after other resets.
>Using timers A (32kHz oscillator) and B (internal RC) by reading TBR in 
>timerA interrupt is either time consuming (long gate period) or not 
>enough random (short gate period).
>Thank you for help in advance.
>Regards,
>Cezary Mikowski
>
>
>
>
>
>.
>
> 
>Yahoo! Groups Links
>
>
>
> 
>
>
>
>
>  
>


Hi Eric,
yes, if you can devote the DACs to the random number generator, that may 
help, just do it (instead of reading all these groups...)
Regards,
D. Teuchert

Eric Schinkoeth Reis Barbosa da Cruz wrote:

>You gave me an idea: how about connecting both DAC
lines to Vref lines? The 
>first reading of the temperature sensor would be the real temperature, 
>let's say in the middle of the scale. With this result, we could
increase 
>Vref- and decrease Vref+ accordingly. If I didn't miss anything, this
could 
>really show a huge noise and a true random number!
>What do you think?
>
>Eric Cruz
>
>Damn university!!! So many fun things to play with and so much homework to 
>do...
>
>At 03:50 18/5/2005, you wrote:
>  
>
>>Hi,
>>for MSP430 with ADC12 and temperature sensor, you could read the
>>temperature sensor and try to pick some noise, with short sampling gate
>>time. Then, if you combine the LSBs of 32 measurements, you should get a
>>true 32 bit random number. If noise turns out to be small, i would use
>>more than one measurement to get one random bit, with parity of their
LSBs.
>>Of course, all this will take some time, too - maybe 100 usec or longer.
>>Anyway, this is short enough to produce a huge enough test set for
>>checking the correlations.
>>Regards,
>>D. Teuchert
>>
>>Eric Schinkoeth Reis Barbosa da Cruz wrote:
>>
>>    
>>
>>>If I needed to have a real random number, I'd first try to
amplify the
>>>thermal noise from a diode junction, and then read it with an A/D.
>>>It's just an idea, I don't know yet how would I design it
being cheap and
>>>low-power, but as soon as I have some free time, I'll try.
>>>Let me know if it works, and how did you do it.
>>>
>>>Eric Cruz
>>>
>>>At 02:31 18/5/2005, you wrote:
>>>
>>>
>>>      
>>>
>>>>Hi All,
>>>>Have you got any idea about considerable fast random generator
>>>>initialisation (the first value)?
>>>>I have tried to use RAM contest to do it (some XOR and ADD of
>>>>0x80...0x9ff  area) but I don't know if it is really random
after power
>>>>on and most important after other resets.
>>>>Using timers A (32kHz oscillator) and B (internal RC) by reading
TBR in
>>>>timerA interrupt is either time consuming (long gate period) or
not
>>>>enough random (short gate period).
>>>>Thank you for help in advance.
>>>>Regards,
>>>>Cezary Mikowski
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>.
>>>>
>>>>
>>>>Yahoo! Groups Links
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>        
>>>>
>>>
>>>.
>>>
>>>
>>>Yahoo! Groups Links
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>      
>>>
>>
>>
>>
>>
>>.
>>
>>
>>Yahoo! Groups Links
>>
>>
>>
>>
>>    
>>
>
>
>
>.
>
> 
>Yahoo! Groups Links
>
>
>
> 
>
>
>
>  
>





I was not thinking about devotion, but just using it for a while.
But surely it depends on what else you need it to.

Eric Cruz

At 05:15 18/5/2005, you wrote:
>Hi Eric,
>yes, if you can devote the DACs to the random number generator, that may
>help, just do it (instead of reading all these groups...)
>Regards,
>D. Teuchert
>
>Eric Schinkoeth Reis Barbosa da Cruz wrote:
>
> >You gave me an idea: how about connecting both DAC lines to Vref lines?
The
> >first reading of the temperature sensor would be the real temperature,
> >let's say in the middle of the scale. With this result, we could
increase
> >Vref- and decrease Vref+ accordingly. If I didn't miss anything,
this could
> >really show a huge noise and a true random number!
> >What do you think?
> >
> >Eric Cruz
> >
> >Damn university!!! So many fun things to play with and so much homework
to
> >do...
> >
> >At 03:50 18/5/2005, you wrote:
> >
> >
> >>Hi,
> >>for MSP430 with ADC12 and temperature sensor, you could read the
> >>temperature sensor and try to pick some noise, with short sampling
gate
> >>time. Then, if you combine the LSBs of 32 measurements, you should
get a
> >>true 32 bit random number. If noise turns out to be small, i would
use
> >>more than one measurement to get one random bit, with parity of
their LSBs.
> >>Of course, all this will take some time, too - maybe 100 usec or
longer.
> >>Anyway, this is short enough to produce a huge enough test set for
> >>checking the correlations.
> >>Regards,
> >>D. Teuchert
> >>
> >>Eric Schinkoeth Reis Barbosa da Cruz wrote:
> >>
> >>
> >>
> >>>If I needed to have a real random number, I'd first try to
amplify the
> >>>thermal noise from a diode junction, and then read it with an
A/D.
> >>>It's just an idea, I don't know yet how would I
design it being cheap and
> >>>low-power, but as soon as I have some free time, I'll try.
> >>>Let me know if it works, and how did you do it.
> >>>
> >>>Eric Cruz
> >>>
> >>>At 02:31 18/5/2005, you wrote:
> >>>
> >>>
> >>>
> >>>
> >>>>Hi All,
> >>>>Have you got any idea about considerable fast random
generator
> >>>>initialisation (the first value)?
> >>>>I have tried to use RAM contest to do it (some XOR and ADD
of
> >>>>0x80...0x9ff  area) but I don't know if it is really
random after power
> >>>>on and most important after other resets.
> >>>>Using timers A (32kHz oscillator) and B (internal RC) by
reading TBR in
> >>>>timerA interrupt is either time consuming (long gate
period) or not
> >>>>enough random (short gate period).
> >>>>Thank you for help in advance.
> >>>>Regards,
> >>>>Cezary Mikowski
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>.
> >>>>
> >>>>
> >>>>Yahoo! Groups Links
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>>.
> >>>
> >>>
> >>>Yahoo! Groups Links
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>
> >>
> >>
> >>
> >>.
> >>
> >>
> >>Yahoo! Groups Links
> >>
> >>
> >>
> >>
> >>
> >>
> >
> >
> >
> >.
> >
> >
> >Yahoo! Groups Links
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>
>
>
>
>.
>
>
>Yahoo! Groups Links
>
>
>
>


I believe another way, without the need of an ADC, would be using the
comparator (present in all MSP flavors) plus any flavor of internal timer
and a pink or white noise generator similar to AL's.
-Augusto


-----Original Message-----
From: msp430@msp4... [mailto:msp430@msp4...] On Behalf Of
Onestone
Sent: Wednesday, May 18, 2005 4:37 AM
To: msp430@msp4...
Subject: Re: [msp430] Random generator initialisation


Many moons ago, some time in the pre-cambrian era, I needed to seed a 
random number generator and was looking at a making it as truly random 
as i could. this eliminates anything related directly to the system. I 
ended up with a bundle of old noisy carbon resistors connected to a 
741with non-inverting input to ground through a resistor. I can't 
remember the gain I ended up using. It was reasonable for the era.

Al

cemik1 wrote:

>Hi All,
>Have you got any idea about considerable fast random generator
>initialisation (the first value)? 
>I have tried to use RAM contest to do it (some XOR and ADD of 
>0x80...0x9ff  area) but I don't know if it is really random after power

>on and most important after other resets.
>Using timers A (32kHz oscillator) and B (internal RC) by reading TBR in 
>timerA interrupt is either time consuming (long gate period) or not 
>enough random (short gate period).
>Thank you for help in advance.
>Regards,
>Cezary Mikowski
>
>
>
>
>
>.
>
> 
>Yahoo! Groups Links
>
>
>
> 
>
>
>
>
>  
>



.

 
Yahoo! Groups Links



 



-- 
Internal Virus Database is out-of-date.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.11.7 - Release Date: 9/5/2005
 


----- Original Message ----- 
From: "augusto einsfeldt" <aee@aee@...>
To: <msp430@msp4...>
Sent: Wednesday, May 18, 2005 1:22 PM
Subject: RE: [msp430] Random generator initialisation


>I believe another way, without the need of an ADC,
would be using the
> comparator (present in all MSP flavors) plus any flavor of internal timer
> and a pink or white noise generator similar to AL's.

Zener diodes are very noisy and are often used as noise generators.

Leon.


To go slightly OT (what me!). the reason why I used carbon resistors was 
based around a 'Wireless World' article on 'free energy'. It
had 
proposed a 3D array of noisy carbon resistors as a possible low current 
power source. I tried it, since I had loads of 'scrap' carbon
resistors, 
and it worked, although you couldn't run much off it. An MSP430 would 
possibly have worked, but this was well before that era. I remembered 
from these experiments just how noisy the carbon resistors had been, and 
when I needed random they seemed just the job.

Al

Leon Heller wrote:

>----- Original Message ----- 
>From: "augusto einsfeldt" <aee@aee@...>
>To: <msp430@msp4...>
>Sent: Wednesday, May 18, 2005 1:22 PM
>Subject: RE: [msp430] Random generator initialisation
>
>
>  
>
>>I believe another way, without the need of an ADC, would be using the
>>comparator (present in all MSP flavors) plus any flavor of internal
timer
>>and a pink or white noise generator similar to AL's.
>>    
>>
>
>Zener diodes are very noisy and are often used as noise generators.
>
>Leon.
>
>
>
>.
>
> 
>Yahoo! Groups Links
>
>
>
> 
>
>
>
>
>  
>