ECIES (eng. Elliptic Curve Integrated Encryption Scheme ) är ett krypteringsschema med publik nyckel baserat på elliptiska kurvor. Detta system föreslogs av Victor Shoup 2001. ECIES används i olika standarder som ANSI X9.63, IEEE 1363a, ISO 18033-2 och SECG SEC 1.
År 1997 uppfann forskarna Mihir Bellare och Phillip Rogaway DLAES-schemat ( Discrete Logaritm Augmented Encryption Scheme ), som därefter döptes om till DHAES ( Diffie-Hellman Augmented Encryption Scheme ) 1998, och senare, för att undvika förväxling med förkortningen AES , omdöpt till DHIES ( Diffie-Hellman Integrated Encryption Scheme ). DHIES är ett avancerat ElGamal- schema som använder elliptiska kurvor, olika simuleringsinsättningsalgoritmer och hashfunktioner. [ett]
DHIES utvärderades av ANSI och, med vissa modifieringar, ingick schemat i ANSI X9.63-standarden 2001. Också oberoende, med vissa ändringar, inkluderades systemet i IEEE 1363-standarden år 2000. 2004, när ANSI X9.63-standarden blev offentlig, reviderade IEEE schemat för att ta hänsyn till fördelarna med de två tidigare ANSI X9.63- och IEEE 1363-standarderna, och inkluderade det nya schemat i IEEE 1363a-standarden 2004.
Alla ovanstående scheman kallas gemensamt ECIES (Elliptic Curve Integrated Encryption Scheme ).
2009 inkluderades en av ECIES-versionerna i standarden ISO/IEC 18033-2 och 2009 i standarden SECG SEC 1. [1]
ECIES (Elliptic Curve Integrated Encryption Scheme) innehåller flera funktioner:
Första sidan - Alice : [2]
Andra sidan - Bob: [2]
Anta att Alice vill skicka ett meddelande till Bob. Alice har Bobs publika nyckel , Bob har motsvarande privata nyckel och Alice genererar ett tillfälligt par av sina offentliga och privata nycklar. De privata nycklarna är elementen i det slutliga fältet (fältet på vilket den elliptiska kurvan anges), och de publika nycklarna är de punkter som hör till den elliptiska kurvan och beräknas som produkten av den privata nyckeln och generatorn g av den elliptiska kurvan. [3]
För att skicka ett meddelande gör Alice följande: [3]
När det gäller dekrypteringsprocessen är stegen som Bob måste följa följande: [4]
Säkerheten för ECIES förlitar sig på beräkningskomplexiteten hos Elliptic Curve Group Discrete Logaritm Problem ( ECDLP ). Kryptografiska algoritmer kan också förlita sig på beräkningskomplexiteten hos faktoriseringsproblem (algoritmexempel: RSA ) och diskret logaritm ( ElGamal-schema ). ECDLP anses dock vara den svåraste [5] av dessa tre uppgifter, vilket leder till en viktig fördel med ECIES: nyckelstorlek.
Jämförelse av ECIES- och RSA-nyckellängder [6]Säkerhetsnivå (bit) | RSA-nyckellängd (bitar) | ECIES-nyckellängd (bitar) |
---|---|---|
80 | 1024 | 160-223 |
112 | 2048 | 224-255 |
128 | 3072 | 256-283 |
192 | 7680 | 384-511 |
256 | 15360 | 512-571 |
Fördelen i nyckelstorleken gör att du kan ställa mindre krav på hårdvaran (till exempel på storleken på bufferten, RAM och fysiskt minne; på kanalbandbredden vid överföring av nycklar över nätverket).
En viktig nackdel med ECIES jämfört med andra kryptografiska algoritmer är att det finns flera versioner av ECIES som beskrivs av olika standarder ( ANSI X9.63, IEEE 1363a, ISO/IEC 18033-2 och SECG SEC 1). Skillnaderna mellan dessa standarder är valet av specifika funktioner och parametrar för implementeringen av ECIES-komponenterna (KA, KDF, ENC, MAC, HASH). Nackdelen är att det inte går att implementera en version av ECIES som uppfyller alla standarder [6] .
Victor Shope bevisade [7] att om den publika nyckeln U inte ingår i KDF-inmatningen och om endast x-koordinaten för den delade hemligheten används i KDF, så är ECIES mottaglig för Adaptive Chosen Ciphertext Attacks (CCA2) )). Sårbarheten kallas "mjuk" eftersom ingen attack kunde få meningsfull information med denna sårbarhet.
En möjlig lösning som föreslås av Shoup är att lägga till den publika nyckeln U till inmatningen av KDF.
Shoup bevisade också [8] att ECIES-schemat kan vara sårbart när XOR-funktionen används vid kryptering av meddelanden med variabel längd. I synnerhet kan detta leda till en sårbarhet för Adaptive Chosen Ciphertext Attacks (CCA2)-attacker . Möjliga lösningar:
Denna typ av attack är möjlig när en motståndare specifikt tillhandahåller en felaktig offentlig nyckel. Om avsändaren inte autentiserar den andra partens publika nyckel, kommer motståndaren att kunna ersätta den publika nyckeln med en mindre nyckel för att få en delad hemlighet eller få information om avsändarens privata nyckel. Möjliga lösningar:
Ett exempel [12] på en effektiv och säker implementering av ECIES i enlighet med IEEE 1363a och ISO/IEC 18033-2: