Klucz (kryptografia)

Klucz – informacja umożliwiająca wykonywanie pewnej czynności kryptograficznej – szyfrowania, deszyfrowania, podpisywania, weryfikacji podpisu itp.

Klucz do szyfru niemieckiego z okresu powstania wielkopolskiego

Kryptografia symetryczna

edytuj

W algorytmach symetrycznych klucz służy do szyfrowania i deszyfrowania wiadomości.

Do obu tych czynności używa się tego samego klucza, dlatego powinien być znany tylko uczestnikom. Taki klucz jest przypisany do danej komunikacji, nie do posiadacza, dlatego zwykle do każdego połączenia jest generowany nowy klucz.

Może do tego służyć np. (oparty na kryptografii asymetrycznej) protokół Diffiego-Hellmana.

Kryptografia asymetryczna

edytuj

W kryptosystemach asymetrycznych wyróżnia się klucz publiczny oraz prywatny. Ten pierwszy może być zupełnie jawny, drugi powinien znać tylko właściciel. Matematyczna konstrukcja kluczy powinna być taka, żeby wygenerowanie prywatnego na podstawie publicznego było jak najtrudniejsze obliczeniowo. Zależnie od kryptosystemu wygenerowanie klucza publicznego na podstawie prywatnego również może być trudne (RSA) lub trywialne (ElGamal).

Dwie najważniejsze funkcje kryptografii asymetrycznej to:

  • szyfrowanie – wtedy klucz publiczny służy do szyfrowania, a prywatny do deszyfrowania
  • podpisy cyfrowe – klucz prywatny służy do generowania podpisów, klucz publiczny do ich weryfikacji

Klucze asymetryczne są zwykle przypisane do uczestnika (osoby, programu itp.), nie do kanału komunikacji.

Dwa najpopularniejsze systemy kryptografii asymetrycznej to RSA i ElGamal. Inne to m.in. DSA i ECC.