Szyfrowanie symetryczne a asymetryczne
Szyfrowanie to kluczowa koncepcja w kryptografii. Jest to proces, w którym można zakodować wiadomość do formatu, który nie może być odczytany przez podsłuchującego. Jest to technika od wieków, a jeden popularny starożytny przypadek użycia znaleziono w wiadomościach Cezara, które zostały zaszyfrowane przy użyciu szyfru Cezara. Można to uznać za transformację. Użytkownik ma zwykły tekst, a gdy jest zakodowany w tekście zaszyfrowanym, żaden podsłuchujący nie może zakłócać zwykłego tekstu. Po otrzymaniu przez zamierzonego odbiorcę może go odszyfrować, aby uzyskać oryginalny zwykły tekst. Szyfrowanie jest używane w prawie całej komunikacji sieciowej w różnym stopniu bez naszej wiedzy. Kiedyś ograniczał się do aplikacji wojskowych i komunikacji rządowej, ale wraz z rozpowszechnieniem Internetu ostatnio potrzeba bezpiecznych kanałów informacyjnych stała się najważniejsza, a szyfrowanie stało się głównym rozwiązaniem tego problemu. Istnieją dwa główne typy szyfrowania, znane jako szyfrowanie symetryczne i szyfrowanie asymetryczne. Będziemy je dziś porównywać ze sobą.
Szyfrowanie symetryczne
Jest to najprostszy rodzaj szyfrowania, który wymaga użycia jednego tajnego klucza. Jest to najstarsza znana metoda szyfrowania i szyfr Caesar należy do tej kategorii. Tajny klucz może być tak prosty jak liczba lub ciąg liter itp. Spójrzmy na szyfr szyfrowy, który jest prostą techniką szyfrowania symetrycznego, którą można elegancko zademonstrować. W naszych rękach mamy zwykły tekst „Chcę wysłać tajną wiadomość”, a naszym tajnym kluczem jest przesunięcie każdej litery o trzy pozycje. Więc jeśli masz „A” w tekście jawnym, będzie to „D” w tekście szyfru. Jest to tak zwany szyfr Cezara, a tekst szyfru wyglądałby jak „L zdqw wr vhqg d vhfuhw phvvdjh”. Na pierwszy rzut oka jest to niezrozumiałe, ale po odkodowaniu go za pomocą tajnego klucza ponownie staje się zwykłym tekstem. Obecnie stosuje się wiele algorytmów szyfrowania symetrycznego klucza, w tym szyfrów strumieniowych, takich jak RC4, FISH, Py, QUAD, SNOW itp. Oraz szyfrów blokowych, takich jak AES, Blowfish, DES, Serpent, Camellia itp..
Szyfrowanie asymetryczne
Szyfrowanie asymetryczne jest również znane jako kryptografia klucza publicznego, która jest stosunkowo nowym obszarem w porównaniu do szyfrowania symetrycznego. Szyfrowanie asymetryczne wykorzystuje dwa klucze do szyfrowania zwykłego tekstu. To przyszło na arenę, aby rozwiązać nieodłączny problem szyfru symetrycznego. Jeśli podsłuchujący w jakiś sposób zdobędzie symetryczny tajny klucz, wówczas cały punkt szyfrowania zostanie unieważniony. Jest to bardzo prawdopodobne, ponieważ tajny klucz może wymagać przekazania za pośrednictwem niezabezpieczonych kanałów komunikacji. Jako rozwiązanie szyfrowanie asymetryczne wykorzystuje dwa klucze, przy czym jeden klucz jest publicznie dostępny, a drugi klucz jest prywatny i jest znany tylko tobie. Wyobraź sobie, że ktoś chce Ci wysłać wiadomość; w takim scenariuszu będziesz mieć prywatny tajny klucz, a odpowiadający mu klucz publiczny będzie dostępny dla każdego, kto może chcieć wysłać Ci zaszyfrowaną wiadomość. Nadawca szyfruje wiadomość za pomocą klucza publicznego i przekształca zwykły tekst w tekst zaszyfrowany, a to można odszyfrować tylko przy użyciu odpowiedniego klucza prywatnego, który umożliwia każdemu wysłanie wiadomości bez konieczności dzielenia się z tobą tajnym kluczem. Jeśli wiadomość jest zaszyfrowana za pomocą tajnego klucza, można ją również odszyfrować za pomocą klucza publicznego. W rzeczywistości szyfrowanie asymetryczne jest najczęściej stosowane w codziennych kanałach komunikacji, zwłaszcza przez Internet. Popularne algorytmy szyfrowania klucza asymetrycznego obejmują ElGamal, RSA, techniki krzywej eliptycznej, PGP, SSH itp..
Jaka jest różnica między szyfrowaniem symetrycznym a szyfrowaniem asymetrycznym?
• Szyfrowanie symetryczne wykorzystuje pojedynczy tajny klucz, który musi być współdzielony przez osoby, które muszą otrzymać wiadomość, podczas gdy szyfrowanie asymetryczne wykorzystuje parę kluczy publicznych oraz klucz prywatny do szyfrowania i deszyfrowania wiadomości podczas komunikacji.
• Szyfrowanie symetryczne to stara technika, podczas gdy szyfrowanie asymetryczne jest stosunkowo nowe.
• Wprowadzono szyfrowanie asymetryczne w celu uzupełnienia nieodłącznego problemu konieczności udostępniania klucza w modelu szyfrowania symetrycznego, eliminując potrzebę udostępniania klucza za pomocą pary kluczy publiczno-prywatnych.
Szyfrowanie symetryczne a szyfrowanie asymetryczne
Mogę dać ci kompleksowy przegląd tego, czy wybrać szyfrowanie symetryczne, czy szyfrowanie asymetryczne, ale prawda jest taka, że jest bardzo mało prawdopodobne, że będziesz miał szansę wybrać, czy nie jesteś programistą czy inżynierem oprogramowania. Wynika to z faktu, że wszystkie te szyfrowania zachodzą w warstwie aplikacji i poniżej tej w modelu sieci OSI, a laik nie musiałby w żaden sposób ingerować w to. Będą mieć zapewnione w różnym stopniu gwarancje prywatności w zależności od używanych programów. Dlatego ważne jest, aby pamiętać, że nigdy nie komunikuj swojego tajnego klucza przez sieć publiczną, jeśli używasz algorytmu klucza symetrycznego, a szyfrowanie asymetryczne pozwala uniknąć kłopotów. Jednak zwykle szyfrowanie asymetryczne zajmuje stosunkowo więcej czasu i jako takie większość prawdziwych systemów wykorzystuje hybrydę tych dwóch metod szyfrowania, w których tajny klucz używany w szyfrowaniu symetrycznym jest szyfrowany przy użyciu szyfrowania asymetrycznego, które jest przesyłane przez niezabezpieczony kanał, podczas gdy reszta dane są szyfrowane przy użyciu szyfrowania symetrycznego i przesyłane przez niezabezpieczony kanał. Kiedy odbiorca otrzymuje asymetrycznie zaszyfrowany klucz, używa swojego klucza prywatnego do odszyfrowania go, a gdy pozna sekret, może łatwo odszyfrować symetrycznie zaszyfrowaną wiadomość.