ECC vagy RSA?

Endrõdi Csilla <csilla@mit.bme.hu>

BME MIT

Hornák Zoltán <hornak@mit.bme.hu>

BME MIT

Selényi Endre, Dr. <selenyi@mit.bme.hu>

BME MIT


Jelenleg a gyakorlatban is használt nyilvános kulcsú rendszerek legtöbbje az RSA algoritmusra épül, pedig nem ez az egyetlen létezõ megoldás. Már önmagában ez a tény is jelentõsnek mondható, hogy léteznek alternatívái, hiszen az RSA biztonsága matematikailag nem bizonyított – „csupán” annyi szól mellette, hogy mintegy negyed évszázad alatt sem sikerült megtörni. Mindezek ellenére elõfordulhat, hogy egyszer valaki hatékony algoritmust talál a megfejtésére. Ekkor alternatív megoldás nélkül igen nagy bajba kerülnénk, mivel a biztonságtechnikai alapszolgáltatások nagy része a nyilvános kulcsú kiptográfiai rendszerekre épül.

Természetesen az alternatív algoritmusokat nem csak „biztonsági tartalékként” kell kezelnünk, hanem érdemes megvizsgálnunk õket, mint alkalmazható vetélytársakat is. Mivel mindegyikük eltérõ matematikai alapokon nyugszik, nem meglepõ tény, hogy sok szempontból eltérõ tulajdonságokkal rendelkeznek. A jobb megoldást kutatva tehát ezeket mindenféleképpen érdemes összehasonlítani.

Elõadásomban két nyilvános kulcsú kriptográfiai rendszer, a nagy múltra visszatekintõ és széles körben elterjedt RSA, valamint a viszonylag fiatalnak számító ECC (Elliptic Curve Cryptography) hatékonyságvizsgálatát és összehasonlításuk eredményét ismertetem. Állításaim, következtetéseim a gyakorlatban elvégzett mérések eredményének elemzésén alapulnak.

Az ECC választását indokolja az a közismert – bár matematikailag nem bizonyított – tény, hogy megtörésére csak kevésbé hatékony módszer létezik, mint a többi nyilvános kulcsú rendszer esetében. Ennek köszönhetõen az egy „kulcsbitre jutó biztonság” értéke nagyobb. Ez a tény ígéretes alkalmazási lehetõségekkel kecsegtet. A kis kulcsméret mellett azonban még számos szempont van, amely döntõ lehet a kriptográfiai rendszerek közötti választás során. Ilyen lényeges paraméterek az algoritmussal végzett mûveletek gyorsasága, a környezeti paraméterek és kulcsok kialakításának bonyolultsága, a tárolandó adatok mérete, az egyes protokollok során a szükséges üzenetváltások száma és az üzenetek mérete, és esetleg egyéb speciális igény vagy korlátozás. Ezeket együttesen mérlegelve lehet csak jó döntést hozni.

A rendszerek hatékonysági adatai nagy mértékben függnek az alkalmazott kulcsmérettõl, ezért összehasonlításuknak csak rögzített kulcsméret mellett van értelme. A kulcsméreteket természetesen úgy érdemes rögzíteni, hogy a két rendszer azonos biztonságot nyújtó kulcsok mellett kerüljön összemérésre. Ezeket a kulcsméret-párokat az ismert nemzetközi szakirodalom eredményeinek felhasználásával határoztam meg.

A végzett mérések eredményeinek alapos elemzésével a rendszerek számos jellegzetességét sikerült megfogalmaznom, amelyek bemutatására jól összefogott táblázatok formájában illetve grafikonok segítségével kerül sor. A megfogalmazott összefüggések alapján egyértelmû döntés hozható az algoritmusok jóságát illetõen egy-egy speciális esetben. Ez az ítélet azonban nem abszolút érvényû. A különbözõ alkalmazások számára (azok különbözõ funkcionalitása, kritikus pontjai és speciális igényei mellett) egyik vagy másik rendszer lehet az optimális választás. A döntést mindig az aktuális cél alkalmazás tulajdonságainak ismeretében kell meghozni, amelyben úgy vélem, a két rendszer viselkedésére vonatkozó állítások gyûjteménye nagy segítséget jelenthet.