Nyilvános kulcsú rejtjelezés
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]- Alice és Bob - 9. rész: Alice és Bob nyilvános kulcsot használ
- Alice és Bob - 10. rész: Alice és Bob szerződést köt
- Alice és Bob - 21. rész: Alice és Bob titkosít
Források
[szerkesztés]- Buttyán, Levente, Vajda István. Kriptográfia és alkalmazásai. Typotex, 79–98. o. (2004. október 13.). ISBN 963-9548138
- Freud, Róbert, Gyarmati Edit. Számelmélet