Puncte:0

Generator de numere semințe care nu se suprapun pentru un interval mic de ieșire

drapel in

Văzut acest, dar este oarecum inutil, deoarece permite soluții triviale prin creșterea dimensiunii spațiului de ieșire până la un punct în care orice funcție de hashing va obține non-coliziune.

Această întrebare încearcă să fie versiunea mai puțin inutilă a acea. i.e. pentru a fi cam cazul în care domeniul de ieșire este mic. Spunem că spațiul meu de ieșiri este $\mathcal{S} = \{0, 1, \ldots, 10^{6}\}$. Aici, vor apărea cu ușurință coliziuni prin utilizarea funcțiilor hashing.

Pentru a reformula întrebarea: există vreo funcție $f : \text{seed}, \text{range}, \text{state} \mapsto n$, astfel încât:

  • Cerința 1: Intervalul de ieșire poate fi mic. De exemplu. din $0$ la $10^6$.
  • Cerința 2: Fără ciocniri pentru diferite semințe. i.e. pentru orice sămânță și gamă, $f(\text{seed}, \text{range}, \text{state}_1) = f(\text{seed}, \text{range}, \text{state}_2)$ dacă și numai dacă $\text{state}_1 = \text{state}_2$.
  • Cerința 3: Nu se poate prezice care este următorul număr decât dacă se apelează funcția $f$. De exemplu. dacă $f(\text{seed}, \text{range}, \text{state}_1) = 3$, atunci nu se poate ști cu ce este rezultatul $\text{state}_2$ fără a-l conecta la funcție $f$. Acest lucru elimină soluțiile triviale care pot folosi definiția $f' : \text{seed}, \text{range}, \text{state} \mapsto \text{seed} \times \text{state} \mod \text{range}$, unde sămânța, intervalul și starea sunt toate numere pozitive.
Puncte:1
drapel my

există vreo funcție $f : \text{seed}, \text{range}, \text{state} \mapsto n$,

Da; sunt cunoscuți ca Format Păstrarea criptării funcții. Acestea sunt funcții care sunt cifruri bloc de dimensiuni arbitrare:

  • Cerința 1: Intervalul de ieșire poate fi mic. De exemplu. din $0$ la $10^6$.

Da, pot lua intervale destul de mici. Din experiența mea, FPE-urilor tind să nu le placă intervalele cu adevărat mici (de exemplu, un interval mai mic de 100 de valori); un interval de un milion este suficient pentru cei pe care îi cunosc

  • Cerința 2: Fără ciocniri pentru diferite semințe

Dacă folosim sămânța ca cheie FPE și starea ca text simplu FPE, acest lucru este garantat - operațiunea FPE este inversabilă (adică, punând operația FPE în modul de decriptare și alimentând-o cu aceeași cheie, acesta convertește textul cifrat înapoi în text clar), prin urmare, două texte clare nu pot fi convertite în același text cifrat

Cerința 3: Nu se poate prezice care este următorul număr decât dacă se apelează funcția $f$

De asemenea, adevărat; FPE este conceput pentru a fi sigur (cu excepția cazului în care cunoașteți cheia), prin urmare, singura modalitate de a prezice modul în care este transformat textul simplu este utilizarea cheii.

Funcțiile FPE au, de asemenea, o „ajustare” (o intrare suplimentară care nu trebuie să fie privată, care modifică maparea definită de criptare) - aș sugera să folosiți intervalul ca parte a modificării (în plus față de modificarea modului în care funcția FPE funcționează intern) - în acest fel, nu trebuie să vă faceți griji cu privire la funcția cu un interval care scurge informații despre funcția cu un interval diferit.

Acum, dacă aveți nevoie de sfaturi cu privire la ce funcție FPE să utilizați, cea mai bună pe care am găsit-o este FF1 definit aici funcţie; din ceea ce am sămânță, pare a fi destul de solid.

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.