Хелпикс

Главная

Контакты

Случайная статья





Формирование 4КилоБайтного числа из 256байтного



Формирование 4КилоБайтного числа из 256байтного

 

Имея генератор с разрядностью 256 байт получить 8КилоБайтное число не простая задача. Сформировать 32 числа размером 256 байт и сказать что это 8Килобайтное число не получится.

Поясню на простом примере, пускай у нас есть несколько генераторов псевдослучайных чисел с разрядностью 32бита (всего 4миллиарда комбинаций). Как бы мы их не комбинировали в большое число, все равно через 4миллиарда раундов это большое число повторится полностью…

 

Но это не все, есть еще одна искусственность при формировании чисел большой разрядности из более коротких. Значения выдаваемые любым генератором псевдослучайных чисел связаны между собой конкретной и одозначной зависимостью, когда последующие значения всегда функционально зависят от предыдущих.

Нам же нужно связать все псевдослучайные компоненты большого числа зависимостями так , чтобы значение любого компонента влияло на все остальные, а не только на последующие.

Проще говоря, у такого числа не должно быть начального и конечного компонента, все они должны быть в неразрывном кольце.

 

Поэтому нужно делать генератор на полную разрядность в 8Килобайта, используя более короткое криптопреобразование как базовый компонент.  Для этого:

- Исходный 8КилоБайтный буфер шифруется блоками 256байт.

- Шифрование выполнено по схеме гаммирования с обратной связью.

- Такое шифрование производится в два прохода (по кольцу).

- В первом проходе используются модули с переменными кольцевыми сдвигами и закрепленными за нелинейными модулями накопителями.

- Во втором проходе используются фиксированные кольцевые сдвиги и кольцевой сдвиг накопителей относительно нелинейных преобразователей.

В такой схеме состояние любого бита зависит от всех остальных битов в выходном числе.

Разные криптопреобразования в проходах шифрования нужны для более равномерного распределения статистических параметров такого большого числа.

 

Такая схема формирования псевдослучайных чисел выдает последовательность со статистическими параметрами полностью удовлетворяющими критериям случайности по версии NIST (отсутствуют выпадения из заданных диапазонов пропорций и значение Р не опускается ниже 0,002ххх)…

Тесты NIST разработаны  для 64битных генераторов и они при дефолтных настройках осуществляют усреднение параметров для 1500 000 чисел в тестовой последовательности. В нашем же случае, генерируются числа длиной 8К, и усреднение статистических параметров осуществляется всего для 1500 чисел. И тем не менее, уже на такой небольшой выборке значений удается успешно пройти статистические тесты …

При этом обеспечивается скорость генерации случайных чисел на уровне 12ГигаБайт/сек.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.