PROGRAMOWANIE I ALGORYTMY

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.

  1. Klucz publiczny:

    • Jest dostępny publicznie i może być udostępniany wszystkim.
    • Służy do szyfrowania wiadomości przez nadawcę.
  2. Klucz prywatny:

    • Jest trzymany w tajemnicy przez odbiorcę.
    • Służy do odszyfrowywania wiadomości otrzymanych zaszyfrowanym kluczem publicznym.

Proces:

  1. Generowanie kluczy:

    • Odbiorca generuje parę kluczy: klucz publiczny i klucz prywatny.
    • Klucz publiczny udostępniany jest publicznie, a klucz prywatny jest trzymany w tajemnicy.
  2. Szyfrowanie:

    • Nadawca używa klucza publicznego odbiorcy do zaszyfrowania wiadomości.
    • Tylko klucz prywatny odbiorcy może odszyfrować tę wiadomość.
  3. Odszyfrowywanie:

    • Odbiorca używa swojego klucza prywatnego do odszyfrowania otrzymanej wiadomości.
    • Ponieważ tylko odbiorca zna klucz prywatny, tylko on może odczytać oryginalną wiadomość.

Nadawca nie potrzebuje klucza prywatnego odbiorcy do szyfrowania wiadomości. Klucz prywatny jest używany jedynie przez odbiorcę do odszyfrowywania otrzymanych zaszyfrowanych danych. Dzięki temu rozwiązaniu, nawet jeśli ktoś uzyska dostęp do klucza publicznego, nie jest w stanie odczytać oryginalnej wiadomości bez klucza prywatnego.

W praktyce, klucze publiczne i prywatne są zazwyczaj generowane za pomocą algorytmów matematycznych, takich jak RSA czy ECC, a procesy te są dobrze zabezpieczone przed łamaniem.

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