Spring Security & Klucze symetryczne

W tym wpisie zdecydowałam się przybliżyć nieco tematykę kluczy symetrycznych. jest to zagadnienie które jednoczenie dotyczy Spring Security jak również i kryptografię.

Do czego służy klucz symetryczny?

Klucze symetryczne służą do szyfrowania wiadomości którą nadawca chce przesłać odbiorcy. Nosi on nazwę symetrycznego ponieważ dokładnie ten sam klucz służy do szyfrowania wiadomości jak również do jej odszyfrowania. Prawdą jest że stanowi to pewną wygodę w szyfrowaniu i odszyfrowywaniu wiadomości pomiędzy dwoma stronami. Z drugiej jednak strony stanowi to poważne niebezpieczeństwo w postaci wykradzenia tego klucza przez nieupoważnioną stronę trzecią. Powstaje więc pytanie w jaki sposób bezpiecznie dostarczyć taki klucz? I na to pytanie będę mogła odpowiedzieć w kolejnym wpisie z tej serii o kluczach asymetrycznych.

Jak działa klucz symetryczny?

Trzeba tutaj zaznaczyć że klucze symetryczne dzielimy na strumieniowe i na blokowe. Przykładami dla tych ostatnich są np.: AES lub DES. Natomiast każdy z tych kluczy możemy jeszcze podzielić ze względu na tryb szyfrowania : ECB, CBC, CTR. Ale po kolei.

Klucze strumieniowe:

Charakteryzują się oddzielnym szyfrowaniem bitów. Generator strumienia bitowego jest tutaj kluczem szyfrującym. Wykorzystywana jest tutaj również alternatywa wykluczająca XOR. Spojrzymy na wzór szyfrowania:

Źródło: pl.wikipedia.org/wiki/Szyfr_strumieniowy

Gdzie C to nasz szyfrogram, S to nasz strumień bitów a M -tekst jawny. Odszyfrowanie odbywa się podobnie, gdzie ponownie generowany jest strumień oraz wykorzystana jest alternatywa XOR.

Źródło: wikipedia.org/wiki/Szyfr_strumieniowy

No dobrze, ale co to w takim razie jest ta alternatywa wykluczająca XOR?

XOR to nic innego jak dwuargumentowa funkcja boolowska. Wynik takiej tablicy to albo prawa określone przez 1 albo falsz określone przez 0. W alternatywie zdanie jest prawdziwe gdy tylko jedno ze zdań jest prawdziwe. Proszę spójrz na poniższą tablicę która bardzo dobrze obrazuje powyższe.

Źródło: wikipedia.org/wiki/Alternatywa_rozłączna

No dobrze ale to w jaki sposób działają tryby szyfrujące?

Tryb CTR – to tryb licznikowy. Tryb ten operuje na generowaniu pseudolosowego ciągu danych o długości nie mniejszej niż długość bloku. Wartości pseudolosowe są przekształcane za pomocą szyfru blokowego. Natomiast fragment szyfru jest otrzymywany przy wykorzystaniu funkcji XOR. Tryb ten pozwala na odszyfrować fragment danych bez potrzeby odszyfrowywania bloków poprzedzających.

Leave a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *