Programowanie i algorytmy

KONKURS FRAKTAL

fraktal

VII edycja konkursu programistycznego

FRAKTAL

8-9 kwietnia 2017

czytaj więcej

Szyfrowanie

W tej części zostaną przedstawione dwa sposoby szyfrowania:

Pierwszy rodzaj szyfrowania oparty jest na przestawianiu znaków w danym tekście, a więc wszystkie znaki nadal będą w nim występować, ale będą poprzestawiane. Drugi rodzaj polega na zastępowaniu znaków innymi według pewnych kryteriów.

Zagadnienia związane z szyfrowaniem

szyfrogram - jest to zaszyfrowana wiadomość

tekst jawny - jest to oryginalna wiadomość

szyfrowanie przesuwne - polega na przesunięciu liter w alfabecie o pewną stałą

szyfrowanie symetryczne - do szyfrowania i deszyfrowania wykorzystywany jest ten sam klucz

szyfrowanie asymetryczne - klucz szyfrujący jest inny niż deszyfrujący

kryptografia - jest to dziedzina zajmująca się zabezpieczaniem danych

kryptoanaliza - dziedzina badająca algorytmy szyfrujące pod kątem bezpieczeństwa, sprawdza na ile bezpieczny jest dany szyfr oraz czy da się go złamać bez znajomości klucza.

klucz publiczny i klucz prywatny - w tym przypadku klucz szyfrujący jest inny niż deszyfrujący (szyfrowanie asymetryczne), dodatkowo klucz szyfrujący jest upubliczniony - jest to klucz publiczny, natomiast klucz deszyfrujący zna tylko osoba, do której ma trafić zaszyfrowana wiadomość - taki klucz nazywamy kluczem prywatnym.

steganografia - ukrywanie tajnych wiadomości w wiadomościach, które nie są tajne

Przykładowe algorytmy szyfrujące

  • DES - jeden z najpopularniejszych symetrycznych algorytmów szyfrujących, używany między innymi przez rząd USA do szyfrowania ważnych wiadomości
  • RSA - najpopularniejszy algorytm z kluczem publicznym oparty na liczbach pierwszych. Stosuje się go do szyfrowania oraz do podpisów cyfrowych
  • DSA - algorytm szyfrujący wykorzystywany do podpisów cyfrowych
  • MD5 - algorytm szyfrujący w jedną stronę - takiej wiadomości nie można odszyfrować, stosowany np. do szyfrowania haseł użytkowników. Zaszyfrowane hasło jest przechowywane w bazie. Weryfikacja użytkownika polega na zaszyfrowaniu podanego hasła i porównaniu go z hasłem przechowywanym w bazie