EPOC (titkosítási séma)
Az EPOC ( Efficient Probabilistic Public Key Encryption ; hatékony valószínűségi nyilvános kulcsú titkosítás) egy valószínűségi
nyilvános kulcsú titkosítási séma .
Az EPOC-t 1998 novemberében fejlesztette ki T. Okamoto, S. Uchiyama és E. Fujisaki, az NTT Laboratories japán munkatársa . Véletlenszerű orákulummodellre épül , amelyben egy nyilvános kulcsú titkosítási funkciót egy (valóban) véletlenszerű hash függvény segítségével biztonságos titkosítási sémává alakítanak át ; az eredményül kapott sémát úgy tervezték, hogy szemantikailag biztonságos legyen a választott rejtjelezett szövegen alapuló támadásokkal szemben [1] .
Sémák típusai
Az EPOC titkosítási függvény egy OU (Okamoto-Uchiyama) függvény, amelyet ugyanolyan nehéz invertálni, mint egy összetett egész nyilvános kulcsot. Az EPOC [2] három változata létezik :
- EPOC-1, egy egyirányú függvény (angol trapdoor function) és egy véletlen függvény (hash függvény) használatával [3] .;
- EPOC-2 egyirányú függvény , két véletlenszerű függvény (hash függvények) és szimmetrikus kulcsú titkosítás (például egyszeri pad és blokk titkosítás) használatával [4] ;
- Az EPOC-3 egyirányú OU (Okamoto-Uchiyama) funkciót és két véletlenszerű függvényt (hash függvényeket), valamint bármilyen szimmetrikus titkosítási sémát használ, például egyszeri padokat (angolul one-time pad) vagy blokk titkosítást .
Tulajdonságok [1] [5]
Az EPOC a következő tulajdonságokkal rendelkezik:
- Az EPOC-1 szemantikailag biztonságos , ellenáll a kiválasztott titkosított szöveges támadásoknak ( IND-CCA2 vagy NM-CCA2 ) a véletlenszerű orákulummodellben [6] a p-alcsoport feltételezése mellett, amely számításilag összehasonlítható a kvadratikus maradék és a magasabb fokú maradék feltevésekkel.
- Az egyszeri paddal ellátott EPOC-2 szemantikailag biztonságos , ellenáll a kiválasztott titkosított szöveges támadásoknak ( IND-CCA2 vagy NM-CCA2 ) véletlenszerű orákulummodellben, faktorizációs feltételezés mellett.
- A szimmetrikus titkosítású EPOC-2 szemantikailag biztonságos , ellenáll a kiválasztott rejtjelezett szövegen ( IND-CCA2 vagy NM-CCA2 ) alapuló támadásoknak a véletlenszerű orákulummodellben a faktorizációs feltételezés mellett, ha az alapul szolgáló szimmetrikus titkosítás biztonságos a passzív támadásokkal szemben (a támadások megtekintése, ahol a kriptoanalitikus csak a továbbított rejtjelezett szövegeket láthatja, és a nyilvános kulcs segítségével létrehozhatja a sajátját .).
Háttér
Diffie és Hellman 1976-ban javasolta a nyilvános kulcsú kriptorendszer (vagy egyirányú funkció ) koncepcióját. Bár sok kriptográfus és matematikus végzett kiterjedt kutatást a nyilvános kulcsú kriptorendszerek koncepciójának megvalósítására több mint 20 éve, nagyon kevés konkrét, biztonságos módszert találtak [7] .
A módszerek egyik tipikus osztálya az RSA-Rabin , amely egy polinomiális algoritmus kombinációja a maradékok gyűrűjében lévő polinom gyökerének megtalálására egy összetett szám modulo ( véges mezőben ) és egy megoldhatatlan faktorizációs probléma ( számítási szempontból) kombinációja. komplexitás ). A módszerek másik tipikus osztálya a Diffie-Hellman, ElGamal módszer , amely a véges Abel-csoport logaritmusának kommutatív tulajdonságának és a megoldhatatlan diszkrét logaritmus -probléma kombinációja [8] .
Az egyirányú függvény megvalósítására szolgáló RSA-Rabin és Diffie-Hellman-ElGamal módszerek közül a Rabin-függvényen és annak változatain, például annak elliptikus görbéjén és a Williams-változatokon kívül egyetlen más funkció sem bizonyult olyan robusztusnak, mint a primitív. problémák [9] (pl. faktorizálás és diszkrét logaritmus problémák ).
Okamoto és Uchiyama egy OU (Okamoto-Uchiyama) nevű egyirányú függvényt javasoltak , amely praktikus, bizonyíthatóan biztonságos, és van még néhány érdekes tulajdonsága [10] .
- Valószínűségi függvény: Ez egy egyirányú, valószínűségi függvény . Legyen egy egyszerű szöveges titkosított szövegvéletlenszerűséggel.
- Egy függvény egyoldalúsága: Egy függvény invertálása ugyanolyan nehéznek bizonyult, mint a faktorizálás.
- Szemantikai biztonság: Egy függvény szemantikailag biztonságos , ha a következő feltevés igaz ( a p-alcsoport feltételezése ):ésszámításilag megkülönböztethetetlen, aholésegységesen és egymástól függetlenül választottak. Ez a rejtjelezett szöveg megkülönböztethetetlenségi feltételezéseaz egyező egyszerű szövegű támadásoknál számításilag összehasonlítható egy négyzetes és egy magasabb fokú maradék megtalálásával.
- Hatékonyság: Nyilvános kulcsú kriptorendszer környezetben , ahol a nyilvános kulcsú titkosítási rendszert csak a titkos kulcsú kriptorendszer titkos kulcsának (például 112 és 128 bit hosszúságú) terjesztésére használják (például Triple DES és IDEA ), a titkosítást és a visszafejtést. az OU függvény sebessége összehasonlítható (többször lassabb) az elliptikus görbe kriptorendszerek sebességével .
- Homomorf titkosítási tulajdonság: A függvény homomorf titkosítási tulajdonsággal rendelkezik: (Ez a tulajdonság e-szavazáshoz és más titkosítási protokollokhoz használatos ).
- Rejtjelszöveg megkülönböztethetetlensége : Még az is, aki nem ismeri a titkos kulcsot, lecserélheti a,, rejtjelezett szöveget egy másik rejtjelezett szövegre,, miközben megtartja a nyílt szöveget m (azazésésközötti kapcsolatelrejthető (vagyismegkülönböztethetetlen). Ez a tulajdonság hasznos az adatvédelmi protokollokhoz.)
A titkosítási séma biztonságának bizonyítéka
A nyilvános kulcsú titkosítás egyik legfontosabb tulajdonsága a bizonyítható biztonság . A nyilvános kulcsú titkosítás legerősebb biztonsági koncepciója a támadások elleni szemantikai védelem egy kiválasztott rejtjelezett szöveg alapján .
Az adaptívan választott rejtjelezett szövegen ( IND -CCA2 ) alapuló szemantikus támadásvédelem egyenértékűnek (vagy elegendőnek) bizonyult a legerősebb biztonsági koncepcióval ( NM -CCA2 ) [12] [13] .
Fujisaki és Okamoto két gyakori és hatékony intézkedést valósított meg annak érdekében, hogy egy valószínűségi egyirányú függvényt biztonságos IND-CCA2 áramkörré alakítsanak át egy véletlenszerű orákulummodellben [ 6] . Az egyik egy szemantikailag biztonságos ( IND-CPA ) egyirányú függvény átalakítása biztonságos IND-CCA2 sémává . Mások, az egyirányú funkciótól (OW-CPA) és a szimmetrikus kulcsú titkosítástól (beleértve az egyszeri betétet is) a biztonságos IND-CCA2 sémáig . Ez utóbbi transzformáció egy szimmetrikus kulcsú titkosítási sémával kombinálva garantálhatja a nyilvános kulcsú titkosítási rendszer teljes biztonságát [14] .
EPOC titkosítási séma
Áttekintés
Az EPOC nyilvános kulcsú titkosítási séma , amelyet a triplet határoz meg , ahol a kulcsgenerálási művelet, a titkosítási művelet és a visszafejtési művelet.
EPOC sémák: EPOC-1 és EPOC-2.
Az EPOC-1 kulcselosztásra, míg az EPOC-2 kulcselosztásra és titkosított adatátvitelre, valamint hosszabb kulcselosztásra szolgál, korlátozott nyilvános kulcsmérettel.
Kulcstípusok
Kétféle kulcs létezik: OU nyilvános kulcs és OU privát kulcs, mindkettőt az EPOC-1, EPOC-2 kriptográfiai titkosítási sémák használják [15] .
OU nyilvános kulcs [15]
Egy szervezeti egység nyilvános kulcsa egy halmaz, amelynek összetevői a következő értékekkel rendelkeznek:
- egy nem negatív egész szám
- egy nem negatív egész szám
- egy nem negatív egész szám
- — titkos paraméter, nem negatív egész szám
A gyakorlatban a nyilvános kulcsú OU-ban a modul formátumot vesz fel , ahol és két különböző páratlan prímszám, és a és bithosszúsága egyenlő . -elemben úgy, hogy a sorrend a következő , ahol . -elem a .
OU privát kulcs [15]
Egy szervezeti egység privát kulcsa egy halmaz, amelynek összetevői a következő értékekkel rendelkeznek:
- — első tényező, nem negatív egész szám
- — második tényező, nem negatív egész szám
- — titkos paraméter, nem negatív egész szám
- — érték , ahol , nem negatív egész szám
Kulcs létrehozása: G
A bemenet és a kimenet a következő:
[Input]: A titkos paraméter ( ) egy pozitív egész szám.
[Output]: Nyilvános kulcs és privát kulcs párja .
A bejelentkezési művelet így néz ki:
- Válasszunk ki két prímszámot ( ) és számítsuk ki . Itt és olyan, hogy és prímszámok, és és olyan, hogy .
- Véletlenszerűen választunk úgy, hogy a sorrend egyenlő legyen (Megjegyzendő, hogy gcd( , ) és gcd( , ) ).
- Véletlenszerűen és a -tól függetlenül választunk . Számoljunk .
- Telepítse . Telepítse és olyan, hogy .
Megjegyzés: egy további paraméter, amely növeli a visszafejtés hatékonyságát, és a és -ból számítható . amikor ( -konstans ). a rendszer javíthatja, és sok felhasználó megoszthatja.
Titkosítás: E
A bemenet és a kimenet a következő:
[Input]: Egyszerű szöveg nyilvános kulccsal együtt .
[Kimenet]: Rejtjelezett szöveg C.
A beviteli művelet így néz ki:
- Válasszunk és számoljunk . Itt az összefűzést és a .
- Számítsd ki :
Dekódolás: D
A bemenet és a kimenet a következő:
[Input]: Titkosított szöveg a nyilvános kulccsal és a privát kulccsal együtt .
[Output]: Egyszerű szöveg vagy null karakterlánc.
A művelet a bemenetekkel , és így néz ki:
- Ellenőrizzük, hogy igaz-e a következő egyenlet: .
- Ha a kifejezés igaz, akkor dekódolt egyszerű szövegként adja ki a kimenetet, ahol a legjelentősebb biteket jelöli . Ellenkező esetben null karakterláncot adunk ki.
Kulcs létrehozása: G
A bemenet és a kimenet a következő:
[Input]: Titkos paraméter ( ).
[Output]: Nyilvános kulcs és privát kulcs párja .
A bejelentkezési művelet így néz ki:
- Válasszunk ki két prímszámot ( ) és számítsuk ki . Itt és olyan, hogy és prímszámok, és és olyan, hogy .
- Véletlenszerűen választunk úgy, hogy a sorrend egyenlő legyen .
- Véletlenszerűen és a -tól függetlenül választunk . Számoljunk .
- Telepítse . Telepítse és olyan, hogy .
- Kivonatfüggvényeket és . _
Megjegyzés: egy további paraméter, amely növeli a visszafejtés hatékonyságát, és a és -ból számítható . amikor ( -konstans ). és a rendszer javíthatja, és sok felhasználó megoszthatja.
Titkosítás: E
Legyen egy szimmetrikus kulccsal rendelkező titkosító és visszafejtő algoritmuspár , ahol a hossza . A titkosítási algoritmus kulcsot és egyszerű szöveget vesz fel, és titkosított szöveget ad vissza . A visszafejtő algoritmus felveszi a kulcsot és a titkosított szöveget , és visszaadja az egyszerű szöveget .
A bemenet és a kimenet a következő:
[Input]: Egyszerű szöveg , nyilvános kulccsal és .
[Kimenet]: Titkosított szöveg .
A művelet a bemenetekkel , és így néz ki:
- Válasszunk és számoljunk .
- ;
Megjegyzés: Egy tipikus megvalósítás az egyszeri pad. Azaz , és , ahol a bitenkénti XOR műveletet jelöli .
Dekódolás: D
A bemenet és a kimenet a következő:
[Input]: A titkosított szöveg a nyilvános kulccsal , titkos kulccsal és .
[Output]: Egyszerű szöveg vagy null karakterlánc.
A művelet a , és bemenetekkel a következő:
- Kiszámít
- Ellenőrizzük, hogy igaz-e a következő egyenlet: .
- Ha a kifejezés igaz, akkor a kimenet dekódolt egyszerű szövegként. Ellenkező esetben null karakterláncot adunk ki.
Jegyzetek
- ↑ 1 2 T. Okamoto; S. Uchiyama, 1998 , p. egy.
- ↑ Katja Schmidt-Szamoa, 2006 .
- ↑ T. Okamoto; S. Uchiyama, 1998 , p. 2-3.
- ↑ Prof. Jean-Jacques Quisquater, Math RiZK, 2002 , p. 3-4.
- ↑ Prof. Jean-Jacques Quisquater, Math RiZK, 2002 , p. 8-11.
- ↑ 1 2 E. Brickell, D. Pointcheval, S. Vaudenay, M. Yung, 2000 .
- ↑ W. DIFFIE ÉS ME HELLMAN, 1976 .
- ↑ T. Elgamal, 1985 .
- ↑ T. Okamoto; S. Uchiyama, 1998 , p. 5.
- ↑ T. Okamoto; S. Uchiyama, 1998 , p. négy.
- ↑ T. Okamoto; S. Uchiyama, 1998 , p. 3-4.
- ↑ Maxwell Krohn, 1999 , p. 53.
- ↑ Bellare, M., Desai, A., Pointcheval, D., és Rogaway, P., 1998 .
- ↑ 1 2 3 T. Okamoto; S. Uchiyama, 1998 , p. 5.
- ↑ 1 2 3 NTT Corporation, 2001 , p. 7.
- ↑ NTT Corporation, 2001 , p. 9-10.
Irodalom
- Tatsuaki Okamoto Shigenori Uchiyama Eiichiro Fujisaki. Aszimmetrikus és szimmetrikus titkosítási sémák biztonságos integrációja . – 1999.
- W. DIFFIE ÉS ÉN HELLMAN. Új irányok a kriptográfiában . – 1976.
- Maxwell Krohn. A kriptográfiai biztonság definícióiról : A választott titkosított szövegű támadás újralátogatása . – 1999.
- T. Elgamal. Nyilvános kulcsú titkosítási rendszer és diszkrét logaritmusokon alapuló aláírási séma . – 1985.
- NTT Information Sharing Platform Laboratories, NTT Corporation. EPOC-2 specifikáció . - 2001. - P. 7-10 .
- Tatsuaki Okamoto Shigenori Uchiyama Eiichiro Fujisaki. EPOC: Hatékony valószínűségi nyilvános kulcsú titkosítás . - 1998. - P. 1-12 .
- Értékelő: Prof. Jean-Jacques Quisquater, Math RiZK, tanácsadás; Tudományos támogatás: Dr. François Koeune, K2Crypt. A titkosítási rendszer biztonsági értékelése . – 2002.
- E.Brickell, D.Pointcheval, S.Vaudenay, M.Yung. Tervérvényesítések diszkrét logaritmus alapú aláírási sémákhoz . - 2000. - P. 276-292 .
- Bellare, M., Desai, A., Pointcheval, D., és Rogaway, P. Relations among Notions of Security for Public-Key Encryption Schemes, Proc. of Crypto'98, LNCS 1462, Springer-Verlag, (angol) . - 1998. - P. 26–45 .
- Katja Schmidt Szamoa. Egy új Rabin típusú csapóajtó permutáció, amely egyenértékű a faktorozással . - 2006. - P. 86–88 .