Jak zaimplementować generator liczb losowych w assemblerze dla AVR1200?
generator liczb losowych w avr
From: Roland Zerek <R.Zerek_at_nospam_adb.pl>
Subject: generator liczb losowych w avr
Date: Wed, 10 Jan 2001 11:30:21 +0100
Potrzebuje wykonac cos takiego na AVR1200 _w_asemblerze_. Nie chodzi
mi o C/C++, bo tutaj nie mam z tym problemu - mam takowe, ale tam jest
operowanie na typie float (double).
Roland
From: Marcin Wolcendorf <wolcendo_at_nospam_free.polbox.pl>
Subject: Re: generator liczb losowych w avr
Date: Thu, 11 Jan 2001 06:58:23 +0100
Witam,
Roland Zerek wrote:
Potrzebuje wykonac cos takiego na AVR1200 _w_asemblerze_. Nie chodzi
mi o C/C++, bo tutaj nie mam z tym problemu - mam takowe, ale tam jest
operowanie na typie float (double).
To zależy, jak dobry ma być. Jeśli nie musi mieć zbyt dobrych
własności, to w pętli wywoływanej co czas jakiś robisz l*=5; l+=7, z
reguły na 2. bajtach. Później modulo zakres i jest. Ale to baaaardzo
kiepściutki generator. W miarę dobrze działa, jeśli jest czytany rzadko i
w losowych chwilach, i tu głównie widać jego losowość...
Pozdrawiam,
Marcin.
--
'My experience is that it is hard to find software producers that aren't
fuzzy.'
From: Roland Zerek <R.Zerek_at_nospam_adb.pl>
Subject: Re: generator liczb losowych w avr
Date: Fri, 12 Jan 2001 08:02:20 +0100
Potrzebuje wykonac cos takiego na AVR1200 _w_asemblerze_. Nie chodzi
mi o C/C++, bo tutaj nie mam z tym problemu - mam takowe, ale tam jest
operowanie na typie float (double).
To zależy, jak dobry ma być. Jeśli nie musi mieć zbyt dobrych
własności, to w pętli wywoływanej co czas jakiś robisz l*=5; l+=7, z
reguły na 2. bajtach. Później modulo zakres i jest. Ale to baaaardzo
kiepściutki generator. W miarę dobrze działa, jeśli jest czytany rzadko i
w losowych chwilach, i tu głównie widać jego losowość...
Generatora chce uzyc do generacji zmiennego kodu w alarmie samochodowym,
wiec rzeczywiscie beda to bardzo losowe chwile. Wiem, ze moge sobie
zafundowac licznik sprzetowo/programowy, ale chcialbym miec cos bardziej
wyrafinowanego. Moze w stylu generatora, jaki sie przewijal przez liste
pl.misc.programming.c, a ktorego uzywam i uwazam, ze jest b. dobry, ale
w c/c++. Tym razem caly soft robie w asm i z tad problem...
Ta w/w petla moze nie bedzie zla.
Pozdrawiam
Roland
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: generator liczb losowych w avr
Date: 12 Jan 2001 10:40:48 GMT
On Fri, 12 Jan 2001 08:02:20 +0100, Roland Zerek <R.Zerek_at_nospam_adb.pl> wrote:
Generatora chce uzyc do generacji zmiennego kodu w alarmie samochodowym,
wiec rzeczywiscie beda to bardzo losowe chwile. Wiem, ze moge sobie
zafundowac licznik sprzetowo/programowy, ale chcialbym miec cos bardziej
wyrafinowanego.
To chyba jakos kiepsko sie do tego zabierasz, bo co ci da taki generator ?
Tu nie chodzi o to zeby zmieniac kod, tylko o to zeby te poprzednio
uzyte nie otwarly pojazdu.
Ja bym to zrobil tak: bierzemy 32 do 64 bitow. Czesc z nich przeznaczamy
na "haslo", czy tez jak kto woli klucz. Sa zawsze stale i identyfikuja
pilota. Bit czy dwa moze podawac ktory klawisz nacisnieto.
Natomiast reszta powinna byc licznikiem powiekszanym o 1 za kazdym
nacisnieciem, i to tak liczacy przynajmniej do 1000.
Do tego jak sie chcesz bawic to faktycznie mozesz jeszcze dorzucic
troche bitow losowych, zegar, itp..
Teraz calosc szyfrujemy mniej lub bardziej ambitnym algorytmem,
i wysylamy. Po zaszyfrowaniu powinno juz wygladac losowo -
oczywiscie to znaczy ze szyfr nie moze byc trywialny - zmiana danych
o 1 bit powinna zaowocowac zmiana zakodowanego o kilka bitow.
Kody RCx sie tu ladnie nadaja.
Odbiornik odszyfrowuje wiadomosc, sprawdza czy haslo sie zgadza,
sprawdza czy licznik jest wiekszy niz ostanio uzyty [bedzie sie przekrecal,
wiec np jak ostatnio uzyto 874, to teraz akceptujemy 875-1000, 0-125 ]
i otwiera lub nie.
J.
From: Roland Zerek <R.Zerek_at_nospam_adb.pl>
Subject: Re: generator liczb losowych w avr
Date: Mon, 15 Jan 2001 10:18:58 +0100
To chyba jakos kiepsko sie do tego zabierasz, bo co ci da taki generator ?
AVRki programuje od niedawna. No i niestety nie da sie tutaj zastosowac
wyszukanych metod z rodem PCta, wiec wybacz ;-(
Tu nie chodzi o to zeby zmieniac kod, tylko o to zeby te poprzednio
uzyte nie otwarly pojazdu.
[ciach]
Dzieki za sugestie... Podoba mi sie ten pomysl. A moj problem chyba
polegal na braku prostego pomyslu, wiec sie troche miotalem. Milego dnia
zycze...
Roland