A titkosítási algoritmus RSA

Abban a pillanatban, aszimmetrikus titkosítást alapján RSA nyilvános kulcs (rövidítése Rivest, Shamir és Aldeman - alkotók az algoritmus) használ a legtöbb termék a piacon az informatikai biztonság.







A kriptográfiai erőssége alapján a nehézségi faktoring nagy szám - azaz a rendkívüli nehéz a feladat, hogy meghatározza a titkos kulcs alapján nyílt, mivel ez lenne szükség, hogy megoldja a problémát, hogy létezik a osztója egész. A legtöbb rendszerben a titkosított erős 1024 bit, és a nagy számok.

Tekintsük az RSA algoritmus a gyakorlati szempontból.

Először is meg kell, hogy létrehoz egy nyilvános és privát kulcs:
  • Vegyünk két nagy prímszám p és q.
  • Definiáljuk n, az eredmény a szorzata P q (n = p * q).
  • Válassz egy véletlen számot, amely az úgynevezett d. Ezt a számot kell relatív prím (nincs közös osztója, kivéve 1) a szorzás eredményéhez (p-1) * (q-1).
  • Definiáljuk E számú, amelyhez a következő összefüggés igaz (e * d) mod ((p-1) * (q-1)) = 1.
  • Hazovem nyilvános kulcs számokat e és n, és egy titkos - d és n.






Lévő adatok titkosítása a nyilvános kulcsot, a következőkre van szükség:
  • szünet kódolt szöveg blokkokra, amelyek mindegyike lehet formájában M (i) = 0,1,2. N-1 (azaz, csak a legfeljebb n-1).
  • titkosítja a szöveg tekinthető egy számsor M (i) általános képletű C (i) = (M (I) ^ e) mod n.

Ahhoz, hogy dekódolni az adatokat a titkos kulcs végre kell hajtania a következő számításokat: M (i) = (C (i) ^ d) mod n. Az eredmény akkor kapnánk, ha több szám M (i), amely képviseli a forráskódot.

A következő példa bemutatja az RSA titkosítási algoritmus:

Titkosítani és visszafejteni az üzenetet „SAV” RSA algoritmus. Az egyszerűség kedvéért, hogy egy kis számú - csökkenteni fogja a számításokat.
  • Úgy döntünk, hogy p = 3 és q = 11.
  • Határozza meg n = 3 * 11 = 33.
  • Engedje meg, (p-1) * (q-1) = 20. Így, d egyenlő, például 3: (d = 3).
  • Mi választjuk ki az e szám alapján, a következő képlet: (E * 3) mod 20 = 1. Ennélfogva F egyenlő 7, például: (e = 7).
  • Ábrázoljuk a titkosított üzenetet, mint egy számsorozat tartományban 0-32 (emlékezetes, hogy véget ér az n-1). Letter A = 1, B = 2, C = 3.

Most az üzenet titkosítására a nyilvános kulcs

C1 = (3 * 7) mod 2187 = 33 mod 33 = 9;
C2 = (1 * 7) mod 33 = 33 MOD 1 = 1;
C3 = (2 ^ 7) mod 33 = 128 mod 33 = 29;

Most dekódolni az adatokat privát kulccsal.

M1 = (9 * 3) mod 33 = 729 mod 33 = 3 (C);
M2 = (1 ^ 3) mod 33 = 33 MOD 1 = 1 (A);
M3 = (29 * 3) mod 33 = 24389 MOD 33 = 2 (V);




Kapcsolódó cikkek