Az RSA titkosítás az elsők közé tartozikpraktikus nyilvános kulcsú kriptorendszer, amelyet széles körben használnak biztonságos adatátvitelre. Fő különbsége a hasonló szolgáltatásoktól, hogy a titkosítási kulcs nyilvános, és különbözik a titkosított dekódoló kulcstól. Az RSA technológiában ez az aszimmetria két nagy prímszám faktorálásának gyakorlati nehézségén alapul (a faktorálási probléma).
A teremtés története
Az RSA név a vezetéknevek kezdőbetűiből állRivest, Shamir és Adleman azok a tudósok, akik először 1977-ben írtak le nyilvánosan ilyen titkosítási algoritmusokat. Clifford Cox angol matematikus, aki a brit hírszerző szolgálatoknak dolgozott, először 1973-ban dolgozott ki egyenértékű rendszert, de csak 1997-ben oldották fel a titkosítást.
Az RSA felhasználó létrehozza, majd közzétesziegy nyilvános kulcs, amely két nagy prímszámon és egy segédértéken alapul. A prímszámokat titokban kell tartani. Bárki használhat nyilvános kulcsot az üzenet titkosításához, de ha az elég nagy, akkor csak a prímszámokat ismerő ember tudja dekódolni az üzenetet. Az RSA-titkosítás feltörése köztudottan komoly probléma: ma nyílt vita folyik arról, hogy mennyire biztonságos a mechanizmus.
Az RSA egy viszonylag lassú algoritmus,emiatt nem olyan széles körben használják a felhasználói adatok közvetlen titkosítására. Ennek a módszernek a legáltalánosabb alkalmazása a titkosított megosztott kulcsok szimmetrikus titkosítási kulcshoz való továbbítása, amely viszont sokkal nagyobb sebességgel képes tömeges titkosítási és visszafejtési műveleteket végrehajtani.
Mikor jelent meg a kriptorendszer modern formájában?
Az aszimmetrikus kulcsú kriptorendszer ötleteDiffie és Hellman nevéhez fűződik, akik 1976-ban publikálták a koncepciót, bemutatva a digitális aláírásokat és megkísérelték a számelmélet alkalmazását. A megfogalmazásuk egy megosztott titkos kulcsot használ, amelyet valamilyen szám kitevőjéből hoznak létre, és egy prímszám modulo. Ennek a funkciónak a megvalósításának problémáját azonban nyitva hagyták, mivel a faktoring alapelveit akkor még nem ismerték jól.
Rivest, Adi Shamir és Adleman a Massachusetts-benAz Institute of Technology egy év során többször is kísérletet tett egy nehezen dekódolható egyirányú függvény létrehozására. Rivest és Shamir (mint informatikusok) számos lehetséges függvényt javasoltak, míg Adleman (mint matematikus) az algoritmus gyengeségeit kereste. Számos megközelítést alkalmaztak, és végül 1977 áprilisában kidolgozták a végleges rendszert, amely ma RSA néven ismert.
Digitális aláírás és nyilvános kulcs
Elektronikus digitális aláírás vagy EDS,az elektronikus dokumentumok szerves része. Az adatok bizonyos kriptográfiai változása révén jön létre. Ezzel az attribútummal ellenőrizhető egy dokumentum sértetlensége, titkossága, és meghatározható, hogy ki a tulajdonosa. Lényegében ez a szokásos szabványos aláírás alternatívája.
Ez a kriptorendszer (RSA titkosítás) kínálnyilvános kulcs, miben különbözik a szimmetrikus kulcsoktól. Működésének elve az, hogy két különböző kulcsot használnak - privát (titkosított) és nyilvános. Az első az elektronikus aláírás létrehozására szolgál, és ezt követően képes a szöveg visszafejtésére. A második a digitális aláírás tényleges titkosítására és ellenőrzésére szolgál.
Az aláírás használatával jobban megérthetjük az RSA-titkosítást, amelyre példa egy közönséges minősített „kizárt szemek elől” dokumentum.
Mi az algoritmus lényege?
Az RSA algoritmus négy szakaszból áll:kulcsgenerálás, elosztás, titkosítás és visszafejtés. Mint már említettük, az RSA titkosítás egy nyilvános kulcsot és egy privát kulcsot tartalmaz. Az Open mindenki számára ismert, és az üzenetek titkosítására szolgál. Lényege, hogy a nyilvános kulccsal titkosított üzeneteket csak bizonyos időn belül lehet visszafejteni privát kulccsal.
Biztonsági okokból egész számoknak kell lenniükvéletlenszerűen vannak kiválasztva, és azonos méretűek, de néhány számjeggyel eltérő hosszúságúak, hogy megnehezítsék a faktorálást. Azonos számok hatékonyan megtalálhatók elsődlegességük tesztjével, ezért az információ titkosításának szükségszerűen bonyolultabbá kell válnia.
A nyilvános kulcs egy modulusból és egy nyilvános kitevőből áll. A privát egy modulból és egy privát indikátorból áll, amelyeket titokban kell tartani.
RSA fájltitkosítás és gyengeségek
Azonban számos hackelési mechanizmus létezikegyszerű RSA. Ha alacsony sebességgel és kis számokkal titkosít, a rejtjel könnyen feltörhető, ha a rejtjelezett szöveg gyökerét az egész számok felett találja.
Mivel az RSA titkosítás azdeterminisztikus algoritmus (azaz nincs véletlenszerű komponense), a támadó sikeresen indíthat egy választott egyszerű szöveges támadást egy kriptorendszer ellen, ha a valószínűsíthető nyílt szövegeket a nyilvános kulcs alatt titkosítja, és ellenőrzi, hogy megegyeznek-e a rejtjelezett szöveggel. Egy kriptorendszerről azt mondják, hogy szemantikailag biztonságos, ha a támadó nem tud megkülönböztetni két titkosítást egymástól, még akkor sem, ha a megfelelő szövegeket törölt formában ismeri. A fentebb leírtak szerint az RSA, anélkül, hogy kiegészítené más szolgáltatásokkal, szemantikailag nem biztonságos.
További titkosítási és biztonsági algoritmusok
A fenti problémák elkerülése érdekében mikorAz RSA gyakorlati megvalósításai általában valamilyen strukturált, véletlenszerű kitöltés formájában épülnek fel a titkosítás előtt. Ez biztosítja, hogy a tartalom ne kerüljön a nem biztonságos egyszerű szöveg tartományába, és hogy az üzenetet véletlenül se sértse meg.
RSA titkosítási rendszer biztonsága és titkosításaAz információk két matematikai problémán alapulnak: a nagy számok faktorálásának problémáján és magán az RSA-problémán. A titkosított szöveg és a digitális aláírás teljes körű közzététele az RSA-ban elfogadhatatlannak tekinthető, ha feltételezzük, hogy a két probléma együtt nem oldható meg.
A gyógyulás lehetőségének köszönhetően azonbanprimer tényezők esetén a támadó kiszámíthatja a titkos kitevőt a nyilvános kulcsból, majd egy szabványos eljárással visszafejtheti a szöveget. Bár ma még nem találtak létező módszert nagy számok faktorálására klasszikus számítógépen, nem bizonyították, hogy nem létezik.
automatizálás
A Yafu nevű eszköz lehetennek a folyamatnak a optimalizálására szolgál. Az automatizálás a YAFU-ban egy korszerű szolgáltatás, amely a faktorizációs algoritmusokat egy intelligens és adaptív módszerben kombinálja, amely minimalizálja a tetszőleges bemeneti számok tényezőinek megtalálásához szükséges időt. Az algoritmus legtöbb megvalósítása többszálú, lehetővé téve a Yafu számára, hogy teljes mértékben kihasználja a több- vagy többmagos processzorok előnyeit (beleértve az SNFS-t, SIQS-t és az ECM-et). Először is, ez egy felügyelt parancssori eszköz. A titkosítási tényező keresésére fordított idő a Yafu használatával egy normál számítógépen 103,1746 másodpercre csökkenthető. Az eszköz 320 bites vagy nagyobb kapacitású bináris fájlokat dolgoz fel. Ez egy nagyon összetett szoftver, amelynek telepítése és konfigurálása bizonyos mértékű technikai készségeket igényel. Így az RSA C titkosítás sérülékeny lehet.
Hackelési kísérletek a modern időkben
2009-ben Benjamin Moody kicsit használtAz RSA-512 kulcs 73 napig működött a titkosítási szöveg visszafejtésében, csak egy jól ismert szoftverrel (GGNFS) és egy átlagos asztali számítógéppel (kétmagos Athlon64 1900 MHz-en). A tapasztalatok szerint valamivel kevesebb, mint 5 gigabájt lemezre és körülbelül 2,5 gigabájt RAM-ra volt szükség a „rostálási” folyamathoz.
2010-ben a legnagyobb faktorszámú RSA-szám 768 bit hosszú volt (232 decimális számjegy vagy RSA-768). Telepítése két évig tartott, több száz számítógépen egyszerre.
A gyakorlatban az RSA kulcsok hosszabbak -jellemzően 1024-4096 bit. Egyes szakértők úgy vélik, hogy az 1024 bites kulcsok a közeljövőben bizonytalanná válhatnak, vagy akár már feltörhetik is őket egy meglehetősen jól finanszírozott támadó. Kevesen vitatkoznának azonban azzal, hogy a 4096 bites kulcsok is megjelenhetnek belátható időn belül.
kilátások
Ezért általában azt feltételezik, hogy az RSAbiztonságos, ha a számok elég nagyok. Ha az alapszám 300 bit vagy ennél rövidebb, akkor a titkosított szöveg és a digitális aláírás néhány órán belül felbontható személyi számítógépen a már szabadon elérhető szoftver segítségével. Az 512 bites kulcsokról már 1999-ben bebizonyosodott, hogy több száz számítógép segítségével feltörhetőek. Manapság ez néhány héten belül lehetséges a nyilvánosan elérhető hardver használatával. Így nagyon valószínű, hogy a jövőben az RSA-titkosítás könnyen feltörik, és a rendszer reménytelenül elavulttá válik.
Hivatalosan 2003-ban kérdőjelezték meg az 1024 bites kulcsok biztonságát. Jelenleg javasolt legalább 2048 bit hosszúság.