Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

RSA (de) šifrovací program

Čo je to RSA?

Jedná sa o asymetrickú šifru, teda že iný kľúč je potrebné na zašifrovanie a iný na dešifrovanie. ( Viac na Wikipédii) Pričom každý kľúč je zložený z dvoch čísel:

Verejný kľúč: skladá sa z čísel E a N, zapisujeme (E; N) Tajný kľúč: skladá sa z čísel D a N, zapisujeme (D; N)

Teraz ako tieto čísla získame:

  1. Zvolíme si čísla P a Q - obe musia byť prvočísla. || V našom prípade to budú čísla: P = 61 a Q = 53
  2. Číslo N získame vynásobením P * Q || V našom prípade: 61 * 53 = 3233
  3. Vypočítame si číslo **** φ ** [fí] = (P - 1) * (Q - 1) ** || V našom prípade: φ = (61-1) * (53-1) = 3120
  4. Zvolíme si číslo E, pre ktoré platí: e <φ a (E, φ) sú nesúdeliteľné || V našom prípade som si zvolil číslo 17
  5. Nájdeme číslo D, pre ktoré platí: (D * E) mod φ = 1. Vyzerá to zložito, a tiež je. Ale nemusíte to počítať, stačí navštíviť túto stránku ( Stránka), do prvého poľa zadáte číslo E, do druhého číslo φ a výsledok je číslo D. || Mne to vyšlo: D = 2753
  6. Teraz už rozumiete zápisu Verejný kľúč = VK = (E, N) a Tajný kľúč = TK = (D, N) || V našom prípade teda: VK (17; 3233) a TK (2753; 3233)

Ako zašifrovať správu

Správu zašifrujeme pomocou VK a potom ju možno rozšifrovať iba pomocou TK, ktorý poznáme len my. VK je verejne dostupný a správu ním môže zašifrovať každý. Keď sa chceme uistiť, že správu nám poslal konkrétny užívateľ, môžeme správu zašifrovať najprv svojim TK (potom možno dešifrovať iba našim VK) a potom ju ešte len zašifrovať VK príjemcu. On najprv dešifruje správu svojim TK a potom naším VK. Tak sa uistí, že sme správu skutočne poslali my. Treba sa ale najprv dohovoriť, či správu zašifrujeme najskôr svojim TK alebo jeho VK.

** Potom správu zašifrujeme pomocou vzorca:

C = M ^ D mod N

Kde: C = zašifrovaná správa M = správa D a N je súčasť tajného kľúča. **

V prípade, že správu šifrujeme pomocou VK, miesto D použijeme číslo E.

Ako správu dešifrovať

Keď je správa zašifrovaná, dešifrujeme ju nasledujúcim vzorcom:

M = C ^ E mod N

Kde premenné sú rovnaké ako vyššie.

Ako funguje program?

Program každé písmeno prevedie na ASCII kód a ten potom zašifruje. Výsledné číslo oddelí bodkočiarkou a za neho napíše ďalšie písmeno, prevedené na ASCII kód a následne zašifrované.

Do poľa N: sa vždy píše číslo N- to je u VK aj TK rovnaké.

Do poľa D / E: sa píše buď D alebo E podľa toho, či dešifruju / kódovanie jednotlivých.

V prípade akýchkoľvek otázok sa neváhajte ozvať.


Galéria


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 136x (9.45 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java

 

Všetky články v sekcii
Zdrojákoviště Java - JavaFX
Program pre vás napísal Inkognito
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje programování v Javě (zejména pro Android), HTML, CSS a PHP. Je autorem prvního videotutoriálu na YouTube ohledně programování pro OS Android. Věnuje se tvorbě aplikací na zakázku a lektorování nových programátorů. Více na www.PallaSoftware
Aktivity