|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:35 am
Генератор на случайни числа
| Автор |
Съобщение |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Букмарк имах, но при преинсталацията забравих да си го запазя. Ако пуснеш в google hardware RNG ще намериш доста нещо, има както чипове, така и цели модули. Сега не са ми под ръка а нямам навика да помня такива неща, ще ти постна по късно каквото съм гледал.
|
| Сря Юни 28, 2006 2:24 pm |
|
 |
|
HCL
Ранг: Форумен бог
Регистриран на: Вто Дек 14, 2004 1:31 pm Мнения: 3849
|
Тони мерси ориентирах се какво да гледам. Вижте на какво попаднах, какво правили Infineon
http://www.infineon.com/cgi-bin/ifx/por ... peId=17099
32-Bit Multi Application Security Controller
Peripherals
• 1408-bit Crypto Engine
(Crypto@1408, formerly Crypto2000)
for fast execution of public key crypto
algorithms
• Optimized for RSA and Elliptic
Curves GF(p) and GF(2m)
• Key lengths up to 2048-bit
• Dedicated 880 bytes of cryptocoprocessor
RAM
• DES Accelerator
• DES and 3DES in hardware
• True Random Number Generator
(TRNG), AIS-31 compliant
• Three 16-bit Timers
...
• Programmer’s Manual with application
notes (e.g.: T=0, T=1, 3DES, AES, RSA,
Elliptic Curves, SHA1, CRC etc.) and
software developer guidelines
• C libraries (e.g. Crypto library)
|
| Сря Юни 28, 2006 2:50 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Позамислих се и ми хрумва например следното за простичък генератор на случайни числа: подреди си например 20-тина променливи, така че да заемат последователни клетки в паметта ( все една са един масив ). Можеш и таймера да включиш в този масив. Предполага се, че на всяко преминаване през цикъла на главната програма, ще се променят тези променливи. Значи на всеки цикъл на главната програма изчислявай crc16 на тия 20-тина клетки.
Ако решиш да изпробваш с crc16 сподели какво се е получило.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Сря Юни 28, 2006 2:52 pm |
|
 |
|
sthx
Ранг: Форумен бог
Регистриран на: Съб Юни 24, 2006 8:25 pm Мнения: 2292
|
 Re: Генератор на случайни числа
Хардуерен генератор на псевдослучайни числа се прави с преместващ регистър с обратна връзка - входът му е вързан към изхода на схема изключващо ИЛИ , чиито входове са вързани към строго определени разряди на самия регистър. Такива двойки изходи например са
15 и 14 -32767 псевдослучайни стойности
11 и 9 -2047 псевдослучайни стойности
10 и 7 - 1023 псевдослучайни стойности
4 и 3 - 15 псевдослучайни стойности
39 и 35 - 549755813887 псевдослучайни стойности
Такава схема съм реализирал с 4015 и с 4030. Идеята елемнтарно може да се имитира с регистрите на процесора, обаче трабва да се знае, че все пак числовата поредица е повтаряема и че винаги ще започва по един и същи начин, ако се нулира в началото регистъра. Все пак , ако дължината на регистъра е достатъчно голяма, повтаряемостта едва ли ще се забележи - може да става въпрос за период равен на живота на Земята например. "Случайната" инициализация и въобще необходимостта от нея трябва да се реши от самия разработчик.
Неграмотен съм ( не разбрам от С и oт PIC), иначе бих драснал една малка програмка.
Батко ви.
|
| Сря Юни 28, 2006 4:35 pm |
|
 |
|
Balkana
Ранг: Популярен
Регистриран на: Чет Дек 01, 2005 10:42 pm Мнения: 301
|
shtx: Това е хардуерната реализация на полином на цикличен код за който говорим по-горе  И страда от същите недостатъци.
|
| Сря Юни 28, 2006 7:43 pm |
|
 |
|
zz_stefanov
Ранг: Популярен
Регистриран на: Пон Дек 26, 2005 3:19 pm Мнения: 336 Местоположение: Varna
|
Те уж са я публикували на http://www.toto.bg/stats/ , но бяха сменяни сферите няколко пъти.
Успех 
|
| Сря Юни 28, 2006 8:14 pm |
|
 |
|
sthx
Ранг: Форумен бог
Регистриран на: Съб Юни 24, 2006 8:25 pm Мнения: 2292
|
Това е хардуерната реализация на полином на цикличен код за който говорим по-горе  И страда от същите недостатъци.
Аз предложих софтуерно решение. Ако е хардуерно, може да се направи да няма забележими недостатъци. Ще се използва външен генератор , възможно за идеята да се направи силно температурно зависим; възможно е и разрешението на генератора да се направи температурно зависимо. Така ще се намали вероятността, когато почне да го чете процесора, винаги това да става от едно и също место. Ако преместващия регистър се направи достатъчно голям, за повтаряемост (цикличност) може да забравите. Софтуерното решение също е възможно, стига да се осигури случайно инициализиране на регистрите. Не зная колко отговорно трябва да е тази случайна поредица. Ако е необходимо може да се направи и аналогов шумов генератор, който да се чете от ADC на професора. За целта може да се използва ценеров диод, кйто да работи в областта на чупката, но трябва да се прецени неговата температурна зависимост. Друг, по-"чист" вариант е да се усилва шума от високоомен резистор. По-"идеален" шум няма. За целта е необходим само достатъчен коефициент усилване на усилвателя. Можете да си играете и с честотната лента.
Проблемът е решим, въпросът е колко е отговорна задачката и дали си струва да се прави хардуерно.
Мисля, че началното установяване на преместващите регистри може да се направи и без външен бутон . Необходима е голяма RC верига (времеконстанта няколко секунди) и компаратор, който да сработва към напрежението на насищане на кондензатора (електролитен естествено). Калпавите качества на кондензатора и шумовете на компаратора би трябвало да дадат достатъчно голяма неопределеност. Трябва да се пробва.
|
| Сря Юни 28, 2006 8:49 pm |
|
 |
|
HCL
Ранг: Форумен бог
Регистриран на: Вто Дек 14, 2004 1:31 pm Мнения: 3849
|
На който му е интересна темата да хвьрли едно око тук. Хората са се постарали да разяснят доста неща. Има го и CRCетода на Пирев и сорс кода на Cза "аудио метода" на sthx, че и добра сбирка от линкове. Приятно четене
http://en.wikipedia.org/wiki/TRNG
|
| Сря Юни 28, 2006 10:09 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Връщам се пак на CRC16. Праткически няма разлика от хардуерното решение с регистри и обратна връзка с XOR елементи и самото CRC16. При CRC16 също имаш преместване, XOR операция с полином и т.н.
Предложението ми обаче за 20-тина клетки RAM ми се вижда прекалено много за изчислителните ресурси на PIC, по-скоро да се използват 4-5-6 клетки, тъй като за 20-тина клетки и PIC на 10-тина MHz, ще отидат няколко ms за изчисления, а може и да не се разполага с това време.
Първоначалното установяване на масива от клетки може евнтуално да става с TMR0, само че, се иска да се прочете какво точно прави с TMR0 един PIC след RESET, за да се види дали ще мине номера.
Може и изчисленото CRC16 да го вмъкваш наново в масива от клетки, така със сигурност ще стане голямо мазало и няма да имаш повторения на генерираните числа.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Сря Юни 28, 2006 11:17 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
 Значи люде във мойте води цопнахте
Значи люде във мойте води цопнахте. По спецификата на мойта работа ми требе доста често обръщения към RNG(RNG - real number generator). Някои хора в БГ-то му викат генератор на случайни числа.Проблема е да си обясниш за себе си колко трябва да е "случаен" този генератор. Защото ако не е за нещо важно може да се ползва псевдослучаен генератор например да вземе достатъчно дълъг регистър с обратни връзки( периода на повторение може да е до 10^77). Иначе трябва да се изполва аналогов източник на шум(специализирани диоди - има руски има и на моторола) който после да се дискретизира и т.н.
и НАЙ-ВАЖНОТО:
изследванията доколко е случаен даден генератор траят до една две седмици!!!
защото се пуска да бълва данни и се изследва , и се изследва..... до скъсване
но това е например ако се занимавате с криптография иначе ползвайте си таймера на ПЦ-то с функцията rand(seed) на Borland.... и си пейте
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Чет Юни 29, 2006 12:55 pm |
|
 |
|
denis_hasan
Ранг: Новодошъл
Регистриран на: Сря Окт 26, 2005 7:17 pm Мнения: 106 Местоположение: Sofia
|
 Re: Значи люде във мойте води цопнахте
не че нещо ама RNG не е ли Random Number Generation, или се бъркам

|
| Чет Юни 29, 2006 1:05 pm |
|
 |
|
rumen
Ранг: Почетен член
Регистриран на: Чет Ное 25, 2004 3:42 pm Мнения: 913
|
Със псевдо случайна последователност.
Преди мнооого мнооого години в ТНТМ се заиграх по-следния начин.
Рисувам си точка с кординати Х,У
Кадето Х и У са случайни числа.
След някакво време се вижда че числата все пак са групирани има области по светли и по тъмни.
И тези области са си винаги на едни и същи места при всяко пускане.
|
| Чет Юни 29, 2006 1:22 pm |
|
 |
|
HCL
Ранг: Форумен бог
Регистриран на: Вто Дек 14, 2004 1:31 pm Мнения: 3849
|
 Re: Значи люде във мойте води цопнахте
е то това е [Random Number Generator] на [Real] числа  , т.е. 0 няма как да ти генерира 
|
| Чет Юни 29, 2006 2:40 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
 право думаш
HCL - прав си!!
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Чет Юни 29, 2006 4:49 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
 ...бе прави сте
Real Noise Generator, True Random Generator названия всякакви
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Чет Юни 29, 2006 4:54 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|