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:
- 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
- Číslo N získame vynásobením P * Q || V našom prípade: 61 * 53 = 3233
- Vypočítame si číslo **** φ ** [fí] = (P - 1) * (Q - 1) ** || V našom prípade: φ = (61-1) * (53-1) = 3120
- 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
- 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
- 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é 135x (9.45 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java