Folosesc un registru cu deplasare cu feedback liniar (LFSR) într-un scrambler configurație ca un extractor de aleatoriu pentru o sursă slab aleatorie. Această sursă este semi-aleatorie (alias. sursa Santha-Vazirani): biţii sunt corelate și părtinitoare (cu o min-entropie de ~0,5 pe bit). Iată un exemplu de LFSR într-o configurație de scrambler (acesta este de 12 biți în timp ce folosesc un registru de 32 de biți) cu un downsampler:
Sursa de entropie slab aleatorie alimentează codificatorul LFSR direct, iar ieșirea este foarte redusă (se ia un bit de ieșire pentru fiecare, de exemplu, 1000 de biți slabi). Această metodă a fost propus aici. Cu toate acestea, nu am găsit exemple în care scramblerele LFSR sunt folosite ca extractoare aleatorii. Prin urmare, am următoarele întrebări:
- Utilizarea unui scrambler pentru extragerea aleatorie a datelor semialeatoare este o utilizare validă? Cum se compară cu alte extractoare? De exemplu, un extractor von Neumann este potrivit doar pentru intrare părtinitoare, independentă (necorelată) și este timp liniar.
- Cum se calculează cât de mult eșantionare/decimare este necesară la ieșirea LSFR, astfel încât ieșirea să fie adecvată pentru utilizare criptografică (având în vedere o estimare a min-entropiei de intrare)?
- Ce implicații are luarea întregului registru simultan (de exemplu, ieșirea a 32 de biți la fiecare 32000 de intrare slabă) mai degrabă decât 1 bit la fiecare 1000 de intrare?
context: LFSR este utilizat în următorul TRNG: