Puncte:4

Utilizarea scrambler LFSR pentru extragerea aleatorie a sursei semi-aleatorie

drapel us

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:

Scrambler LFSR

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:

  1. 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.
  2. 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)?
  3. 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:

TRNG

Paul Uszak avatar
drapel cn
Ce eșantionezi?
DurandA avatar
drapel us
@PaulUszak Ieșire XORed de la mai multe oscilatoare inelare.
Fractalice avatar
drapel in
Nu sunteți familiarizat cu partea hardware, care este slăbiciunea oscilatoarelor inelare? Dependența eșantioanelor ulterioare sau părtinire de la 50%?
DurandA avatar
drapel us
@Fractalice Semnalul eșantionat de la oscilatoare are atât caracteristici puternice de periodicitate, cât și de polarizare. Le puteți vedea pe ambele în [aceste imagini de zgomot](https://docs.google.com/document/d/1srb3rwd-MhxEhMsq1V8GMYIejlq99ZZWdcyAHJvAths/edit?usp=sharing) pe care le-am generat. În imaginea cu 4x3 etape, putem distinge unele modele de linii care este o consecință directă a periodicității/lipsei jitterului. În comparație cu datele aleatoare adevărate, oscilatorii produc mai mulți pixeli albi, ceea ce înseamnă o polarizare spre 1.
Paul Uszak avatar
drapel cn
@DurandA Nu poți face asta. Ochiul nu poate distinge între autocorelația (R) a lui $R \leqslant 10^{-3}$ și $R > 10^{-3}$. Acestea sunt limite de corelație acceptate în mod obișnuit.
DurandA avatar
drapel us
@PaulUszak Cred că aceste imagini de zgomot pot ajuta la construirea intuiției atunci când modelele sunt foarte evidente. Desigur, contrariul nu este adevărat și acest lucru nu poate fi utilizat pentru nicio evaluare a entropiei.
b degnan avatar
drapel ca
@DurandA, deoarece puteți demonstra că fluctuația într-un oscilator inel este o funcție a zgomotului de împușcare a canalului cu 2 căi (nu Johnson) pentru fiecare comutator. Aveți nevoie doar de un RO cu eșantionul semnificativ mai lent (în cadrul marjei de zgomot). În siliciu, este în regulă, iar dacă faci simulări Monte Carlo, s-ar putea să vezi acest comportament, dar îl poți măsura oricând.
Puncte:0
drapel cn

TRNG: nu.

  1. Nu. Scrambling ~ permutare. Asta nu este securitate, este confuzare.

  2. Acesta este cheia întrebării dvs. și este complet subiectivă. Cei mai mulți de aici vor ști că sunt un puternic susținător al tampoanelor unice, dar. Partajați-vă detaliile TNRG. 50 MHz? Nu. Niciun TRNG comercial nu face asta, deoarece veți întâlni autocorelare. Acțiune...

  3. Irrelevant :-).


Putem lucra la asta, dar $H_{\infty}$ va fi mult redusă.

DurandA avatar
drapel us
Voi actualiza întrebarea cu designul TRNG (în principiu [this](https://crypto.stackexchange.com/q/89709/39499) dar cu LFSR pe 32 de biți în configurația scrambler).Cu toate acestea, nu înțeleg reacția ta negativă cu privire la frecvența de eșantionare de 50 Mhz de la sursa de entropie slabă. Cum este această frecvență relevantă pentru securitatea sistemului, atâta timp cât suficientă entropie este colectată de extractorul aleatoriu?
Paul Uszak avatar
drapel cn
Reacție negativă: experiență.. Osilotoarele inelare sunt notoriu de stabile. Am văzut rate de decimare de 1024. Singurul motiv pentru care le facem este că este ușor pentru siliciu.
DurandA avatar
drapel us
„Asta nu este securitate, este ofucare”: securitatea sistemului nu depinde de cunoașterea configurației LFSR. După cum arată @fgrieu [aici](https://crypto.stackexchange.com/a/89712/39499), adăugarea unui alt LFSR într-o configurație de decriptare va dezvălui intrarea originală – a cărei părtinire poate fi exploatată pentru a prezice producția viitoare. În schimb, sistemul se bazează pe decimarea la ieșirea LFSR pentru extracția aleatorie.Având în vedere că cunoașteți designul complet al sistemului și cele mai recente valori generate, aveți o șansă mai mare decât aleatorie de a prezice valori viitoare?
Paul Uszak avatar
drapel cn
@DurandA Securitatea unui TRNG nu vine dintr-un design „ascuns”. Vine dintr-o proprietate fizică internă pe care o exploatați. Jitter-ul/întârzierea de propagare a oscilatorului inel poate fi descris doar statistic la nivel macro. Dacă nu există prejudecăți (distribuție uniformă, nu gaussiană), veți fi în siguranță.
Paul Uszak avatar
drapel cn
Ați măsurat entropia pe căpușă la Sampler? Aceasta este măsurarea crucială.
DurandA avatar
drapel us
„_Provine dintr-o proprietate fizică internă pe care o exploatați._” Deoarece oscilatorul inel este doar puțin aleatoriu, este necesar să „extrageți” entropia folosind un extractor de aleatorie care va produce o ieșire mult mai mică. În cazul meu, acumulez 1000 de biți slab aleatori de la oscilatorii inel pentru a produce 1 bit. Întrebarea este dacă un LFSR este OK pentru această sarcină și cum se compară cu, de ex. o funcție hash sigură.
DurandA avatar
drapel us
Da, min-entropia este de ~0,54/bit (editată) conform `ea_non_iid` de la SP800-90B. Știu că există [oarece controverse](https://crypto.stackexchange.com/questions/83882/whats-wrong-with-nist-sp-800-90b) despre acest test, dar nu cunosc o tehnică mai bună pentru estimați min-entropia fără un osciloscop scump pentru a caracteriza fluctuația.
DurandA avatar
drapel us
Înțeleg clar cum poate fi exploatat un design „[sursă independentă părtinitoare] -> [LFSR]”. Dar `[sursă corelată părtinitoare] -> [LFSR] -(în mare parte uniform corelat)-> [decimator]` așa cum este propus?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.