![]() | |
Šifra veřejného klíče
První aplikací šifrování veřejného klíče je algoritmus RSA (což jsou iniciály jeho autorů: Rivest, Shamir a Adleman), na který se podíváme podrobněji. Princip RSA spočívá v tom, že je velmi jednoduché provést vynásobení dvou čísel, ale je nesmírně obtížné provést faktorizaci - neboli rozklad součinu na jeho činitele. Postup RSA šifrování Alice si vybere dvě opravdu veliká náhodně zvolená prvočísla p a q. Tato čísla mezi sebou vynásobí, čímž získá číslo N. Následně vybere číslo e, které je menší než (p-1)·(q-1) a s tímto součinem je nesoudělné. N a e dohromady tvoří veřejný klíč. Ten Alice zveřejní, aby mohl každý tímto klíčem zašifrovat zprávu a poslat ji Alici. Pro zašifrování je nutné převést zprávu na číslo (M). Toho lze docílit například kódováním ASCII, jehož rozšířená osmibitová verze obsahuje 256 znaků. Číslo M se poté zašifruje tak, že vytvoří šifrované číslo C podle vzorce: C = Me (mod N).
Bob pošle Alici zašifrovanou zprávu C. Alice nyní potřebuje svůj tajný soukromý klíč, kterým by zprávu dešifrovala.
Alice je jediná, která zná čísla p a q. S pomocí nich vytvoří souktomý klíč d, pro který platí:
Jednoduchý příklad použití RSA
1) p = 5, q = 11 Bob pomocí veřejného klíče (N = 55, e = 7) zašifroval a poslal Alici zprávu C = 22. Alice svým soukromým klíčem (d = 23) zprávu rozšifruje a zjistí, že jí Bob poslal vykřičník (M = 33). Sami si můžete vyzkoušet šifrování metodou RSA v jednoduché aplikaci v sekci kalkulačky. Komentáře k článku |