/ / RSA titkosítás. Az RSA algoritmus leírása és végrehajtása

RSA titkosítás. Az RSA algoritmus leírása és végrehajtása

Az RSA titkosítás az elsőpraktikus nyilvános kulcsú kriptográfiai rendszereket, amelyeket széles körben használnak a biztonságos adatátvitelhez. A legfontosabb különbség a hasonló szolgáltatások közül az, hogy a titkosítási kulcs nyilvános, és különbözik a titkosítási kulcstól, amelyet titokban tartanak. Az RSA technológiában ez az aszimmetria azon tényszerű komplexitáson alapul, hogy faktorizálja a két nagy prímszám reprodukcióját (a faktoring problémát).

RSA titkosítás

A teremtés története

Az RSA név az utolsó nevek kezdőbetűiből áll.Rivest, Shamir és Adleman, - a tudósok, akik 1977-ben nyilvánosan ismertetettek ilyen titkosítási algoritmusokat. Clifford Cox, egy brit matematikus, aki az Egyesült Királyság hírszerző szolgálataiért dolgozott, 1973-ban először egy egyenértékű rendszert dolgozott ki, de 1997-ig még nem került besorolásra.

A felhasználó létrehozza és közzéteszi az RSA-tnyilvános kulcs két nagy prím alapján, kiegészítõ értékkel együtt. A főszámokat bizalmasan kell kezelni. Bárki használhatja a nyilvános kulcsot az üzenet titkosításához, de ha elég nagy, akkor csak az elsőszámú személyekkel rendelkező személy képes dekódolni az üzenetet. A legfontosabb probléma az RSA titkosításának nyilvánosságra hozatala: ma nyílt vita folyik arról, hogy mennyire megbízható ez a mechanizmus.

titkosítási algoritmusok

Az RSA viszonylag lassú algoritmus.ezért nincs olyan széles körben használva, hogy közvetlenül titkosítsa a felhasználói adatokat. Leggyakrabban ez a módszer titkosított formában továbbítja a megosztott kulcsokat egy szimmetrikus titkosítási kulcs számára, amely viszont tömeges titkosítási és dekódolási műveleteket hajthat végre sokkal nagyobb sebességgel.

Mikor jelent meg a modern kriptoszisztéma?

Az aszimmetrikus kulcsfontosságú kriptográfiai rendszer ötletemelyet Diffie és Hellman tulajdonítottak, aki 1976-ban megjelentette a koncepciót, bemutatta a digitális aláírásokat és megpróbálta alkalmazni a számelméletet. Formulációjuk egy megosztott titkos kulcsot használ egy bizonyos számú modulo a prímszám exponenciációjából. Azonban nyitották meg a feladat végrehajtásának problémáját, mivel a faktoring elveit nem vizsgálták akkoriban.

Rivest, Adi Shamir és Adleman MassachusettsbenA Technológiai Intézet számos kísérletet tett az év során, hogy nehezen dekódolható egyirányú funkciót hozzon létre. Rivest és Shamir (mint számítógépes tudósok) számos lehetséges funkciót javasoltak, míg Adleman (mint matematikus) az algoritmus "gyenge pontjait" kereste. Sok megközelítést alkalmaztak, és végül 1977 áprilisában végül egy olyan rendszert fejlesztettek ki, amelyet ma RSA néven ismerünk.

információ titkosítás

EDS és nyilvános kulcs

Elektronikus digitális aláírás, vagy EDS,Ez az elektronikus típusú dokumentumok szerves része. Bizonyos titkosítási adatok megváltoztatásával jön létre. Ezen attribútum használatával ellenőrizhető a dokumentum integritása, titkossága, valamint annak megállapítása, hogy ki a tulajdonosa. Valójában ez egy alternatíva a hagyományos szabvány aláíráshoz.

Ez a kriptoszisztéma (RSA titkosítás)a nyilvános kulcs különbözik a szimmetrikusaktól. Működésének elve az, hogy két különböző kulcsot használnak - privát (titkosított) és nyitott is. Az első az EDS létrehozásához, majd a szöveg dekódolásához. A második az EDS megfelelő titkosítása és ellenőrzése.

Az aláírás használatával jobban megértheted az RSA titkosítást, amelynek egy példáját szokásos, titkos "mások szemei ​​zárják".

Mi az algoritmus lényege?

Az RSA algoritmus négy lépésből áll: kulcs generálás, terjesztés, titkosítás és dekódolás. Mint már jeleztük, az RSA titkosítás magában foglalja a nyilvános kulcsot és a privát kulcsot. Az Open mindenki számára ismert, és titkosítja az üzeneteket. Lényege, hogy a nyilvános kulcsmal titkosított üzeneteket csak egy titkos kulcs használatával lehet visszafejteni egy bizonyos időintervallumban.

rsa titkosítási példa

Biztonsági célból az egész számoknak meg kell felelniükvéletlenszerűen választották ki, és ugyanolyan nagyságúak, de egyidejűleg több számjegyű hosszúságúak lesznek, hogy a faktoring nehezebb legyen. Ugyanazokat a számokat hatékonyan lehet megtalálni a teszt segítségével egyszerűségük érdekében, ezért az információ titkosításának szükségszerűen bonyolultnak kell lennie.

A nyilvános kulcs egy modulból és egy nyilvános kiállítóból áll. A zárás egy modulból és egy privát jelzőből áll, amelyet titokban kell tartani.

RSA fájl titkosítás és gyengeségek

Számos hackermechanizmus létezik azonban.egyszerű RSA. Alacsony számok és kis számok titkosítása esetén a titkosítás könnyen kideríthető, ha a titkos szöveg gyökerét az egész számok fölé választja.

rsa titkosítás c

Az RSA titkosításaegy determinisztikus algoritmussal (azaz nem rendelkezik véletlen komponenssel), a támadó sikeresen elindíthatja a nyílt szöveges támadást egy kriptoszisztémával szemben a nyilvános kulcs alatt nyílt szövegek titkosításával és annak ellenőrzésével, hogy azok egyenlőek-e egy titkosított szöveggel. A kriptoszisztémát szemantikailag biztonságosnak nevezik abban az esetben, ha egy támadó nem tudja megkülönböztetni egymástól két titkosítást, még akkor is, ha ismeri a kibővített formában található megfelelő szövegeket. Amint azt fentebb leírtuk, az RSA egyéb szolgáltatások kiegészítése nélkül nem szemantikailag 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ása általában a titkosítás előtt strukturált, véletlen besorolású töltetbe ágyazódik. Ez biztosítja, hogy a tartalom nem tartozik a nem biztonságos nyílt szöveg tartományába, és hogy az üzenet nem jeleníthető meg véletlen kiválasztással.

titkosított rsa fájlok

RSA kriptográfiai biztonság és titkosításAz információ két matematikai problémára épül: a nagyszámú faktorok problémái és az aktuális RSA probléma. A rejtjelező szöveg és az e-aláírás teljes körű nyilvánosságra hozatalát az RSA-ban elfogadhatatlannak tekintjük, feltéve, hogy mindkét probléma nem megoldható az aggregátumban.

Azonban a visszanyerés lehetősége miattAz elsődleges tényezők, a támadó kiszámíthatja a titkos indexet a nyilvános kulcsból, majd a szabványos eljárással dekódolja a szöveget. Bár manapság nem létezik olyan módszer, amely nagyszámú faktort faktorálna egy klasszikus számítógépen, nem bizonyított, hogy nem létezik.

automatizálás

A Yafu nevű eszköz lehetezt a folyamatot optimalizálni. Az automatizálás a YAFU-ban egy olyan modern funkció, amely kombinálja a faktorizációs algoritmusokat egy intelligens és adaptív módszertanban, amely minimálisra csökkenti az időtartamot az önkényes bemeneti számokhoz tartozó tényezők megtalálásához. Az algoritmus legtöbb implementációja többszálas, ami lehetővé teszi a Yafu számára, hogy teljes mértékben kihasználja a több- vagy többmagos processzorokat (SNFS, SIQS és ECM) is. Mindenekelőtt ez egy kezelt parancssori eszköz. A titkosítási tényezőnek a Yafu rendszeres számítógépen történő keresésével töltött idő 103.1746 másodpercre csökkenthető. Az eszköz 320 bites vagy nagyobb kapacitású bináris fájlokat dolgoz fel. Ez nagyon bonyolult szoftver, amely bizonyos mértékű műszaki készségeket igényel a telepítéshez és konfiguráláshoz. Így az RSA-C titkosítás sebezhető lehet.

rsa ujj-titkosítás

Hackelés kísérletek a modern időkben

2009-ben, Benjamin Moody kicsitAz RSA-512 billentyű a 73 napos kriptográfiai kód megfejtésére dolgozott, csak jól ismert szoftverekkel (GGNFS) és átlagos asztali számítógéppel (dual-core Athlon64 1900 MHz-en). Ahogy ez a tapasztalat azt mutatja, kevesebb, mint 5 gigabájt lemez és körülbelül 2,5 gigabájt RAM volt a "szitálási" folyamat számára.

2010-től a legnagyobb faktorizált RSA-szám 768 bit hosszú (232 decimális számjegy, vagy RSA-768). A nyilvánosságra hozatal két évig tartott több száz számítógépen egyidejűleg.

A gyakorlatban az RSA kulcsok hosszú,jellemzően 1024-4096 bit. Egyes szakértők úgy vélik, hogy a közeljövőben az 1024 bites kulcsok megbízhatatlanná válhatnak, vagy akár egy meglehetősen jól finanszírozott támadó is megrepedhet. Kevés ember azonban azt állítja, hogy a belátható jövőben akár 4096 bites kulcs is feltárható.

kilátások

Ezért általánosan feltételezzük, hogy az RSAbiztonságos, ha a számok elég nagyok. Ha a főszám 300 bit vagy rövidebb, akkor a rejtjeles szöveg és az EDS néhány órán belül lebontásra kerül egy személyi számítógépen a már nyilvánosan elérhető szoftver használatával. Az 512 bites hosszúságú billentyűkkel, amint már bebizonyosodott, már 1999-ben több száz számítógép használatával lehetett volna megnyitni. Napjainkban ez hetente is elérhető a nyilvánosan elérhető hardver használatával. Így lehetséges, hogy a jövőben az ujjlenyomatok RSA titkosítása könnyen kiderül, és a rendszer reménytelenül elavulni fog.

Hivatalosan 2003-ban megkérdőjelezték az 1024 bites kulcsok biztonságát. Jelenleg legalább 2048 bit hosszúságú.

Bővebben: