ου γαρ εστιν κρυπτον ο ου φανερον γενησεται ουδε αποκρυφον ο ου γνωσθησεται και εις φανερον ελθη
Wersja PL ENG Version

Szyfrowanie asymetryczne

Szyfry asymetryczne są nazywane również szyframi z kluczem publicznym i prywatnym. W swoim działaniu wykorzystują dwa klucze, jeden do szyfrowania wiadomości, a drugi do deszyfrowania.

Definicja System szyfrowania asymetrycznego składa się z trzech algorytmów (G, E, D):
  • G( ) - niedeterministyczny algorytm zwracający parę kluczy (pk, sk),
  • E(pk, m) - niedeterministyczny algorytm szyfrujący tekst jawny m i zwracający tekst zaszyfrowany c,
  • D(sk, c) - deterministyczny algorytm deszyfrujący c, zwracający tekst jawny m.
Wszystkie trzy algorytmy muszą spełniać regułę konsystencji, czyli dla każdej pary kluczy (pk, sk) zwróconej przez G i dla każdej wiadomości jawnej m musi zachodzić warunek:
  • D(sk, E(pk, m)) = m

Klucz publiczny jest znany powszechnie i może być używany przez wszystkich zainteresowanych do szyfrowania dowolnie wybranych danych. Idea szyfrów asymetrycznych polega na tym, że tylko posiadacz drugiego klucza z pary - klucza prywatnego (który nie jest publicznie znany), może rozszyfrować takie dane. Podobnie, dane zaszyfrowane za pomocą klucza prywatnego, mogą być odszyfrowane tylko przy użyciu odpowiadającego mu klucza publicznego.

Z racji tego, że napastnik może samodzielnie szyfrować za pomocą powszechnie dostępnego klucza publicznego dowolne wiadomości, szyfry asymetryczne są bardziej narażone na ataki z wybranym tekstem jawnym. Szyfry z kluczem publicznym muszą więc zapewniać bezpieczeństwo przed tego typu atakami. Napastnik po zaszyfrowaniu dwóch wiadomości za pomocą tego samego klucza publicznego, nie może być w stanie rozpoznać, który szyfrogram odpowiada której oryginalnej wiadomości. Podobnie, analizując dwie wiadomości zaszyfrowane za pomocą tego samego algorytmu i tego samego klucza publicznego, postronny obserwator nie może być w stanie w żaden sposób rozróżnić ich szyfrogramów.

Szyfry asymetryczne są dużo wolniejsze od szyfrów symetrycznych (zwykle przynajmniej tysiąc razy wolniejsze). Częstą praktyką jest więc używanie szyfrowania z kluczem publicznym jedynie do nawiązania bezpiecznego połączenia i wynegenetowania nowego sekretnego klucza, który będzie używany w trakcie szyfrowania symetrycznego, chroniącego całą dalszą komunikację.

Algorytmy asymetryczne:

  1. Puzzle Merkle'a
  2. Protokół Diffiego-Hellmana
  3. RSA