Az ECIES (eng. Elliptic Curve Integrated Encryption Scheme ) egy elliptikus görbéken alapuló nyilvános kulcsú titkosítási séma . Ezt a sémát Victor Shoup javasolta 2001-ben. Az ECIES-t különféle szabványokban használják, mint például az ANSI X9.63, IEEE 1363a, ISO 18033-2 és SECG SEC 1.
1997-ben Mihir Bellare és Phillip Rogaway tudósok feltalálták a DLAES-sémát ( Discrete Logarithm Augmented Encryption Scheme ), amelyet később DHAES-re ( Diffie-Hellman Augmented Encryption Scheme ) neveztek át 1998-ban, majd később annak elkerülése érdekében. összekeverés az AES rövidítéssel , amelyet átkereszteltek DHIES-re ( Diffie-Hellman Integrated Encryption Scheme ). A DHIES egy fejlett ElGamal séma , amely elliptikus görbéket, különféle szimulációs beillesztési algoritmusokat és hash függvényeket használ. [egy]
A DHIES-t az ANSI értékelte, és néhány módosítással 2001-ben bekerült az ANSI X9.63 szabványba. Továbbá, függetlenül, néhány módosítással a rendszer 2000-ben bekerült az IEEE 1363 szabványba. 2004-ben, amikor az ANSI X9.63 szabvány nyilvánosságra került, az IEEE felülvizsgálta a sémát, hogy figyelembe vegye a két korábbi ANSI X9.63 és IEEE 1363 szabvány előnyeit, és 2004-ben az új sémát beépítette az IEEE 1363a szabványba.
Az összes fenti sémát együttesen ECIES-nek (Elliptic Curve Integrated Encryption Scheme ) nevezik.
2009-ben az ECIES egyik verziója bekerült az ISO / IEC 18033-2 szabványba, 2009-ben pedig a SECG SEC 1 szabványba [1] .
Az ECIES (Elliptic Curve Integrated Encryption Scheme) számos szolgáltatást tartalmaz:
Első oldal - Alice : [2]
Második oldal – Bob: [2]
Tegyük fel, hogy Alice üzenetet akar küldeni Bobnak. Alice rendelkezik Bob nyilvános kulcsával , Bobnak a megfelelő privát kulcsával , Alice pedig létrehoz egy ideiglenes párt nyilvános és privát kulcsaiból. A privát kulcsok a végső mező elemei (az a mező, amelyen az elliptikus görbe adott), a nyilvános kulcsok pedig az elliptikus görbéhez tartozó pontok, amelyeket a privát kulcs és a g generátor szorzataként számítanak ki. az elliptikus görbe. [3]
Üzenet küldéséhez Alice a következőket teszi: [3]
Ami a visszafejtési folyamatot illeti, Bobnak a következő lépéseket kell követnie: [4]
Az ECIES biztonsága az elliptikus görbecsoport diszkrét logaritmus probléma ( ECDLP ) számítási bonyolultságán alapul. A kriptográfiai algoritmusok a faktorizációs problémák (algoritmuspélda: RSA ) és a diszkrét logaritmus ( ElGamal-séma ) számítási bonyolultságára is támaszkodhatnak . Mindazonáltal az ECDLP a legnehezebb [5] a három feladat közül, ami az ECIES fontos előnyéhez vezet: a kulcsmérethez.
Biztonsági szint (bit) | RSA kulcs hossza (bit) | ECIES kulcs hossza (bit) |
---|---|---|
80 | 1024 | 160-223 |
112 | 2048 | 224-255 |
128 | 3072 | 256-283 |
192 | 7680 | 384-511 |
256 | 15360 | 512-571 |
A kulcsméretben rejlő előny kisebb igényeket támaszt a hardverrel szemben (például a puffer, a RAM és a fizikai memória méretével, a kulcsok hálózaton keresztüli átvitele esetén a csatorna sávszélességével kapcsolatban).
Az ECIES fontos hátránya a többi kriptográfiai algoritmushoz képest, hogy az ECIES-nek több változata létezik, amelyeket különböző szabványok ( ANSI X9.63, IEEE 1363a, ISO/IEC 18033-2 és SECG SEC 1) írnak le. A szabványok közötti különbség az ECIES komponensek (KA, KDF, ENC, MAC, HASH) megvalósításához szükséges specifikus funkciók és paraméterek megválasztása. Hátránya, hogy az ECIES minden szabványnak megfelelő változatát nem lehet megvalósítani [6] .
Victor Shope bebizonyította [7] , hogy ha az U nyilvános kulcs nem szerepel a KDF bemenetében, és ha csak a megosztott titok x-koordinátája kerül felhasználásra a KDF-ben, akkor az ECIES érzékeny az adaptív választott titkosított szöveg támadásokra (CCA2). )). A sérülékenységet "lágynak" nevezik, mivel egyetlen támadás sem tudott értelmes információkat szerezni a biztonsági rés segítségével.
A Shoup által javasolt egyik lehetséges megoldás az U nyilvános kulcs hozzáadása a KDF bemenetéhez.
Shoup azt is bebizonyította [8] , hogy az ECIES séma sérülékeny lehet, ha az XOR függvényt változó hosszúságú üzenetek titkosításakor használják. Ez különösen az Adaptive Chosen Ciphertext Attacks (CCA2) támadásokkal szembeni sebezhetőséghez vezethet . Lehetséges megoldások:
Ez a fajta támadás akkor lehetséges, ha egy ellenfél kifejezetten helytelen nyilvános kulcsot ad meg. Ha a feladó nem hitelesíti a másik fél nyilvános kulcsát, akkor az ellenfél lecserélheti a nyilvános kulcsot egy kisebb kulccsal, hogy megosztott titkot szerezzen, vagy információt szerezzen a feladó privát kulcsáról. Lehetséges megoldások:
Példa [12] az IEEE 1363a és ISO/IEC 18033-2 szabványokkal kompatibilis ECIES hatékony és biztonságos megvalósítására: