zanim przejdziemy do listy 5 najczęściej używanych algorytmów szyfrowania, aby je uprościć, jak nigdy dotąd
szyfrowanie jest jednym z tych tematów związanych z cyberbezpieczeństwem, które zawsze pojawiają się w nagłówkach gazet., Każdy, kto dobrze rozumie różne rodzaje szyfrowania, może czuć się niesprawiedliwy wobec tej niezwykłej technologii, która jest sercem bezpieczeństwa i prywatności w Internecie. Szyfrowanie jest metodą konwersji danych do formatu nieczytelnego, dzięki czemu tylko upoważnione strony mogą uzyskać dostęp do informacji.
klucze kryptograficzne, w połączeniu z algorytmami szyfrowania, są tym, co umożliwia proces szyfrowania., W zależności od sposobu stosowania tych kluczy, stosowane są głównie dwa typy metod szyfrowania: „szyfrowanie symetryczne „i” szyfrowanie asymetryczne.”Obie te metody wykorzystują różne algorytmy matematyczne (np. algorytmy szyfrujące, o których wspominaliśmy przed chwilą) do szyfrowania danych. Ta lista popularnych algorytmów szyfrowania obejmuje RSA, ECC, 3DES, AES itp.
w tym artykule dowiemy się o symetrycznym & szyfrowaniu asymetrycznym i ich dominujących algorytmach szyfrowania, które są używane do szyfrowania danych.
wyduś to z siebie.,
Typ szyfrowania # 1: Szyfrowanie symetryczne
metoda szyfrowania symetrycznego, jak sama nazwa wskazuje, używa jednego klucza kryptograficznego do szyfrowania i deszyfrowania danych. Użycie jednego klucza dla obu operacji sprawia, że jest to prosty proces, dlatego nazywa się go ” symetrycznym.”Oto wizualny opis działania szyfrowania symetrycznego:
przyjrzyjmy się procesowi szyfrowania symetrycznego na prostym przykładzie:
w Nowym Jorku mieszka dwóch bardzo bliskich przyjaciół o imieniu Bob i Alice., Z jakiegoś powodu Alice musi wyprowadzić się z miasta. Mogą się ze sobą komunikować tylko poprzez pocztę. Ale jest jeden problem: Bob i Alice boją się, że ktoś może przeczytać ich listy.
aby chronić swoje litery przed czyimiś oczami, decydują się napisać swoją wiadomość w taki sposób, aby każda litera wiadomości została zastąpiona literą siedem pozycji w dół alfabetu., Tak więc, zamiast pisać „Apple”, piszą „hwwsl” (a -> H, P -> w, L -> S, E -> L). Aby przywrócić dane do pierwotnej postaci, musieliby zastąpić literę o siedem pozycji w kolejności alfabetu.
oczywiście może to zabrzmieć dla Ciebie zbyt prosto — i tak jest. To dlatego, że ta technika była używana wieki temu przez Juliusza Cezara, cesarza rzymskiego i generała wojskowego. Znana jako” szyfr Cezara”, metoda ta działa na technice substytucji alfabetu.,
dzisiejsze metody szyfrowania nie są takie proste. Powszechnie stosowane algorytmy szyfrowania są tak skomplikowane, że nawet połączona moc obliczeniowa wielu superkomputerów nie jest w stanie ich złamać. I dlatego możemy się zrelaksować i wysłać informacje o naszej karcie kredytowej bez obaw.
to, co sprawia, że szyfrowanie symetryczne jest świetną techniką
najbardziej wyróżniającą cechą szyfrowania symetrycznego jest prostota jego procesu. Ta prostota tego typu szyfrowania polega na użyciu jednego klucza zarówno do szyfrowania, jak i deszyfrowania., W rezultacie algorytmy szyfrowania symetrycznego:
- są znacznie szybsze niż ich odpowiedniki szyfrowania asymetrycznego (o czym omówimy wkrótce),
- wymagają mniejszej mocy obliczeniowej, a
- nie tłumią prędkości internetu.
oznacza to, że gdy istnieje duża część danych do zaszyfrowania, szyfrowanie symetryczne okazuje się świetną opcją.
3 popularne typy algorytmów szyfrowania symetrycznego
jak widzieliśmy w szyfrze Cezara, za każdą metodą szyfrowania kryje się specyficzna logika, która szyfruje dane., Stosowane obecnie metody szyfrowania opierają się na bardzo złożonych funkcjach matematycznych, które praktycznie uniemożliwiają ich złamanie.
możesz sobie uświadomić, że istnieją setki symetrycznych algorytmów kluczowych! Niektóre z najczęstszych metod szyfrowania to AES, RC4, DES, 3DES, RC5, RC6 itp. Spośród tych algorytmów najbardziej znane są algorytmy DES i AES. Chociaż nie możemy objąć wszystkich różnych typów algorytmów szyfrowania, spójrzmy na trzy z najczęstszych.
1., Algorytm szyfrowania symetrycznego des
wprowadzony w 1976 roku DES (data encryption standard) jest jedną z najstarszych metod szyfrowania symetrycznego. Został opracowany przez IBM w celu ochrony wrażliwych, niesklasyfikowanych elektronicznych danych rządowych i został formalnie przyjęty w 1977 roku do użytku przez agencje federalne. DES używa 56-bitowego klucza szyfrującego i opiera się na strukturze Feistela zaprojektowanej przez kryptografa Horsta Feistela. Algorytm szyfrowania DES był jednym z tych, które zostały uwzględnione w TLS (transport layer security) w wersjach 1.0 i 1.1.,
DES konwertuje 64-bitowe bloki danych ze zwykłego tekstu na tekst szyfrowy, dzieląc blok na dwa oddzielne 32-bitowe bloki i stosując proces szyfrowania do każdego niezależnie. Obejmuje to 16 rund różnych procesów — takich jak ekspansja, permutacja, substytucja lub operacja XOR za pomocą okrągłego klucza —przez które Dane będą przechodzić w trakcie ich szyfrowania. Ostatecznie 64-bitowe bloki zaszyfrowanego tekstu są produkowane jako wyjście.
dziś DES nie jest już używany, ponieważ został złamany przez wielu badaczy bezpieczeństwa., W 2005 roku DES został oficjalnie wycofany i został zastąpiony przez algorytm szyfrowania AES, o którym za chwilę porozmawiamy. Największym minusem DES była jego niska długość klucza szyfrującego, co ułatwiało brutalne wymuszanie. TLS 1.2, obecnie najczęściej używany protokół TLS, nie używa metody szyfrowania DES.
2. Algorytm szyfrowania symetrycznego 3DES
3DES (znany również jako tdea, co oznacza triple data encryption algorithm), jak sama nazwa wskazuje, jest ulepszoną wersją algorytmu DES, który został wydany., 3DES został opracowany w celu przezwyciężenia wad algorytmu DES i został wprowadzony do użytku pod koniec 1990 roku. aby to zrobić, stosuje algorytm DES trzy razy do każdego bloku danych. W rezultacie proces ten sprawił, że 3DES był znacznie trudniejszy do złamania niż jego poprzednik DES. Stał się również szeroko stosowanym algorytmem szyfrowania w systemach płatniczych, standardach i technologii w branży finansowej. Stał się również częścią protokołów kryptograficznych, takich jak TLS, SSH, IPsec i OpenVPN.
wszystkie algorytmy szyfrujące ostatecznie ulegają potędze czasu, a 3DES nie różnił się niczym., Luka w zabezpieczeniach Sweet32 odkryta przez naukowców Karthikeyana Bhargavana i Gaëtana Leurenta odłączyła dziury bezpieczeństwa istniejące w algorytmie 3DES. Odkrycie to spowodowało, że branża bezpieczeństwa rozważyła deprecjację algorytmu, a National Institute of Standards and Technology (NIST) ogłosił deprecjację w projekcie wytycznych opublikowanym w 2019 roku.
zgodnie z tym projektem, wykorzystanie 3DES ma zostać porzucone we wszystkich nowych aplikacjach po 2023 roku. Warto również zauważyć, że TLS 1.3, najnowszy standard dla protokołów SSL / TLS, również zaprzestał korzystania z 3DES.,
3. Algorytm szyfrowania symetrycznego AES
AES, który oznacza „advanced encryption system”, jest jednym z najczęściej używanych typów algorytmów szyfrowania i został opracowany jako alternatywa dla algorytmu DES. Znany również jako Rijndael, AES stał się standardem szyfrowania po zatwierdzeniu przez NIST w 2001 roku. W przeciwieństwie do DES, AES jest rodziną szyfrów blokowych, która składa się z szyfrów o różnych długościach kluczy i rozmiarach bloków.
AES pracuje nad metodami substytucji i permutacji., Najpierw dane tekstowe są przekształcane w bloki, a następnie szyfrowanie jest stosowane przy użyciu klucza szyfrowania. Proces szyfrowania składa się z różnych pod-procesów, takich jak sub bajty, przesunięcie wierszy, mieszanie kolumn i dodawanie okrągłych kluczy. W zależności od wielkości klucza wykonuje się 10, 12 lub 14 takich rund. Warto zauważyć, że ostatnia runda nie uwzględnia pod-procesu mieszania kolumn wśród wszystkich innych pod-procesów wykonywanych w celu szyfrowania danych.
zaletą korzystania z algorytmu szyfrowania AES
wszystko to sprowadza się do tego, że AES jest bezpieczny, szybki i elastyczny., AES jest znacznie szybszym algorytmem w porównaniu do DES. Wiele opcji długości klawiszy jest największą zaletą, ponieważ im dłuższe są klawisze, tym trudniej je złamać.
obecnie AES jest najczęściej używanym algorytmem szyfrowania — jest używany w wielu aplikacjach, w tym:
- bezpieczeństwo bezprzewodowe,
- bezpieczeństwo procesorów i szyfrowanie plików,
- protokół SSL/TLS (bezpieczeństwo stron internetowych),
- bezpieczeństwo Wi-Fi,
- szyfrowanie aplikacji mobilnych,
- VPN (wirtualna sieć prywatna) itp.,
wiele agencji rządowych, w tym National Security Agency (NSA), polega na algorytmie szyfrowania AES, aby chronić swoje poufne informacje.
typ szyfrowania # 2: szyfrowanie asymetryczne
szyfrowanie asymetryczne, w przeciwieństwie do metody szyfrowania symetrycznego, obejmuje wiele kluczy do szyfrowania i deszyfrowania danych. Szyfrowanie asymetryczne obejmuje dwa różne klucze szyfrowania, które są ze sobą matematycznie powiązane. Jeden z tych kluczy jest znany jako „klucz publiczny”, a drugi jako „klucz prywatny”.,”Stąd, dlaczego metoda szyfrowania asymetrycznego znana jest również jako” kryptografia klucza publicznego.”
jak widzieliśmy w powyższym przykładzie, szyfrowanie symetryczne działa świetnie, gdy Alice i Bob chcą wymienić informacje. Ale co, jeśli Bob chce bezpiecznie komunikować się z setkami ludzi? Czy byłoby to praktyczne, gdyby używał różnych kluczy matematycznych dla każdej osoby? Nie bardzo, bo to byłoby dużo kluczy do żonglowania.
aby rozwiązać ten problem, Bob używa szyfrowania klucza publicznego, co oznacza, że daje klucz publiczny każdemu, kto wysyła mu informacje i zachowuje klucz prywatny dla siebie., Poleca im szyfrowanie informacji kluczem publicznym, aby dane mogły być odszyfrowane tylko przy użyciu klucza prywatnego, który posiada. Eliminuje to ryzyko naruszenia klucza, ponieważ dane mogą być odszyfrowane tylko przy użyciu klucza prywatnego, który posiada Bob.
co sprawia, że szyfrowanie asymetryczne jest świetną techniką
pierwszą (i najbardziej oczywistą) zaletą tego typu szyfrowania jest bezpieczeństwo, jakie zapewnia., W tej metodzie klucz publiczny – który jest publicznie dostępny — jest używany do szyfrowania danych, podczas gdy deszyfrowanie danych odbywa się za pomocą klucza prywatnego, który musi być bezpiecznie przechowywany. Zapewnia to ochronę danych przed atakami typu man-in-the-middle (MiTM). W przypadku serwerów internetowych/e-mail, które łączą się z setkami tysięcy klientów w każdej chwili, szyfrowanie asymetryczne jest niczym innym jak dobrodziejstwem, ponieważ muszą tylko zarządzać i chronić jeden klucz., Innym kluczowym punktem jest to, że kryptografia klucza publicznego umożliwia tworzenie szyfrowanego połączenia bez konieczności spotkania w trybie offline, aby najpierw wymienić klucze.
drugą istotną cechą oferowaną przez szyfrowanie asymetryczne jest uwierzytelnianie. Jak widzieliśmy, dane zaszyfrowane kluczem publicznym można odszyfrować tylko przy użyciu powiązanego z nim klucza prywatnego. Dlatego zapewnia, że dane są widoczne i odszyfrowane tylko przez podmiot, który ma je otrzymać. Mówiąc prościej, sprawdza, czy rozmawiasz z osobą lub organizacją, za którą się uważasz.,
2 główne typy algorytmów szyfrowania asymetrycznego
1. Algorytm szyfrowania asymetrycznego RSA
wynaleziony przez Rona Rivesta, Adi Shamira i Leonarda Adlemana (stąd „RSA”) w 1977 roku, RSA jest do tej pory najczęściej stosowanym algorytmem szyfrowania asymetrycznego. Jego moc polega na metodzie” Prime factorisation”, na której opiera się. Zasadniczo, metoda ta obejmuje dwie ogromne liczby pierwsze losowe, a te liczby są mnożone, aby utworzyć kolejną wielką liczbę. Zagadka polega na określeniu oryginalnych liczb pierwszych z tej gigantycznej liczby pomnożonej.,
okazuje się, że ta łamigłówka jest praktycznie niemożliwa — jeśli użyjemy odpowiedniej długości klucza, która jest generowana z wystarczającą entropią — dla dzisiejszych super-komputerów, nie mówiąc już o ludziach. W 2010 roku grupa naukowców przeprowadziła badania i zajęło im ponad 1500 lat czasu obliczeniowego (rozproszonego na setki komputerów), aby złamać klucz RSA-768 – bitowy-który jest znacznie poniżej standardowego 2048-bitowego klucza RSA, który jest obecnie używany.
zaletą korzystania z algorytmu szyfrowania RSA
ogromną zaletą, jaką oferuje RSA, jest jego skalowalność., Występuje w różnych długościach kluczy szyfrujących, takich jak 768-bit, 1024-bit, 2048-bit, 4096-bit itp. Dlatego też, nawet jeśli dolne długości klawiszy są skutecznie wymuszane metodą brute-forced, można użyć szyfrowania o większych długościach klawiszy, ponieważ trudność wymuszania metodą brute-forcing zwiększa się z każdą wydłużoną długością klawisza.
RSA opiera się na prostym podejściu matematycznym, dlatego jego implementacja w infrastrukturze klucza publicznego (PKI) staje się prosta. Ta zdolność adaptacji do PKI i jej bezpieczeństwo sprawiły, że RSA stał się obecnie najczęściej stosowanym algorytmem szyfrowania asymetrycznego., RSA jest szeroko stosowany w wielu aplikacjach, w tym w certyfikatach SSL / TLS, kryptowalutach i szyfrowaniu poczty e-mail.
2. Algorytm szyfrowania asymetrycznego ECC
w 1985 roku dwaj matematycy Neal Koblitz i Victor S. Miller zaproponowali zastosowanie krzywych eliptycznych w kryptografii. Po prawie dwóch dekadach ich pomysł stał się rzeczywistością, gdy algorytm ECC (Elliptic Curve Cryptography) wszedł do użytku w latach 2004-2005.,
w procesie szyfrowania ECC krzywa eliptyczna reprezentuje zbiór punktów spełniających równanie matematyczne (y2 = x3 + ax + b).
podobnie jak RSA, ECC działa również na zasadzie nieodwracalności. W prostszych słowach łatwo jest obliczyć go w jednym kierunku, ale boleśnie trudno go odwrócić i dojść do pierwotnego punktu. W ECC liczba symbolizująca punkt na krzywej jest mnożona przez inną liczbę i daje kolejny punkt na krzywej. Teraz, aby złamać tę łamigłówkę, musisz dowiedzieć się nowy punkt na krzywej., Matematyka ECC jest zbudowana w taki sposób, że jest praktycznie niemożliwe, aby znaleźć nowy punkt, nawet jeśli znasz punkt oryginalny.
zaletą korzystania z algorytmu szyfrowania ECC
w porównaniu do RSA, ECC oferuje większe bezpieczeństwo (przed obecnymi metodami pękania), ponieważ jest dość złożony. Zapewnia podobny poziom ochrony jak RSA, ale używa znacznie krótszych długości kluczy. W rezultacie, złamanie ECC przy użyciu klawiszy o większej długości zajmie znacznie więcej czasu przy użyciu ataków brute force.
Kolejną zaletą krótszych klawiszy W ECC jest szybsza wydajność., Krótsze klucze wymagają mniej obciążenia sieci i mocy obliczeniowej, a to okazuje się być świetne dla urządzeń o ograniczonych możliwościach przechowywania i przetwarzania. Gdy ECC jest używany w certyfikatach SSL/TLS, znacznie skraca czas potrzebny na wykonanie uścisków dłoni SSL / TLS i pomaga szybciej załadować witrynę. Algorytm szyfrowania ECC jest używany do aplikacji szyfrujących, do stosowania podpisów cyfrowych, w generatorach pseudolosowych itp.
wyzwaniem związanym z używaniem ECC jest jednak to, że wiele oprogramowania serwerowego i paneli sterowania nie dodało jeszcze obsługi certyfikatów ECC SSL / TLS., Mamy nadzieję, że to się zmieni w przyszłości, ale oznacza to, że RSA będzie nadal szerzej stosowanym algorytmem szyfrowania asymetrycznego w międzyczasie.
Szyfrowanie Hybrydowe: Szyfrowanie symetryczne + asymetryczne
Po pierwsze, pozwól mi wyjaśnić, że szyfrowanie hybrydowe nie jest „metodą” jak szyfrowanie symetryczne i asymetryczne są. Czerpie to, co najlepsze z obu tych metod i tworzy synergię, aby zbudować solidne systemy szyfrowania.
chociaż szyfrowanie symetryczne i asymetryczne są korzystne, oba mają swoje wady., Metoda szyfrowania symetrycznego doskonale sprawdza się przy szybkim szyfrowaniu dużych danych. Mimo to nie zapewnia weryfikacji tożsamości, co jest potrzebą godziny, jeśli chodzi o bezpieczeństwo internetowe. Z drugiej strony szyfrowanie asymetryczne — dzięki parze klucza publicznego/prywatnego-zapewnia dostęp do danych przez docelowego odbiorcę. Jednak weryfikacja ta sprawia, że proces szyfrowania jest boleśnie powolny, gdy jest wdrażany na dużą skalę.,
w wielu aplikacjach, takich jak bezpieczeństwo stron internetowych, istniała potrzeba szyfrowania danych z dużą prędkością, a weryfikacja tożsamości była również wymagana, aby upewnić się, że użytkownicy rozmawiają z zamierzonym podmiotem. Tak narodził się pomysł szyfrowania hybrydowego.
technika szyfrowania hybrydowego jest używana w aplikacjach takich jak certyfikaty SSL / TLS. Szyfrowanie SSL / TLS jest stosowane podczas serii komunikacji między serwerami a klientami (przeglądarkami internetowymi) w procesie znanym jako „uścisk dłoni TLS.,”W tym procesie tożsamość obu stron jest weryfikowana za pomocą klucza prywatnego i publicznego. Po potwierdzeniu tożsamości przez obie strony, szyfrowanie danych odbywa się za pomocą szyfrowania symetrycznego przy użyciu klucza efemerycznego (sesyjnego). Zapewnia to szybką transmisję ton danych, które wysyłamy i odbieramy w Internecie co minutę.,
rodzaje metod szyfrowania: co Zahaszowaliśmy
Jeśli zastanawiasz się, który typ szyfrowania jest lepszy od drugiego, nie będzie wyraźnego zwycięzcy, ponieważ zarówno szyfrowanie symetryczne, jak i asymetryczne przynoszą swoje zalety i nie możemy wybrać tylko jednego z nich.koszt drugiego.
z punktu widzenia bezpieczeństwa szyfrowanie asymetryczne jest niewątpliwie lepsze, ponieważ zapewnia uwierzytelnianie i brak odrzucenia., Jednak wydajność jest również aspektem, którego nie możemy sobie pozwolić na zignorowanie, dlatego szyfrowanie symetryczne zawsze będzie potrzebne.
oto podsumowanie tego, co udało nam się uzyskać, jeśli chodzi o typy szyfrowania:
Szyfrowanie symetryczne | szyfrowanie asymetryczne | |
pojedynczy klucz służy do szyfrowania i deszyfrowania danych. | para kluczy służy do szyfrowania i deszyfrowania. Klucze te są znane jako klucz publiczny i klucz prywatny., | |
ponieważ używa tylko jednego klucza, jest to prostsza metoda szyfrowania. | dzięki parze kluczy jest to bardziej złożony proces. | |
Szyfrowanie symetryczne jest używane głównie do szyfrowania. | szyfrowanie asymetryczne zapewnia szyfrowanie, uwierzytelnianie i brak odrzucenia. | |
zapewnia szybszą wydajność i wymaga mniejszej mocy obliczeniowej w porównaniu do szyfrowania asymetrycznego. | jest wolniejszy niż szyfrowanie symetryczne i wymaga większej mocy obliczeniowej ze względu na swoją złożoność., | |
do szyfrowania danych używane są mniejsze długości kluczy (np. długość 128-256 bitów). | zazwyczaj metody szyfrowania asymetrycznego obejmują dłuższe klucze (np. długość 1024-4096 bitów). | |
idealny do aplikacji, w których duża ilość danych musi być zaszyfrowana. | idealny do aplikacji, w których wykorzystuje się niewielką ilość danych, zapewniając uwierzytelnianie.Standardowe algorytmy szyfrowania symetrycznego obejmują RC4, AES, DES, 3DES i QUAD. | Standardowe algorytmy szyfrowania asymetrycznego obejmują RSA, Diffie-Hellman, ECC, El Gamal i DSA., |