Nyilvános kulcsú rejtjelezés

A Wikipédiából, a szabad enciklopédiából
(Nyílt kulcsú titkosítás szócikkből átirányítva)

A nyílt/nyilvános kulcsú rejtjelezés vagy titkosítás, más néven aszimmetrikus kulcsú titkosítás egy olyan kriptográfiai eljárás neve, ahol a felhasználó egy kulcspárral – egy nyilvános és egy titkos kulccsal rendelkezik. A titkos kulcs titokban tartandó, míg a nyilvános kulcs széles körben terjeszthető. A kulcsok matematikailag összefüggnek, ám a titkos kulcsot gyakorlatilag nem lehet meghatározni a nyilvános kulcs ismeretében. Egy, a nyilvános kulccsal kódolt üzenetet csak a kulcspár másik darabjával, a titkos kulccsal lehet visszafejteni.

1975-ben Diffie és Hellman egy forradalmian új titkosítási eljárást hoztak nyilvánosságra. Ebben a titkosításban a titkosító (T) és a megfejtő (M) kulcsok – melyek egy-egy függvényt takarnak s egymás inverzei – közül T-t nyilvánosságra hozzuk, M-et pedig titokban tartjuk, ráadásul minden félnek saját T és M „függvényei” vannak.

Az eljárás biztonsága[szerkesztés]

Bár Diffie és Hellman eljárása képtelen ötletnek hangzik, hiszen ha az egyik irányban ismeri valaki az eljárást, akkor a másik irányban is meg tudja adni azt, mégis látni fogjuk hogy ez nem minden esetben van így. Elvonatkoztatva a matematikától, vegyük ezt a példát:

Elméletben egy angol–magyar szótár – a T függvény – használható magyar–angol szótárként. Ha mondjuk az ablak szó jelentését akarjuk megtalálni, elég csak sorra nézni az angol–magyar szótárunk (ábécérendben szereplő) angol szavait, amíg a magyar jelentések között fel nem bukkan az ablak kifejezés. Mivel ez a window-nál fog csak bekövetkezni, rájöhetünk, hogy egy magyar–angol szótár – az M függvény – is kéne a legközelebbi „fordításhoz”.

Ezek után nem elképzelhetetlen, hogy a T kulcs nyilvános ismerete mellett is az M kulcs egyedül az illetékes személy titka maradjon.

A nyilvános kulcsú titkosítás módszere[szerkesztés]

Minden szereplő elkészít magának egy T,M kulcspárt, melyek egymás inverzei. A T kulcsot nyilvánosságra hozza, az M kulcsot viszont titokban tartja. Legyen A kulcspárja , a B kulcspárja pedig . Ekkor A az üzenet helyett a értéket küldi el B-nek, aki ezt a következőképpen fejti meg: . Lássuk hogyan működik (valóban helyesen) ez az eljárás

az inverz függvények miatt
.

Magyarázat: A a kiszámításához szükséges függvényt ismeri, a nyilvános függvényt pedig tudja, mivel az nyilvánosan ismert. B-nél hasonló a helyzet -vel és -val.

A titkosítás alapkövetelményei[szerkesztés]

A nyilvános kulcsú titkosításban is teljesül a titkosítás két alapkövetelménye, miszerint A üzenetét csak B érti meg, illetve, hogy egy tetszőleges harmadik C fél nem küldhet hamis üzenetet A nevében B-nek, hiszen csak A ismeri a kódoláshoz szükséges -t.

Emellett nincs szükség előzetes kulcsegyeztetésre, és mindenki használhatja ugyanezeket a kulcsait másokkal történő levelezésben is. Végül A és B között sem merülhet fel vita az üzenetről, mert a hamisíthatatlan elektronikus aláírásként működő akár bíróság előtt is bizonyíthatja az üzenet valódiságát.

A titkosító kulcsok[szerkesztés]

Diffie és Hellman rendszerének megvalósításához tehát olyan T,M kulcspárokra van szükség, melyeknél T ismeretében M visszafejtése nagyon bonyolult, ideális esetben lehetetlen. 1976-ban Rivest, Shamir és Adleman a nyílt kulcsú titkosítás elvéhez fejlesztette ki az azóta is népszerű, s elterjedt RSA titkosítási módszert, illetve Philip R. Zimmermann a PGP eljárást.

További információk[szerkesztés]

Források[szerkesztés]