Co to jest szyfrowanie?
Szyfrowanie oznacza konwersj? danych do postaci, która nie mo?e zosta? ?atwo odczytana przez nieupowa?nione podmioty. Proces przekszta?cania zaszyfrowanych danych z powrotem do ich oryginalnej postaci nazywa si? odszyfrowaniem lub deszyfrowaniem.
Szyfrowanie zapewnia, ?e poufne informacje nie zostan? odczytane, u?yte lub niew?a?ciwie wykorzystane przez osoby, które nie powinny mie? do nich dost?pu. Proces ten stosuje specjalne algorytmy, zwane szyframi, i zmienne matematyczne, zwane kluczami szyfrowania, w celu przekszta?cenia czytelnych danych tekstowych w szyfrogram.
Szyfrogram, który wygl?da jak d?ugi ci?g losowych liter i cyfr, jest niezrozumia?y dla kogo?, kto nie posiada wiedzy o tym, jaki szyfr i klucz zosta? u?yty do zaszyfrowania danych.
Techopedia wyja?nia, czym jest szyfrowanie
Termin ?szyfrowanie” pochodzi od francuskiego s?owa ?chiffre”, które z kolei bazowa?o na arabskim. Oba oznacza?y cyfr?. S?owo ?kryptologia”, czyli dziedzina zajmuj?ca si? szyfrowaniem, pochodzi za? od greckiego ?kryptos”, które oznacza ?ukryty” lub ?tajny”. Etymologia tego s?owa doskonale odzwierciedla podstawowy cel szyfrowania: zatajanie informacji, ukrywanie ich warto?ci i utrzymywanie znaczenia w tajemnicy.
Jak dzia?a szyfrowanie?
Szyfrowanie dzia?a poprzez matematyczne przekszta?canie czytelnych danych (tekst jawny) w ich nieczyteln? form? (szyfrogram).
Ka?dy schemat szyfrowania wymaga dwóch rzeczy: z?o?onego algorytmu (szyfru) i tajnego klucza, który s?u?y do jego dostosowania. Za spraw? po??czenia tych dwóch elementów proces szyfrowania jest solidny.
Aby z?ama? szyfrowanie, haker musia?by dokona? in?ynierii wstecznej procesu szyfrowania i dowiedzie? si?, jaki algorytm zosta? u?yty do zaszyfrowania danych i jaki tajny klucz wykorzystano do dostosowania tego algorytmu.
Istniej? dwie wa?ne zasady, które wspieraj? sposób dzia?ania schematów szyfrowania: szyfry podstawieniowe i szyfry przestawieniowe.
- Szyfry podstawieniowe: Zast?puj? znaki tekstu jawnego innymi znakami zgodnie ze zdefiniowanym systemem mapowania. Klasycznym przyk?adem jest szyfr Cezara, w którym ka?d? liter? przesuwa si? o okre?lon? liczb? pozycji w alfabecie. W bardziej z?o?onym przypadku, takim jak szyfr monoalfabetyczny, wszystkie litery tekstu jawnego s? zast?powane unikaln? liter? z zakodowanej wersji alfabetu. Dzi?ki temu jego z?amanie bez znajomo?ci regu?y tego podstawienia staje si? trudniejsze.
- Algorytmy permutacji: Dzia?aj? poprzez przestawianie elementów tekstu jawnego zgodnie z okre?lon? regu?? lub zestawem regu? okre?lonych przez klucz szyfrowania. Proces ten, znany równie? jako transpozycja, tworzy szyfrogram, w którym oryginalna kolejno?? tekstu jawnego jest zakodowana. Si?a algorytmu permutacji wynika z trudno?ci odgadni?cia oryginalnych pozycji elementów bez znajomo?ci klucza zastosowanego podczas transpozycji.
Czym jest klucz szyfrowania?
Klucz szyfrowania jest ci?giem cyfr binarnych (bitów), które okre?laj? wynik algorytmu kryptograficznego. Si?a schematu szyfrowania zale?y w du?ej mierze od tajno?ci i integralno?ci klucza.
Zasady i procedury zarz?dzania kluczami obejmuj? ich wymian? lub aktualizacj? w razie potrzeby. Najlepsze praktyki wspieraj? dodawanie nowych kluczy, u?ytkowników i scenariuszy szyfrowania bez nara?ania bezpieczeństwa.
Skuteczne zarz?dzanie kluczami obejmuje nie tylko ochron? kluczy przed nieautoryzowanym dost?pem, ale tak?e w razie potrzeby zapewnienie autoryzowanym u?ytkownikom dost?pu do w?a?ciwego klucza. Je?li klucz szyfrowania zostanie zagubiony, nie ma sposobu na jego odzyskanie, co mo?e poskutkowa? sta?? utrat? danych.
W miar? rozwoju organizacji i ewolucji ich potrzeb w zakresie szyfrowania solidny system zarz?dzania kluczami musi by? skalowalny i zdolny do adaptacji.
Wiele bran? podlega regulacjom, które narzucaj? okre?lone standardy dla kluczy szyfrowania. Gdy zarz?dzanie kluczami zostaje uwzgl?dnione w polityce bezpieczeństwa danej organizacji, mo?e pomóc pracownikom w spe?nieniu wymogów zgodno?ci i unikni?ciu kar finansowych.
Co to jest algorytm szyfrowania?
Algorytm szyfrowania jest formu?? matematyczn?, któr? wykorzystuje si? do przekszta?cania tekstu jawnego w szyfrogram. Celem algorytmów szyfrowania jest ochrona danych poprzez przekszta?cenie ich w format, który mo?e zosta? odczytany tylko przez strony posiadaj?ce prawid?owy tajny klucz.
Algorytmy szyfrowania dzia?aj? w po??czeniu z par? tajnych kluczy: kluczem szyfrowania, u?ywanym do szyfrowania danych, i kluczem deszyfruj?cym, wykorzystywanym do odwrócenia tego procesu.
Rodzaje algorytmów szyfrowania
Wybór algorytmu szyfrowania zale?y od wra?liwo?ci chronionych danych, a tak?e wymagań dotycz?cych wydajno?ci i standardów zgodno?ci lub przepisów.
Oto lista algorytmów szyfrowania, które s? obecnie powszechnie stosowane:
Rodzaje schematów szyfrowania
Schematy szyfrowania mo?na podzieli? na trzy ró?ne kategorie:
- Wed?ug rodzaju klucza, którego u?ywaj?.
- Wed?ug trybu dzia?ania.
- Wed?ug zasady, na której opiera si? algorytm.
Klucze
Schematy szyfrowania mog? wykorzystywa? klucze symetryczne, asymetryczne lub (najcz??ciej) kombinacj? kluczy symetrycznych i asymetrycznych.
Szyfrowanie symetryczne wykorzystuje ten sam klucz do szyfrowania i deszyfrowania wiadomo?ci. Ten rodzaj jest szybki, wydajny i ?wietnie nadaje si? do szyfrowania dokumentów. Nie u?ywa si? go jednak zbyt cz?sto do komunikacji zawieraj?cej bardzo wra?liwe dane, poniewa? obie strony musz? mie? dost?p do tego samego, tajnego klucza.
Szyfrowanie asymetryczne (znane równie? jako kryptografia klucza publicznego) dzia?a poprzez generowanie par matematycznie powi?zanych kluczy. Jeden s?u?y do szyfrowania wiadomo?ci, a drugi do jej odszyfrowania. Nadawca koduje wiadomo?? przy u?yciu publicznie dost?pnego klucza odbiorcy. Wiadomo?? jest nast?pnie odkodowywana za pomoc? klucza prywatnego odbiorcy.
Szyfrowanie asymetryczne jest cz?sto porównywane do zablokowanej skrzynki pocztowej, która ma miejsce na odbieranie wiadomo?ci. Ka?dy, kto zna adres skrzynki (klucz publiczny), mo?e wys?a? wiadomo??, ale tylko w?a?ciciel skrzynki posiada klucz prywatny, aby j? otworzy? i odczyta? wiadomo??.
Szyfrowanie homomorficzne to forma szyfrowania asymetrycznego, która umo?liwia wykonywanie obliczeń na zaszyfrowanych danych. Wyniki po odszyfrowaniu powinny odpowiada? wynikom operacji, jakby zosta?y wykonane na jawnym tek?cie.
Szyfrowanie homomorficzne, które wykorzystuje g?ównie klucze asymetryczne, znajduje si? na wczesnym etapie adopcji do codziennego u?ytku. Jego rozwój w du?ej mierze nap?dza potrzeba ochrony danych osobowych (PII) w chmurze.
Szyfrowanie end-to-end (E2EE, od końca do końca) zapobiega odczytaniu danych przez osoby trzecie podczas ich przesy?ania z jednego systemu lub urz?dzenia do drugiego. Ten rodzaj szyfrowania zazwyczaj wykorzystuje kombinacj? asymetrycznych i symetrycznych kluczy szyfruj?cych. Na pocz?tku szyfrowanie asymetryczne s?u?y do bezpiecznej wymiany klucza symetrycznego mi?dzy komunikuj?cymi si? stronami. Po jego udost?pnieniu stosuje si? go do szyfrowania i odszyfrowywania wiadomo?ci. Chocia? E2EE zapewnia siln? ochron? danych, bywa trudne do prawid?owego wdro?enia. ?le zarz?dzane klucze szyfrowania E2EE mog? sprawi?, ?e dane stan? si? niedost?pne nawet dla uprawnionych u?ytkowników.
Szyfrowanie postkwantowe jest wa?nym obszarem badań nad szyfrowaniem. Komputery kwantowe mog? bowiem potencjalnie z?ama? wiele obecnie u?ywanych algorytmów kryptograficznych.
Opracowanie i wdro?enie algorytmów odpornych na komputery kwantowe jest proaktywnym ?rodkiem, który ma na celu zabezpieczenie infrastruktury IT przed przysz?ymi zagro?eniami. G?ównymi wyzwaniami s? tworzenie i standaryzacja nowych algorytmów, które nie mog? zosta? z?amane przez komputer kwantowy, oraz wdra?anie ich bez zak?ócania istniej?cych ram bezpieczeństwa i infrastruktury.
Niektórzy badacze uwa?aj?, ?e przy zwi?kszonych rozmiarach kluczy istniej?ce algorytmy szyfrowania symetrycznego (takie jak AES-256) mog? sta? si? wystarczaj?co odporne na ataki kwantowe. Inni za? twierdz?, ?e schematy szyfrowania postkwantowego wykorzystuj? kombinacj? algorytmów symetrycznych do masowego szyfrowania oraz algorytmów asymetrycznych do wymiany kluczy internetowych i uwierzytelniania.
Tryby dzia?ania szyfru
Tryby dzia?ania szyfru opisuj? sposób, w jaki algorytm szyfrowania obs?uguje dane. Szyfry blokowe i strumieniowe s? dwoma popularnymi rodzajami trybów szyfrowania.
- Szyfry blokowe szyfruj? bloki danych o sta?ym rozmiarze. Wykorzystuje si? je g?ównie do bezpiecznego szyfrowania danych, które s? przechowywane lub przesy?ane w znanych i sta?ych rozmiarach. Je?li tekst jawny nie mie?ci si? idealnie w bloku, dodaje si? jego wype?nienie. Szyfry blokowe same w sobie nie zapewniaj? mechanizmów gwarantuj?cych integralno?? danych. Problem ten jest cz?sto rozwi?zywany poprzez ??czenie szyfrów blokowych z trybem szyfrowania, takim jak tryb wi?zania bloków zaszyfrowanych.
- Szyfry strumieniowe szyfruj? tekst jawny po jednym bicie lub bajcie na raz. Ich dzia?anie polega na generowaniu pozornie losowego strumienia bitów, znanego jako generator strumienia bitowego, który jest nast?pnie ??czony z bitami tekstu jawnego np. za pomoc? operacji XOR. Proces tworzy szyfrogram. Bezpieczeństwo tego rodzaju trybu dzia?ania zale?y od generatora strumienia bitowego. Musi by? jak najbardziej losowy i u?yty tylko raz. Tryby dzia?ania szyfrów strumieniowych przydaj? si? wtedy, gdy ca?kowity rozmiar danych jest nieznany, na przyk?ad w przypadku komunikacji w czasie rzeczywistym.
Podstawowe zasady szyfrowania
Podstawowe zasady szyfrowania odnosz? si? do podstawowych poj?? matematycznych i logicznych, na których zbudowane s? algorytmy szyfrowania. Dzisiejsze schematy szyfrowania cz?sto ??cz? w sobie wiele zasad w celu zapewnienia niezawodno?ci.
Na przyk?ad sieci substytucji-permutacji s? strukturaln? zasad? projektowania szyfrów blokowych. Ka?da runda rozpoczyna si? warstw? substytucji i kończy warstw? permutacji. AES i wiele innych rodzajów szyfrowania opiera si? na strukturze SPN.
Oto inne wa?ne zasady szyfrowania (poza substytucj? i permutacj?):
Ukrywa sposób, w jaki klucz wp?ywa na proces szyfrowania, aby utrudni? wydedukowanie go z szyfrogramu.
Rozprzestrzenia wp?yw ka?dego pojedynczego znaku (lub bitu) tekstu jawnego na du?? cz??? szyfrogramu. Proces ten ma zapewni?, ?e ka?da zmiana w tek?cie jawnym, bez wzgl?du na jej wielko??, spowoduje znacz?ce i rozleg?e modyfikacje w szyfrogramie.
Z technicznego punktu widzenia jest to raczej struktura projektowa dla szyfrów blokowych ni? sama zasada. Sieci Feistela dziel? dane na po?ówki i przeprowadzaj? je przez wiele rund przetwarzania z kluczem, mieszaj?c i zamieniaj?c po?ówki w ka?dej rundzie. Na tej strukturze opiera si? wiele powszechnie stosowanych szyfrów blokowych, w tym potrójny DES.
Przekszta?ca dane w skrót o sta?ym rozmiarze. Haszowanie uzupe?nia szyfrowanie poprzez zapewnienie kontroli integralno?ci, bezpieczn? obs?ug? hase? i umo?liwienie sk?adania cyfrowych podpisów.
Jak szyfrowa? wiadomo?ci e-mail?
Warto pami?ta?, ?e wiadomo?ci e-mail nie s? domy?lnie automatycznie szyfrowane.
Cho? wi?kszo?? dostawców poczty e-mail u?ywa protoko?u TLS do szyfrowania wiadomo?ci e-mail, protokó? ten nie koduje danych w spoczynku, na serwerach poczty e-mail. Oznacza to, ?e je?li atakuj?cy uzyska dost?p do serwera dostawcy, uzyska dost?p do przechowywanych tam niezaszyfrowanych wiadomo?ci e-mail.
Niektórzy dostawcy poczty elektronicznej, np. ProtonMail, oferuj? szyfrowanie end-to-end. To wymaga jednak od nadawcy i odbiorcy u?ywania tej samej us?ugi i ustawień.
Dlaczego szyfrowanie jest potrzebne?
Szyfrowanie jest kluczowym narz?dziem do zagwarantowania prywatno?ci danych oraz utrzymania wiarygodno?ci, a tak?e niezawodno?ci komunikacji cyfrowej i transakcji.
Jest ono niezb?dne do ochrony informacji cyfrowych z kilku kluczowych powodów:
Kiedy stosowa? szyfrowanie?
Z szyfrowania nale?y korzysta? w ka?dej sytuacji, w której poufne informacje powinny by? chronione przed nieautoryzowanym dost?pem lub ujawnieniem. Na przyk?ad szyfrowanie stanowi podstawowy sk?adnik protoko?u (HTTPS), który jest bezpieczn? wersj? protoko?u hypertext transfer protocol (HTTP) u?ywanego do komunikacji internetowej.
HTTPS wykorzystuje protoko?y SSL/TLS do stworzenia bezpiecznego, szyfrowanego po??czenia mi?dzy przegl?dark? internetow? a serwerem. To daje pewno??, ?e wszystkie dane przesy?ane podczas po??czenia, w tym dane osobowe, logowania i p?atno?ci, podlegaj? szyfrowaniu i ochronie przed pods?uchaniem lub przej?ciem przez osoby trzecie.
Jak wdro?y? szyfrowanie?
Organizacje mog? stosowa? przeró?ne podej?cie do szyfrowania danych. Wykorzystane strategie i metody zale?? od poziomu ochrony, który pragn? osi?gn??, rodzaju danych, które chc? zaszyfrowa?, potencjalnego ryzyka lub zagro?eń, z którymi maj? do czynienia, oraz ilo?ci zasobów obliczeniowych i finansowych, które s? sk?onni zainwestowa?.
Jak z?ama? szyfr?
?amanie szyfrowania, okre?lane równie? jako kryptoanaliza, oznacza prób? odszyfrowania zaszyfrowanych danych bez klucza szyfrowania. Istnieje kilka teoretycznych i praktycznych podej?? do z?amania szyfru. Nale?? do nich:
Atak Brute Force (atak si?owy) wymaga wypróbowania ka?dego mo?liwego klucza a? do znalezienia tego w?a?ciwego. Przydatno?? tego podej?cia zale?y od d?ugo?ci klucza i si?y algorytmu szyfrowania. Z?o?one algorytmy z d?u?szymi kluczami s? trudniejsze do z?amania tym sposobem.
Polega na przeszukiwaniu algorytmów szyfrowania w celu znalezienia ich s?abych punktów, które mo?na wykorzysta?. Ataki analityczne mog? wykorzystywa? uczenie maszynowe (ML) do pomocy w analizie statystycznej szyfrogramu.
To podej?cie wykorzystuje informacje o fizycznej implementacji systemu, aby spróbowa? zlokalizowa? prawid?owy klucz. Opiera si? na informacjach o czasie, zu?yciu energii, wyciekach elektromagnetycznych, a nawet d?wi?kach.
Podej?cie to koncentruje si? na przechwytywaniu komunikacji i wprowadzaniu atakuj?cego mi?dzy dwie strony. Ataki MITM mog? by? stosowane do wykorzystywania s?abo?ci w implementacji szyfrowania lub procesie wymiany kluczy.
Zalety i wady szyfrowania
Szyfrowanie zapewnia bezpieczeństwo i prywatno?? danych, ale – jak ka?da inna technologia – ma swoje wady i zalety. Zrozumienie ich mo?e pomóc w podejmowaniu ?wiadomych decyzji dotycz?cych tego, kiedy i jak u?ywa? szyfrowania.
Zalety
- zwi?kszone bezpieczeństwo,
- prywatno?? danych,
- zgodno?? z przepisami,
- bezpieczna komunikacja,
- zaufanie i wiarygodno??,
- ochrona przed naruszeniami danych.
Wady
- ograniczenie wydajno?ci,
- z?o?one zarz?dzanie kluczami,
- wyzwania zwi?zane z odzyskiwaniem danych,
- z?o?ono?? pocz?tkowej konfiguracji,
- problemy z interoperacyjno?ci?,
- koszty.
Podsumowanie
Algorytmy szyfrowania koduj? informacje tak, ?e bez odpowiedniego klucza s? nie do odczytania. Wa?ne jest, aby zrozumie? znaczenie szyfrowania. Tylko wówczas mo?na dokonywa? ?wiadomych wyborów odno?nie algorytmu zastosowanego do ochrony informacji cyfrowych przed nieautoryzowanym dost?pem.
Najcz??ciej zadawane pytania
Czym jest szyfrowanie w prostych s?owach?
Jakie s? dwa rodzaje szyfrowania?
Jaki jest przyk?ad szyfrowania?
?ród?a
- Monoalfabetyczne szyfrowanie podstawieniowe (MASCs) (Nku)
- 16.3: Szyfry transpozycyjne – Mathematics LibreTexts (Math.libretexts)
- Najlepsze praktyki operacyjne zarz?dzania kluczami szyfrowania?(Cisa)
- plaintext – s?ownik | CSRC (Csrc.nist)
- ciphertext – s?ownik | CSRC (Csrc.nist)
- Algorytmy Chacha20 (Xilinx.github)
- Agorytmy Poly1305?(Xilinx.github)
- Schneier nt. bezpieczeństwa: Twofish (Schneier)
- Strona Serpent?(Cl.cam.ac)