Az RSA titkosítási algoritmus a nyilvános kulcsú titkosítási algoritmusok egyik típusa. Az RSA jobb megértése érdekében először megértsük, mi az a nyilvános kulcsú titkosítási algoritmus.
Nyilvános kulcsú titkosítási algoritmus:
A nyilvános kulcsú titkosítási algoritmust aszimmetrikus algoritmusnak is nevezik. Az aszimmetrikus algoritmusok azok az algoritmusok, amelyekben a küldő és a fogadó különböző kulcsokat használ a titkosításhoz és a visszafejtéshez. Minden feladóhoz hozzá van rendelve egy kulcspár:
A Nyilvános kulcs titkosításra szolgál, és a Privát kulcs dekódolásra használják. A visszafejtés nyilvános kulccsal nem végezhető el. A két kulcs össze van kötve, de a privát kulcs nem származtatható a nyilvános kulcsból. A nyilvános kulcs jól ismert, de a privát kulcs titkos, és csak a kulcs tulajdonosa ismeri. Ez azt jelenti, hogy mindenki küldhet üzenetet a felhasználónak a felhasználó nyilvános kulcsával. De csak a felhasználó tudja visszafejteni az üzenetet a privát kulcsával.
hoppá fogalmak java-ban
A nyilvános kulcsú algoritmus a következő módon működik:
- Az elküldendő adatokat a feladó titkosítja A a kívánt vevő nyilvános kulcsának használatával
- B dekódolja a kapott titkosított szöveget a privát kulcsával, amelyet csak B ismer. B válaszol A-nak, és titkosítja üzenetét A nyilvános kulcsával.
- A visszafejti a kapott rejtjelezett szöveget a privát kulcsával, amelyet csak ő ismer.
RSA titkosítási algoritmus:
Az RSA a leggyakoribb nyilvános kulcsú algoritmus, amelyet feltalálóiról neveztek el Rivest, Shamir és Adelman (RSA).
Az RSA algoritmus a következő eljárást használja a nyilvános és privát kulcsok létrehozásához:
- Válasszon ki két nagy prímszámot, a p és a q .
- Szorozd meg ezeket a számokat, hogy megtaláld n = p x q, ahol n titkosítási és visszafejtési modulusnak nevezzük.
- Válasszon egy számot Ez kevesebb, mint n , így n viszonylag prímje (p-1) x (q-1). Ez azt jelenti Ez és (p - 1) x (q - 1) nincs közös tényező, kivéve az 1-et. Válassza ki az „e”-t úgy, hogy az 1
gcd (e,d(n)) =1 - Ha n = p x q, akkor a nyilvános kulcs a . Egy egyszerű szöveges üzenet m nyilvános kulccsal titkosítva van. A titkosított szöveg egyszerű szövegből való kereséséhez a következő képletet használjuk a C titkosított szöveg lekéréséhez.
C = mEzn ellen
Itt , m kisebbnek kell lennie, mint n . Egy nagyobb üzenetet (>n) a rendszer üzenetek összefűzéseként kezel, amelyek mindegyike külön titkosítva van. - A privát kulcs meghatározásához a következő képletet használjuk a d kiszámításához, így:
DEzmod {(p - 1) x (q - 1)} = 1
Vagy
DEzmod φ (n) = 1 - A privát kulcs a . Rejtjelezett üzenet c titkos kulcs segítségével dekódolják. Egyszerű szöveg kiszámításához m a c rejtjelezett szövegből a következő képletet használjuk az m egyszerű szöveghez.
m = cdn ellen
Vegyünk néhány példát az RSA titkosítási algoritmusra:
1. példa:
Ez a példa bemutatja, hogyan titkosíthatjuk a 9. egyszerű szöveget az RSA nyilvános kulcsú titkosítási algoritmussal. Ez a példa a 7-es és 11-es prímszámokat használja a nyilvános és privát kulcsok generálásához.
Magyarázat:
1. lépés: Válasszon ki két nagy prímszámot, a p és a q .
p = 7
q = 11
2. lépés: Szorozd meg ezeket a számokat, hogy megtaláld n = p x q, ahol n titkosítási és visszafejtési modulusnak nevezzük.
Először is számolunk
n = p x q
n = 7 x 11
n = 77
3. lépés: Válasszon egy számot Ez kevesebbet n , így n viszonylag prímje (p-1) x (q-1). Ez azt jelenti Ez és (p - 1) x (q - 1) nincs közös tényező, kivéve az 1-et. Válassza ki az „e”-t úgy, hogy az 1 Másodszor számolunk φ (n) = (p - 1) x (q-1) φ (n) = (7-1) x (11-1) φ (n) = 6 x 10 φ (n) = 60 Most válasszuk a 60 e relatív prímjét 7-nek. Így a nyilvános kulcs = (7, 77) 4. lépés: Egy egyszerű szöveges üzenet m nyilvános kulccsal titkosítva van. A titkosított szöveg egyszerű szövegből való kereséséhez a következő képletet használjuk a C titkosított szöveg lekéréséhez. A titkosított szöveg egyszerű szövegből való kereséséhez a következő képletet használjuk a C titkosított szöveg lekéréséhez. C = mEzn ellen C = 9777 ellen C=37 5. lépés: A privát kulcs a . A privát kulcs meghatározásához a következő d képletet használjuk, így: DEzmod {(p - 1) x (q - 1)} = 1 7d mod 60 = 1, ami d = 43-at ad A privát kulcs = (43, 77) 6. lépés: Rejtjelezett üzenet c titkos kulcs segítségével dekódolják. Egyszerű szöveg kiszámításához m a c rejtjelezett szövegből a következő képletet használjuk az m egyszerű szöveghez. m = cdn ellen m = 374377 ellen m = 9 Ebben a példában az egyszerű szöveg = 9 és a titkosított szöveg = 37 Az RSA kriptorendszerben egy adott A két prímszámot, a 13-at és a 17-et használ a nyilvános és a privát kulcsok generálására. Ha A nyilvános értéke 35. Akkor A privát kulcsa ……………?. Magyarázat: 1. lépés: első lépésben válasszon ki két nagy prímszámot, p és q . p = 13 q = 17 2. lépés: Szorozd meg ezeket a számokat, hogy megtaláld n = p x q, ahol n titkosítási és visszafejtési modulusnak nevezzük. Először is számolunk n = p x q n = 13 x 17 n = 221 3. lépés: Válasszon egy számot Ez kevesebbet n , így n viszonylag prímje (p-1) x (q-1). Ez azt jelenti Ez és (p - 1) x (q - 1) nincs közös tényező, kivéve az 1-et. Válassza ki az „e”-t úgy, hogy az 1 Másodszor számolunk φ (n) = (p - 1) x (q-1) φ (n) = (13 - 1) x (17 - 1) φ (n) = 12 x 16 φ (n) = 192 g.c.d (35, 192) = 1 3. lépés: A privát kulcs meghatározásához a következő képletet használjuk a d kiszámításához, így: Számítsd ki d = dEzmod φ (n) = 1 d = d x 35 mod 192 = 1 d = (1 + k.φ (n))/e [legyen k =0, 1, 2, 3…………………] Tegye k = 0-t d = (1 + 0 x 192)/35 d = 1/35 Tegye k = 1-et d = (1 + 1 x 192)/35 d = 193/35 Tegye k = 2-t d = (1 + 2 x 192)/35 d = 385/35 d = 11 A privát kulcs = (11, 221) Ezért a privát kulcs, azaz d = 11 Az RSA kriptorendszer két prímszámot (3 és 13) használ a nyilvános kulcs = 3 és a privát kulcs = 7 generálásához. Mi a titkosított szöveg értéke egyszerű szöveg esetén? Magyarázat: 1. lépés: Első lépésben válasszon ki két nagy prímszámot, p és q . p = 3 q = 13 2. lépés: Szorozd meg ezeket a számokat, hogy megtaláld n = p x q, ahol n titkosítási és visszafejtési modulusnak nevezzük. Először is számolunk n = p x q n = 3 x 13 n = 39 3. lépés: Ha n = p x q, akkor a nyilvános kulcs a . Egy egyszerű szöveges üzenet m nyilvános kulccsal titkosítva van. Így a nyilvános kulcs = (3, 39). A titkosított szöveg egyszerű szövegből való kereséséhez a következő képletet használjuk a C titkosított szöveg lekéréséhez. C = mEzn ellen C = 5339 felé C = 125 vs. 39 C = 8 Ezért az egyszerű szövegből generált rejtjelezett szöveg, C = 8. Egy RSA titkosítási rendszer két prímszámot, 3-at és 11-et használ a privát kulcs = 7 generálásához. Mi a titkosított szöveg értéke egy egyszerű szövegnél 5 az RSA nyilvános kulcsú titkosítási algoritmus használatával? Magyarázat: 1. lépés: első lépésben válasszon ki két nagy prímszámot, p és q . p = 3 q = 11 2. lépés: Szorozd meg ezeket a számokat, hogy megtaláld n = p x q, ahol n titkosítási és visszafejtési modulusnak nevezzük. Először is számolunk n = p x q n = 3 x 11 n = 33 3. lépés: Válasszon egy számot Ez kevesebbet n , így n viszonylag prímje (p-1) x (q-1). Ez azt jelenti Ez és (p - 1) x (q - 1) nincs közös tényező, kivéve az 1-et. Válassza ki az „e”-t úgy, hogy az 1 Másodszor számolunk φ (n) = (p - 1) x (q-1) φ (n) = (3-1) x (11-1) φ (n) = 2 x 10 φ (n) = 20 4. lépés: A nyilvános kulcs meghatározásához a következő képletet használjuk a d kiszámításához úgy, hogy: Számítsa ki e x d = 1 mod φ (n) e x 7 = 1 a 20 ellenében e x 7 = 1 a 20 ellenében e = (1 + k. φ (n))/ d [legyen k =0, 1, 2, 3…………………] Tegye k = 0-t e = (1 + 0 x 20) / 7 e = 1/7 Tegye k = 1-et e = (1 + 1 x 20) / 7 e = 21/7 e = 3 A nyilvános kulcs = (3, 33) Ezért a nyilvános kulcs, azaz e = 3 2. példa:
mekkora ez a monitor
do while ciklus java
3. példa:
4. példa:
rendfa bejárás