A hárommenetes protokoll egy olyan kriptográfiai protokoll, amely lehetővé teszi az üzenet biztonságos átvitelét két fél között anélkül, hogy nyilvános vagy privát kulcsokat kellene cserélni vagy kiosztani . Ez a protokoll kommutatív rejtjel használatát feltételezi [1] .
A háromutas protokollt azért hívják, mert három titkosított üzenet cserélődik a küldő és a címzett között. Az első háromlépéses protokollt Adi Shamir fejlesztette ki az 1980-as években, de nem publikálták [2] [3] . A protokoll alapkoncepciója, hogy az átvitel minden oldalának saját titkos kulcsa van a titkosításhoz és privát kulcsa a visszafejtéshez. Mindkét oldal egymástól függetlenül használja a kulcsait, először az üzenet titkosításához, majd visszafejtéséhez.
A protokoll titkosítási és visszafejtési funkciót használ . Néha a titkosítás és a visszafejtés funkciója megegyezik. A titkosítási funkció a titkosítási kulcsot használja arra, hogy az egyszerű üzenetet titkosítottra vagy titkosított szövegre változtassa . Minden titkosítási kulcshoz tartozik egy megfelelő visszafejtő kulcs , amely lehetővé teszi az eredeti szöveg visszaállítását a visszafejtő funkció segítségével .
Ahhoz, hogy a titkosítási és visszafejtési funkciók alkalmasak legyenek egy háromutas protokollra, bármely üzenethez , bármilyen titkosítási kulcsot kell végrehajtani a hozzá tartozó visszafejtő kulccsal . Más szavakkal, az első titkosítást a kulccsal vissza kell fejteni , még akkor is, ha az üzenet a második kulccsal van titkosítva . Ez a kommutatív titkosítás tulajdonsága. A kommutatív titkosítás olyan titkosítás, amely nem függ a sorrendtől, azaz bármely kulcsra és minden üzenetre érvényes . Kommutatív titkosításhoz .
Tegyük fel, hogy Alice üzenetet akar küldeni Bobnak. Ekkor a háromlépcsős protokoll a következőképpen működik [1] :
Érdemes megjegyezni, hogy az Alice privát kulcsait használó összes műveletet Alice hajtja végre , a Bob privát kulcsait használó műveleteket pedig Bob hajtja végre, vagyis a csere egyik oldalának nem kell ismernie a másik kulcsait.
Az első háromlépéses protokoll Shamir háromlépéses protokollja [2] volt, amelyet az 1980-as években fejlesztettek ki. Ezt a protokollt Shamir No -Key Protocolnak is nevezik , mivel ez a protokoll nem cserél kulcsokat, de a cserepartnereknek 2 privát kulccsal kell rendelkezniük a titkosításhoz és a visszafejtéshez. Shamir algoritmusa egy nagy prímszámra modulo hatványozást használ mind a titkosítás, mind a visszafejtés függvényében, azaz és ahol egy nagy prímszám [4] . Minden titkosításnál a kitevő a szegmensben van, és igaz rá . A visszafejtéshez a megfelelő jelzőt úgy választjuk ki, hogy . Fermat kis tételéből következik , hogy .
A Shamir protokoll kommutatív , mert .
A Massey-Omura kriptorendszert James Massey és Jim K. Omura javasolta 1982-ben a Shamir protokoll továbbfejlesztéseként [5] [6] . A Massey-Omura módszer hatványozást használ a Galois-mezőben mind a titkosítás, mind a visszafejtés függvényében, azaz és ahol a számítások a Galois-mezőben vannak. Minden titkosításnál a kitevő a szegmensben van, és igaz rá . A visszafejtéshez a megfelelő jelzőt úgy választjuk ki, hogy . Mivel a Galois-mező multiplikatív csoportjának sorrendje van , Lagrange tételéből következik , hogy mindenre -ben .
A Galois mező minden elemét bináris normál bázisvektorként ábrázoljuk , ahol minden bázisvektor az előző négyzete. Azaz a bázisvektorok ahol a mező maximális sorrendű eleme . Ezzel az ábrázolással a hatványozás 2 hatványra elvégezhető ciklikus eltolással . Ez azt jelenti, hogy az önkényes hatványra emelés legfeljebb eltolásokkal és szorzással történhet. Ezenkívül párhuzamosan több szorzás is végrehajtható. Ez gyorsabb hardvermegvalósítást tesz lehetővé több szorzó használatával [7] .
A háromutas protokoll biztonságának szükséges feltétele, hogy a támadó a három továbbított üzenetből semmit ne tudjon megállapítani az eredeti üzenetről [8] . Ez a feltétel korlátozza a titkosítási és visszafejtési funkciók kiválasztását. Például az xor kommutatív függvény nem használható háromutas protokollban, mert . Vagyis a három továbbított üzenet ismeretében visszaállíthatja az eredeti üzenetet [9] .
A Shamir algoritmusban és a Massey-Omura algoritmusban használt titkosítási függvények biztonsága a diszkrét logaritmusok kiszámításának bonyolultságától függ egy véges mezőben. Ha a támadó diszkrét logaritmusokat tud kiszámítani a Shamir metódushoz vagy a Massey-Omura metódushoz, akkor a protokoll megszakadhat. A kulcs kiszámítható üzenetekből és . Ha ismert, könnyen kiszámítható a megfejtendő fok . A támadó ezután úgy számolhat , hogy az elfogott üzenetet a hatalomra emeli . 1998-ban kimutatták, hogy bizonyos feltételezések mellett a Massey-Omura kriptorendszer feltörése egyenértékű a Diffie-Hellman kriptorendszer feltörésével [10] .
A háromlépcsős protokoll nem biztosítja a cserepartnerek hitelesítését [11] . Ezért a harmadik féltől származó hitelesítés nélkül a protokoll sebezhető a köztes támadásokkal szemben . Ez azt jelenti, hogy ha a támadó képes hamis üzeneteket létrehozni, vagy valódi továbbított üzeneteket elfogni és lecserélni, akkor az adatcsere veszélybe kerül .