EPOC (krypteringsschema)
EPOC ( Efficient Probabilistic Public Key Encryption ; effektiv probabilistisk offentlig
nyckelkryptering) är ett probabilistiskt krypteringsschema för offentlig nyckel .
EPOC utvecklades i november 1998 av T. Okamoto, S. Uchiyama och E. Fujisaki från NTT Laboratories i Japan . Den är baserad på en slumpmässig orakelmodell , där en krypteringsfunktion för publik nyckel konverteras till ett säkert krypteringsschema med hjälp av en (verkligen) slumpmässig hashfunktion; det resulterande schemat är utformat för att vara semantiskt säkert mot attacker baserat på den valda chiffertexten [1] .
Typer av scheman
EPOC-krypteringsfunktionen är en OU-funktion (Okamoto-Uchiyama) som är lika svår att invertera som att faktorisera en offentlig heltalsnyckel. Det finns tre versioner av EPOC [2] :
- EPOC-1, med en enkelriktad funktion (engelsk fallluckafunktion) och en slumpmässig funktion (hashfunktion) [3] .;
- EPOC-2 som använder en envägsfunktion , två slumpmässiga funktioner (hashfunktioner) och symmetrisk nyckelkryptering (som engångsblock- och blockchiffer) [4] ;
- EPOC-3 använder en enkelriktad OU-funktion (Okamoto-Uchiyama) och två slumpmässiga funktioner (hash-funktioner), såväl som alla symmetriska krypteringsscheman som engångsblock (engelsk engångsknapp) eller blockchiffer .
EPOC har följande egenskaper:
- EPOC-1 är semantiskt säker , resistent mot utvalda chiffertextattacker ( IND-CCA2 eller NM-CCA2 ) i den slumpmässiga orakelmodellen [6] under p-undergruppsantagandet , vilket är beräkningsmässigt jämförbart med antaganden om kvadratisk rest och högre grad av rester.
- EPOC-2 med engångsplatta är semantiskt säker , resistent mot valda chiffertextattacker ( IND-CCA2 eller NM-CCA2 ) i en slumpmässig orakelmodell under faktoriseringsantagande.
- EPOC-2 med symmetrisk kryptering är semantiskt säker , resistent mot attacker baserat på vald chiffertext ( IND-CCA2 eller NM-CCA2 ) i den slumpmässiga orakelmodellen under faktoriseringsantagandet, om den underliggande symmetriska krypteringen är säker mot passiva attacker (se attacker där kryptanalytikern har förmågan att bara se de överförda chiffertexterna och skapa din egen med den publika nyckeln .).
Bakgrund
Diffie och Hellman föreslog konceptet med ett kryptosystem med offentlig nyckel (eller envägsfunktion ) 1976. Även om många kryptografer och matematiker har gjort omfattande forskning för att implementera konceptet med publika nyckelkryptosystem i över 20 år, har väldigt få specifika metoder hittats som är säkra [7] .
En typisk klass av metoder är RSA-Rabin , som är en kombination av en polynomalgoritm för att hitta roten till ett polynom i ringen av rester modulo ett sammansatt tal (i ett ändligt fält ) och ett olösligt faktoriseringsproblem (i termer av beräkningsmässigt komplexitet ). En annan typisk klass av metoder är Diffie-Hellman, ElGamal-metoden , som är en kombination av den kommutativa egenskapen hos logaritmen i en finit Abelisk grupp och det olösliga diskreta logaritmproblemet [8] .
Bland RSA-Rabin- och Diffie-Hellman-ElGamal- metoderna för att implementera en envägsfunktion har ingen annan funktion än Rabin-funktionen och dess varianter, såsom dess elliptiska kurva och Williams-versioner, visat sig vara lika robust som den primitiva problem [9] (t.ex. faktorisering och diskreta logaritmproblem ).
Okamoto och Uchiyama har föreslagit en enkelriktad funktion som kallas OU (Okamoto-Uchiyama) som är praktisk, bevisligen säker och har några andra intressanta egenskaper [10] .
- Sannolikhetsfunktion: Detta är en enkelriktad, sannolikhetsfunktion . Låta vara en klartext chiffertextmed slumpmässig.



- En funktions ensidighet: Att invertera en funktion har visat sig vara lika svårt som faktorisering.

- Semantisk säkerhet: En funktion är semantiskt säker om följande antagande är sant ( p-undergruppsantagandet ):ochberäkningsmässigt omöjliga att särskilja, därochär enhetligt och oberoende valda från. Detta antagandeom omöjlighet med chiffertext för attacker med matchad klartext är beräkningsmässigt jämförbart med att hitta en kvadratisk rest och en högre gradsrest.





- Effektivitet: I en kryptosystemmiljö med publik nyckel där det offentliga nyckelkryptosystemet endast används för att sprida den hemliga nyckeln (till exempel 112 och 128 bitar långa) för det hemliga nyckelkryptosystemet (till exempel Triple DES och IDEA ), krypteringen och dekrypteringen hastigheten för OU-funktionen är jämförbar (flera gånger långsammare) med hastigheten för elliptiska kurvor kryptosystem .
- Homomorphic encryption-egenskap: Funktionen har egenskapen homomorphic encryption: (Denna egenskap används för e-röstning och andra kryptografiska protokoll ).

- Ciphertext omöjlig att särskilja : Även någon som inte känner till den hemliga nyckeln kan ändra chiffertexten,, till en annan chiffertext,, samtidigt som den behåller klartexten m (dvs.), och kopplingen mellanochkan döljas (d.v.s.ochsärskilja). Den här egenskapen är användbar för sekretessprotokoll.)







Bevis på säkerheten för ett krypteringsschema
En av de viktigaste egenskaperna hos kryptering av offentlig nyckel är bevisbar säkerhet . Det starkaste säkerhetskonceptet vid kryptering med offentliga nyckel är semantiskt skydd mot attacker baserat på en vald chiffertext .
Semantiskt attackskydd baserat på adaptivt vald chiffertext ( IND -CCA2 ) har visat sig vara likvärdigt (eller tillräckligt) med det starkaste säkerhetskonceptet ( NM-CCA2 ) [12] [13] .
Fujisaki och Okamoto har implementerat två vanliga och effektiva åtgärder för att omvandla en probabilistisk envägsfunktion till en säker IND-CCA2-krets i en slumpmässig orakelmodell [ 6] . En av dem är konverteringen av en semantiskt säker ( IND-CPA ) envägsfunktion till ett säkert IND-CCA2-schema . Andra, från envägsfunktion (OW-CPA) och symmetrisk nyckelkryptering (inklusive engångsplatta) till säkert IND-CCA2-schema . Den senare omvandlingen kan garantera den fullständiga säkerheten för ett krypteringssystem för offentliga nyckel i kombination med ett symmetriskt nyckelkrypteringsschema [14] .
EPOC-krypteringsschema
Översikt
EPOC-krypteringsschemat för publik nyckel , som specificeras av tripletten , där är nyckelgenereringsoperationen, är krypteringsoperationen och är dekrypteringsoperationen.




EPOC-scheman: EPOC-1 och EPOC-2.
EPOC-1 är för nyckeldistribution, medan EPOC-2 är för nyckeldistribution och krypterad dataöverföring, och längre nyckeldistribution med en begränsad publik nyckelstorlek.
Nyckeltyper
Det finns två typer av nycklar: OU offentlig nyckel och OU privat nyckel, som båda används i EPOC-1, EPOC-2 kryptografiska krypteringsscheman [15] .
OU offentlig nyckel [15]
Den publika nyckeln för en organisationsenhet är en uppsättning vars komponenter har följande värden:

är ett icke-negativt heltal
är ett icke-negativt heltal
är ett icke-negativt heltal
— hemlig parameter, icke-negativt heltal
I praktiken, i den offentliga nyckel-OU, har modulen formen , där och är två olika udda primtal, och bitlängden på och är lika med . -element i så att ordningen i är , där . -element i .















OU privat nyckel [15]
Den privata nyckeln för en OU är en uppsättning vars komponenter har följande värden:

— första faktorn, icke-negativt heltal
— andra faktorn, icke-negativt heltal
— hemlig parameter, icke-negativt heltal
— värde , där , icke-negativt heltal

Nyckelskapande: G
Ingång och utgång är som följer:

[Input]: Den hemliga parametern ( ) är ett positivt heltal.


[Utdata]: Par offentlig nyckel och privat nyckel .


Inloggningsoperationen ser ut så här:


- Låt oss välja två primtal , ( ) och beräkna . Här och så att och är primtal, och och så att .











- Vi väljer slumpmässigt så att ordningen är lika med (Observera att gcd( , ) och gcd( , ) ).









- Vi väljer från slumpmässigt och oberoende av . Låt oss räkna ut .




- Installera . Installera och sådant .




Obs: är en extra parameter som ökar effektiviteten för dekrypteringen och kan beräknas från och . när ( -konstant ). kan fixas av systemet och delas av många användare.








Kryptering: E
Ingång och utgång är som följer:

[Inmatning]: Klartext tillsammans med publik nyckel .


[Utdata]: Chiffertext C.
Inmatningsoperationen ser ut så här:



- Låt oss välja och beräkna . Här står för sammanlänkning och .





- Beräkna :

Dekryptering: D
Ingång och utgång är som följer:

[Input]: Chiffertext tillsammans med offentlig nyckel och privat nyckel .



[Utdata]: Vanlig text eller nollsträng.

Operationen med ingångar och ser ut så här:




- Låt oss beräkna , och , var .



- Låt oss kontrollera om följande ekvation är sann: .

- Om uttrycket är sant, matas ut som dekrypterad klartext, där betecknar de mest signifikanta bitarna i . Annars kommer vi att mata ut en nollsträng.
![{\displaystyle [X]^{mLen))](https://wikimedia.org/api/rest_v1/media/math/render/svg/c814d889c080a0430274406170a25cad6f728b2b)
![{\displaystyle [X]^{mLen))](https://wikimedia.org/api/rest_v1/media/math/render/svg/c814d889c080a0430274406170a25cad6f728b2b)


Nyckelskapande: G
Ingång och utgång är som följer:

[Input]: Hemlig parameter ( ).


[Utdata]: Par offentlig nyckel och privat nyckel .


Inloggningsoperationen ser ut så här:


- Låt oss välja två primtal , ( ) och beräkna . Här och så att och är primtal, och och så att .











- Vi väljer slumpmässigt så att ordningen blir lika med .



- Vi väljer från slumpmässigt och oberoende av . Låt oss räkna ut .




- Installera . Installera och sådant .




Obs: är en extra parameter som ökar effektiviteten för dekrypteringen och kan beräknas från och . när ( -konstant ). och kan fixas av systemet och delas av många användare.









Kryptering: E
Låt vara ett par krypterings- och dekrypteringsalgoritmer med en symmetrisk nyckel , där längden är . Krypteringsalgoritmen tar en nyckel och klartext och returnerar en chiffertext . Dekrypteringsalgoritmen tar nyckeln och chiffertexten och returnerar klartexten .












Ingång och utgång är som följer:

[Inmatning]: Klartext tillsammans med publik nyckel och .



[Utdata]: Chiffertext .

Operationen med ingångar och ser ut så här:




- Låt oss välja och beräkna .


;
Obs: En typisk implementering är engångsblocket. Det vill säga , och , där betecknar den bitvisa XOR- operationen .




Dekryptering: D
Ingång och utgång är som följer:

[Input]: Chiffertexten tillsammans med den offentliga nyckeln , hemlig nyckel och .




[Utdata]: Vanlig text eller nollsträng.

Operationen med ingångarna , och är som följer:





- Låt oss beräkna , och , var .



- Beräkna

- Låt oss kontrollera om följande ekvation är sann: .

- Om uttrycket är sant, matas ut som den dekrypterade klartexten. Annars kommer vi att mata ut en nollsträng.

Anteckningar
- ↑ 1 2 T. Okamoto; S. Uchiyama, 1998 , sid. ett.
- ↑ Katja Schmidt-Samoa, 2006 .
- ↑ T. Okamoto; S. Uchiyama, 1998 , sid. 2-3.
- ↑ Prof. Jean-Jacques Quisquater, Math RiZK, 2002 , sid. 3-4.
- ↑ Prof. Jean-Jacques Quisquater, Math RiZK, 2002 , sid. 8-11.
- ↑ 1 2 E. Brickell, D. Pointcheval, S. Vaudenay, M. Yung, 2000 .
- ↑ W. DIFFIE AND ME HELLMAN, 1976 .
- ↑ T. Elgamal, 1985 .
- ↑ T. Okamoto; S. Uchiyama, 1998 , sid. 5.
- ↑ T. Okamoto; S. Uchiyama, 1998 , sid. fyra.
- ↑ T. Okamoto; S. Uchiyama, 1998 , sid. 3-4.
- ↑ Maxwell Krohn, 1999 , sid. 53.
- ↑ Bellare, M., Desai, A., Pointcheval, D., och Rogaway, P., 1998 .
- ↑ 1 2 3 T. Okamoto; S. Uchiyama, 1998 , sid. 5.
- ↑ 1 2 3 NTT Corporation, 2001 , sid. 7.
- ↑ NTT Corporation, 2001 , sid. 9-10.
Litteratur
- Tatsuaki Okamoto Shigenori Uchiyama Eiichiro Fujisaki. Säker integration av asymmetriska och symmetriska krypteringsscheman . — 1999.
- W. DIFFIE OCH JAG HELLMAN. Nya anvisningar i kryptografi . — 1976.
- Maxwell Krohn. Om definitionerna av kryptografisk säkerhet : Attack med vald chiffertext återbesökt . — 1999.
- T. Elgamal. Ett kryptosystem med publik nyckel och ett signaturschema baserat på diskreta logaritmer . — 1985.
- NTT Information Sharing Platform Laboratories, NTT Corporation. EPOC-2- specifikation . - 2001. - S. 7-10 .
- Tatsuaki Okamoto Shigenori Uchiyama Eiichiro Fujisaki. EPOC: Efficient Probabilistic Public-Key Encryption . - 1998. - S. 1-12 .
- Utvärderare: Prof. Jean-Jacques Quisquater, Math RiZK, konsult; Vetenskapligt stöd: Dr. François Koeune, K2Crypt. Säkerhetsutvärdering av krypteringsschemat . – 2002.
- E. Brickell, D. Pointcheval, S. Vaudenay, M. Yung. Designvalideringar för diskreta logaritmbaserade signaturscheman . - 2000. - S. 276-292 .
- Bellare, M., Desai, A., Pointcheval, D. och Rogaway, P. Relations Among Notions of Security for Public-Key Encryption Schemes, Proc. av Crypto'98, LNCS 1462, Springer-Verlag, (engelska) . - 1998. - S. 26-45 .
- Katja Schmidt Samoa. En ny falldörrspermutation av Rabin-typ som motsvarar faktorisering . - 2006. - S. 86–88 .