"Случайные" числа в Borland.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by LynXzp, 30 Mar 2008.

  1. LynXzp

    LynXzp Elder - Старейшина

    Joined:
    21 Oct 2007
    Messages:
    147
    Likes Received:
    22
    Reputations:
    0
    Несколько месяцев назад проскочила информация что в генераторе чисел в Windows найдена зависимость.
    Какими-то учеными было найдено какая-то сложная математическая зависимость..
    Ну й ладно, если бы не.. :D

    [​IMG]

    [​IMG]

    Эти графики получены мною случайно при использовании генератора псевдослучайных чисел, встроенным в Borland (Torbo C++)

    Конечно особо яркой зависимости нету, но что одна функция зависит от второй - факт на лицо, хотя обе генерировались независимо.

    При генерировании было произведена легкая "нормализация" - сумма 10 случайных чисел.

    fTemp=random(10)+random(10)+random(10)+random(10)+random(10)+random(10)+random(10)+random(10)+random(10)+random(10);
    else
    fTemp=random(15)+random(15)+random(15)+random(15)+random(15)+random(15)+random(15)+random(15)+random(15)+random(15);

    З.Ы. Скрин выбран самый "яркий", в некоторых местах такого не видно, но более половины "случайных" чисел такие.
     
  2. Ergoproxy

    Ergoproxy Elder - Старейшина

    Joined:
    18 Jan 2008
    Messages:
    248
    Likes Received:
    155
    Reputations:
    45
    По сути дела зависимость можно найти в чём угодно пока есть цифры будет и зависимость)
     
  3. ForNeVeR

    ForNeVeR Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    О_о Неужели учёные всерьёз этим занимались? А тупо посмортеть ASM-код нужной функции уже не катит? Обязательно нужно изучать только её вывод? Несомненно, это одно из величайших открытий британских учёных :)
    Для справки: не оснащённый спец. устройствами компьютер навряд ли сможет генерировать случайные числа, ведь в точной машине нет места случайности! Конкретно Borland, насколько я помню, генерирует эти числа в зависимости от текущего времени в миллисекундах. Не знаю, использует ли он при этом стандартную вындовую функцию, но в каком-то древнем выпуске "Хакера" я видел статейку, генератору псевдослучайных чисел Delphi посвящённую.
     
  4. Vid0k

    Vid0k Elder - Старейшина

    Joined:
    24 Dec 2007
    Messages:
    393
    Likes Received:
    125
    Reputations:
    13
    Вобще рандом в виндусе работает от состояние оборудования в данный момент.
    и это не рандомные числа а псевдорандомные
     
  5. LynXzp

    LynXzp Elder - Старейшина

    Joined:
    21 Oct 2007
    Messages:
    147
    Likes Received:
    22
    Reputations:
    0
    Ну все они "псевдослучайные" по определению железной болванки что под столом.

    А проблема в том что эти псевдослучайные числа очень активно используются в криптографии (шифровании).

    Ergoproxy, это я по графику, а ученые видимо математическими вычислениями.

    Кстати когда-то у меня был комп Агат-9 я на нем тоже подобную зависимость заметил :D
     
  6. ForNeVeR

    ForNeVeR Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    Дык, в Хацкере и была статейка: "Если известно, по какому алгоритму (читай, какой прогой) генерился пароль к архиву (прога была на Delphi), и что этот пароль генерился на более чем за 5 минут до создания архива, мы можем легко создать словарь всех паролей (т.к. исследуемый псевдорандом зависел только от времени генерации) и пробежаться по этому словарю, быстро подобрав пароль."
    За точность не ручаюсь, смысл передан.
     
  7. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    727
    Reputations:
    266
    А оснащенный - может.

    Кстати неплохими примерами оснащения являются мышь и сетевая карта ;)