Legjobb válasz
A kriptanalízis mezőben óriási különbség van a “ crack “és” break “.
A legegyszerűbb értelemben feltör egy jelszót azzal, hogy megpróbálja feloldani a rendszert a jelszó minden lehetséges iterációja, egy módszer, amelyet durva erővel történő feltörésnek neveznek. Ha ismeri a jelszó létrehozására és használatára vonatkozó szabályokat, akkor előre is ismeri az adott rejtjelhez tartozó idő / erőfeszítés költségeit. Minden egyes algoritmusnak előre ismert várakozása van a feltöréshez szükséges számítási erőfeszítésekben.
Egy algoritmus, például az MD5 vagy az SHA-1 (valós példák) megszakadtnak mondható, ha valamiféle algoritmust talál. ütközés, amely csökkenti a várt univerzumot (a kulcs / jelszó létrehozásához használt képlet minden lehetséges megoldása).
Az egyszerűség kedvéért hadd ismertessem a WPS (Wi-Fi Protected Setup) valós példáit ). A WPS azért jött létre, hogy megkönnyítse a felhasználók számára a Wi-Fi hálózat biztonságát. Ez egy nyolcjegyű PIN-kódból állt, amelyet egy gombnyomásra kicseréltek az igénylő felhasználó és az útválasztó között.
A rendszer készítői előzetesen tudták a várható világegyetemet: 8 szám 100 000 000 lehetséges lehetőséget ad kombinációk (10 ^ 8). A protokoll megvalósítása azonban ezt a számot két négyjegyű kombinációra osztotta fel, amelyeket külön-külön validáltak.
Ez azt jelentette, hogy valójában csak 10 000 (10 ^ 4) + 10 000 (10 ^ 4) próbát kell tennie. kombinációk, a legrosszabb esetben a PIN feltörésére. A 100 millió kombinációból álló univerzumod hirtelen csak 20 000 kombinációra esett vissza. Az algoritmus gyakorlatilag megszakadt . Ezután megpróbálhatja feltörni – ahogyan tehette volna, ha nem törik meg -, de mivel ez megtörik, sokkal jobb az esélye a sikerre, csak 100 millió helyett legfeljebb 20 000 próbálkozásra van szüksége.
Az ebből levonható következtetés:
A feltörés és a feltörés különböző dolgok. A megtört titkosítás nem jelenti azt, hogy nem biztonságos, csak hogy könnyebb feltörni. Attól függően, hogy mit védünk az általa védettek között, a törés nem jelenti a halált egy adott rendszer számára, csupán annak megértése, hogy ez most kevésbé biztonságos, mint eredetileg várták.
Az RSA-2048 törni fog, ha valaki megtalálja a módját olyan ütközések létrehozására, amelyek eredendően csökkentik a rejtjelek feltörésének várható kombinációinak számát. Az RSA 2048 ugyanúgy feltörhető, mint bármely más rejtjel, a nyers erővel.
Válasz
Az RSA-nak önmagában csak néhány támadása van a nyilvános modulus ellen (ami általában félidõ, vagy két nagy véletlenszerûen kiválasztott prím s összeszorozva). A faktorizációs probléma megoldásának leghatékonyabb klasszikus algoritmusa, amely lehetővé teszi a privát kulcs levezetését az alapvető számtan segítségével, az Általános Számmező Szita (GNFS). Ez az algoritmus szub-exponenciális időben fut, és nem kivitelezhető az helyesen megvalósított RSA-2048 bites rendszereken.
Léteznek ilyenek is Shor algoritmusa, de ezt egy tipikus támadó nem tudja felszerelni az RSA-2048-ra. A kvantum számítógépgyártók oligopóliumot működtetnek, különösen a D-Wave vezetésével. Nemcsak hihetetlenül drága beszerezni, hanem speciális berendezésekre is szükség van ezek futtatásához és karbantartásához. Nem jött létre olyan chip, amely elegendő információ-perzisztenciával és erővel rendelkezne ahhoz, hogy néhány bitnél többet bontson.
Amint azt korábban említettük, a kriptorendszer semmi sem megfelelő végrehajtás nélkül. Az RSA legtöbb megvalósítása nyilvános kulcsú ujjlenyomat-algoritmust is használ, általában hash-t. Emellett a prímszámok faktorizálása megtalálható egy olyan kiaknázással, amely egyszerre hihetetlenül ritka, és a sikeresség szempontjából statisztikailag is elhanyagolható. Amint az Euklidesz rámutatott , végtelen prímszámok léteznek, de nem csak végtelen prímek vannak, hanem sok is van belőlük egy bizonyos kulcstérben. Ha két modul véletlenül ugyanazt a prímet osztja, akkor könnyű megtalálni a faktorizálást. A lineáris időben futó legnagyobb közös osztó algoritmus segítségével (ezredmásodperceken belül könnyen futtatható a megtekintett eszközön). megtalálhatók, majd elosztva a modulokból a két másik hiányzó prím előállításához. Ez mindkét kulcs eléréséhez vezet. Az RSA helyes végrehajtása soha nem használná újra a prímeket külön kulcsokhoz, ehelyett teljesen véletlenszerűen választja ki őket. Mivel sok lehetséges modul létezik a 2048 bites kulcstérben, amelyet úgy írhatunk, hogy a 2048 prímek hosszának # 2 értéke 2 (vagy 2-nél magasabb, ha nem szabványos modulokkal dolgozunk), ezért két kulcs esélye még két prím megosztására is elhanyagolható . Más szavakkal, az összes kulcs elvétele egy kulcskiszolgálótól és a GCD algoritmus futtatása mindegyiken egyszerűen időpocsékolás.