szivacs funkció
A titkosítás. funkció szivacs (. Engl szivacs építési vagy szivaccsal funkció) egy olyan osztályát az algoritmusok egy véges belső állapot, amelynek bemenete kap bináris sztring tetszőleges hosszúságú, és amely szintén visszatér a bináris sztring tetszőleges hosszúságú F: ^ n → ^ *. Szivacs általánosítás, mint egy hash függvény. A patak és a blokk rejtjel, pszeudo-véletlenszám generátor, amelynek tetszőleges hosszúságú bemeneti adatok.
Szivacs - ez egy olyan iteratív tervezési, hogy hozzon létre egy függvényt egy tetszőleges hosszúságú bemeneti és kimeneti tetszőleges hosszúságú alapján f változásokat. Szivacsnak belső állapota S - egy rögzített méretű adatok b (bit). Ha az adatok két részre osztható - az első mérete S1 R és a második S2 - Méret C. Az R értékét nevezzük a bitsebesség és az érték egy - teljesítmény => b = r + c.
Az inicializálási fázisban, a méret az adatblokk b nullákkal töltjük fel, és a bemenő adatokat vannak osztva M méretű blokkokként r. További munka szivacs készül 2 lépésben:
- A fázis „felszívási» (abszorbeáló), egy művelet az eredeti üzenet XOR következő blokk az első állapotban S1 R rész mérete (bit), a fennmaradó részt S2 állapotban érintetlen marad a C kapacitást. Az eredmény kerül S1, majd feldolgozza az állam S f - kulcsnélküli pszeudo permutációs többfordulós, és így addig ismételjük, amíg az összes eredeti üzenet blokkokat.
- A fázis „összenyomás» (összenyomás), állami S hogy betápláljuk egy f függvény, aminek egy részét S1 tápláljuk a kimenetre. Ezeket a lépéseket addig ismételjük, amíg a kívánt szekvenciát hossza (például, hossza hash) érkezik.
Az utolsó bit c függ bemeneti blokkok csak áttételesen és közben nincs kimenő fázisok „szorította» (préselés).
5. Pseudo véletlenszám-generátor működésén alapulnak szivacs 5.1. Modellezés PRNG változó bemeneti adatok
Mi határozza meg a PRNG változó bemenő adatokat, mint egy tárgy a feltétellel, hogy támogatja a két típusú lekérdezések, bármilyen sorrendben:
- Kérhet. takarmány (σ) - veszi a kezdeti érték, amely egy nem üres karakterláncot σ ε Z 2 +>. az állam a PRNG;
- Kérjen elfogadását, hozd (l) - irány a PRNG visszatérő l bit.
Ezután a kiindulási anyag (oltóanyagot), szállított az oszcillátor bemenet - láncolatából σ, kapott minden takarmány kéréseket.
Informálisan egy PRNG változó bemeneti adatok követelményeket lehet meghatározni az alábbiak szerint:
Először is, a kimeneti (azaz választ a kérelmet) kell függ az összes kiindulási anyag. Másodszor, a támadónak, aki nem ismeri az alapanyagot, de a megfigyelt része a kiadási, meg kell lehetetlen megállapítani, hogy a többi kiutat.
Mi határozza meg az ideális PRNG szerkezetet használ a véletlen jós.
Válasz ideális PRNG változó bemenő adatokat a kérelem elfogadása
A tervezés, amely már definiált, lehet a következőkben ismertetjük. Azt állítja, az állam a szekvencia átadás-átvételi kérelmek, hogy megkapta, így a történelem órán. Kérelem esetén takarmány (σ) aktualizálja a történelem, a csatlakozási kérelmet. Ha a kérelem kézhezvételét átvételi lekérés (l), hogy meghozza a véletlenszerű oracle vonal, ami titkosítja, és visszaadja a húr történelem bitet z z + l-1 a választ, ahol z - bites számot kért a kérelem benyújtását. Következésképpen a összefűzése a válaszok kérelmet - csak válaszoljon a véletlen orákulum egyetlen kérelmet. Ezt mutatja az ábrán. Ezt hívjuk tervezési mód, megőrizve a történelem, a titkosítás funkciót e (h). Meghatározó mód megőrzése a történelem, ezért konvergál a meghatározása a titkosítási funkciót.
mert PRNG kimeneti kell csak attól függ a kapott kiindulási anyag titkosítása funkciót e (h) kell lennie injektív a kiindulási anyag. Más szavakkal, bármely két szekvencia kérelmek különböző kiindulási anyagból, két kijelző e (h) eltérőnek kell lennie. Mi ezt a teljességet a nyersanyag (mag-teljesség). A titkosítási funkció teljes forrásanyag a kérelem elfogadásáról kap különböző válaszokat különböző bemeneti vonalak. Ebből következik, hogy a PRNG visszatér független bit.
Így a következő meghatározást javasolt ideális PRNG változó bemeneti adatok.
Tökéletes PRNG változó bemeneti adatok - ez a mód megőrzi a történelem úgynevezett véletlen jóslat, a titkosítás funkciót e (h) teljes alapanyagból.
5.2. Létrehozása PRNG szivaccsal funkció
Természetesnek látszik, hogy bekapcsolja a gyors benyújtását fázisa „áztató”, és elfogadták a vizsgálatot egy szakaszát „szorította”. Azonban a végrehajtás funkció szivacs csak egy abszorpciós fázis (egy bemenet), ami szakasza követi a „szorította” (azaz, egy kimeneti tetszőleges hosszúságú), és ez nem lehet használni, amikor is több fázisban.
Nyilvánvaló, hogy ez a probléma könnyen megkerülhető. Elég csak arra gondolni, hogy minden alkalommal, amikor a pszeudo-véletlen bitje másik végrehajtása függvényében kérik szivacs másik bemenet.
Az építési funkció szivacs bemeneti jel m ε Z 2 *> osztható blokkok r bitek és tölteni. Jelölje p (m) függvény, hogy ezt teszi, és azt feltételezik, hogy ez a funkció csak fokozza bit után m. Tegyük fel, hogy szeretnénk, hogy újra használható állapotban szivacs, amelyre a bemeneti vonal volt az m1 és egy üzenetet, amelyben a kimeneti bitek „préselt” L> 0. Status funkció befogópofákat ezen a ponton, mint például, ha a részleges üzenetet m'1 = p (m1) || 0 R (⌈l / r⌉-1) volt, "átitatott". Megjegyezzük, hogy a nulla blokkokat tartalmazhat további iterációk A kompressziós fázis. Újraindítása a szivacs ezen a ponton azt jelenti, hogy a bemenet az üzenet m2, amelyre m'1 egy előtagot.
Annak megállapításához, a PRNG hivatalosan, meg kell határoznunk a titkosítás funkciót e (h) teljes alapanyagból, amely megjeleníti a szekvencia takarmányozási és fogad kérelmeket. E Hozam (h) felhasználható bemenetként a funkciót szivacs.
A gyakorlatban ez az ötlet, hogy ne okozzon a szivacs funkció minden f (h) minden alkalommal, amikor egy kérelem elfogadását. Ehelyett a design használ egy szivacs funkciónak egy lépcsőzetes módon, újra felhasználva állapotban, ahogy azt a 3.2. Ahhoz, hogy lehetővé teszi az ismétlődő használati állapotára az f függvény szivacs (h) kell lennie, hogy, ha a h „= H || fetch (l) || takarmány (σ), akkor p (e (h)) || 0 R (⌈l / r⌉-1) - előtaggal e (h „).
Összekapcsolása a tervezéstől a gyakorlati megvalósítása, leírjuk az építés megkezdése két korlátja van. Az első korlátozás a hossza a kezdeti érték lekérdezéseket. Egy rögzített egész k megkövetelik, hogy a hossza a kiindulási anyag Rm minden kérést ellátási takarmány (σ) olyan volt, hogy | p (σ) | = Kr. Más szóval, a töltés után, a kiindulási anyag fedi pontosan k r bit a blokkokat. A második korlátozás az, hogy az első kérés, hogy egy kérelem benyújtása.
Az építkezés az építési véve államokban (állapotmegőrző), ha az állami áll mε N bit kapott, mivel az utolsó kérést. Kezdjük egy új funkció végrehajtása szivacs beállítani m = 0. Legyen például az e sor leképezés f (h) lekérdezések adunk a történelem órán.
-Ha jött lehívás kérése (l):
Művészet l termel kimeneti bit „szorította” a feladatát szivacs. Formálisan e fogják igazítani az elkövetkező kérelmet.
Az m értéke megváltozik: m = m + l.
-Ha a kérés érkezett takarmány (σ):
Ezután a „felszívódott» σ. Formálisan ez fejezi ki hozzátéve, hogy σ e.
Végül a teljesítménye a funkciót bekapcsolja a szivacs fázis „szorította”. Ez azt jelenti, hogy „ázott” adatot kell kitölteni, és a permutáció alkalmazzák az állam. (Technikailag ez nem változik, azaz a töltés, definíció szerint, akkor végezzük, amikor bekapcsolja a centrifugálási fázis).
Korlátozását fix méretű kérő nem kötelező, és el lehet távolítani. valamilyen formában kitöltésével a titkosítás funkciót úgy kell kialakítani, hogy egy változó hosszúságú kiindulási anyag és fenntartása teljességét a kiindulási anyag, hogy a határokat a kiindulási anyag azonosítható. Továbbá, szükséges, hogy adjunk egy módszert megkülönböztetni blokkok nulla kiindulási anyagot a nullától blokkokat. Ez elvégezhető, például az 1. készítmény, minden blokk, amely tartalmazza a forrás anyag.
Korlátozása az első kérés kiszolgáltatási kérelmet, akkor el kell távolítani, mivel Ez nincs értelme, hogy létrehoz pszeudo-véletlen bitek nélkül ellátó kiindulási anyagból. Ha az első kérelem esetén - az elfogadási, majd végrehajtása azonnal kitölti (üres string) bemenete funkciót szivacs fázis „szorította” és gyárt kimeneti bit a „szorította”. Formálisan, a következő lekérdezést takarmány, ezt figyelembe kell venni a hozzárendelésével E E p értékek (vakpróba) || 0 r ([m = r] -1).