download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Ентропия чрез HDD Status light-а.

Автор
Съобщение
programings
Сря, 01.05.13, 13:05
Идеята е да се напише скрипт на AutoIt или друг език (най-добре някой мултиплатформен, и имащ достъп до WMI), който да генерира ентропия, базирана на светлинната индикация на твърдият диск (червената лампичка на кутиите ви).
Казано на по-прост език: създаване на сийд за генериране на произволни числа чрез въпросната индикация.

Интересен пример как може да се вземе премигването на светлината чрез WMI има тук.
В случая се взимат премигванията, и се задава на ScrollLock-а на клавиатурата да мига синхронно със светлинната индикация на харда (е, малко е неточно, тъй като се чете броят на завъртанията, и от там се задават премигванията).

Ако по някакъв начин може да се използват тези данни (например с някакъв алгоритъм) за да се генерира сийд за последващо генериране на произволни числа, то би било наистина красиво.

Според мен е интересна идея за PRG генератор.

редактиран от programings на 01.05.13 13:06
zlatena
Сря, 01.05.13, 17:50

RE: Ентропия чрез HDD Status light-а.

” В случая се взимат премигванията, и се задава на ScrollLock-а на клавиатурата да мига синхронно със светлинната индикация на харда (е, малко е неточно, тъй като се чете броят на завъртанията, и от там се задават премигванията).

Интересно как ще се процедира със SSD хардовете( solid state drive),които нямат движещи се части.
programings
Сря, 01.05.13, 18:01
По принцип пак трябва да се отчитат данни от WMI (при Windows), но може би ще е за прехвърлени данни за единица време. Само предполагам.
programings
Сря, 22.05.13, 16:45
Измислих го, макар и тъпо!

Код!

Да обясня накратко, въпреки, че се разбира от коментарите.
Значи следим за прекъсване на твърдият диск, породено от четене от него на каквото и да е било.
Засичаме началото на прекъсването с функция, инициализираща таймер.
След края на прекъсването, спираме таймера и засичаме в милисекунди колко време е отнело прекъсването.
Със стойността (в милисекунди) сийдваме PRG генератора на AutoIt - Random().
След това той генерира 1 или 0, която записваме в нашият сийд файл, който може да се използва за генериране на произволности от алгоритъм за напред.

редактиран от programings на 22.05.13 16:46
zlatena
Сря, 22.05.13, 21:52
Как мога да изпълня кода на Линукс?
programings
Чет, 23.05.13, 19:03
За мое огромно съжаление (и не само) AutoIt е предназначен само за Windows.
По принцип за разработчиците няма проблеми да се направи да работи и под Linux, но почти всички функции и начин на функциониране на езика са предвидени за Windows и неговото автоматизиране. :(

Все пак за спорта (то не би трябвало да има проблем да работи през емулатор де, така че не само за спорта) може да опиташ да си изтеглиш портативното AutoIt от тук, запиши си скрипта в един файл с разширение .au3, и се опитай през Wine (или друг емулатор) да прекараш AutoIt3.exe, като след това му посочиш файла на скрипта, когато те пита.

Не съм правил до сега тази гимнастика на моят пингвин (Debian 7), но опитай да видим какво ще стане.

редактиран от programings на 23.05.13 19:03
редактиран от programings на 23.05.13 19:08

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.