Я использую сдвиговый регистр с линейной обратной связью (LFSR) в скремблер конфигурация как экстрактор случайности для слабослучайного источника. Этот источник является полуслучайным (он же. Источник Санта-Вазирани): биты коррелированные и предвзятые (с мин-энтропией ~0,5 на бит). Вот пример LFSR в конфигурации скремблера (это 12-битный, а я использую 32-битный регистр) с понижающей дискретизацией:
Слабослучайный источник энтропии напрямую подает сигнал на скремблер LFSR, а на выходе сильно понижается дискретизация (один выходной бит берется, например, для каждых 1000 слабых бит). Этот метод был предложено здесь. Однако я не нашел примеров, когда скремблеры LFSR используются в качестве экстракторов случайности. Отсюда у меня следующие вопросы:
- Является ли использование скремблера для случайного извлечения полуслучайных данных допустимым? Чем он отличается от других экстракторов? Например, экстрактор фон Неймана подходит только для смещенного, независимого (не коррелированного) ввода и является линейным по времени.
- Как вычислить, сколько требуется субдискретизации/прореживания на выходе LSFR, чтобы результат был пригоден для криптографического использования (учитывая оценку входной минимальной энтропии)?
- Какие последствия имеет сразу весь регистр (например, вывод 32 бита каждые 32000 слабых входных данных), а не 1 бит на каждые 1000 входных данных?
контекст: LFSR используется в следующих TRNG: