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.
- 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);