Klucz (kryptografia)

Z Wikipedii, wolnej encyklopedii
Klucz do szyfru niemieckiego z okresu powstania wielkopolskiego

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

Kryptografia symetryczna[edytuj | edytuj kod]

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 | edytuj kod]

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.