Szyfrowanie klucza publicznego: definicje, funkcje i typy algorytmów

Idea kodowania klucza publicznego została po raz pierwszy wprowadzona na Uniwersytecie Stanford w 1976 r. Przez M. Hellmana, R. Merckle'a i W. Diffiego.

Dwa rodzaje algorytmów PKC to: RSA to skrót nazwany od wynalazców: Rivest, Shamir i Adelman oraz DSA (Digital Signature Algorithm). Szyfrowanie PKC ewoluowało, aby sprostać rosnącym, bezpiecznym potrzebom komunikacyjnym wielu sektorów i branż, zwłaszcza wojskowych. W przeciwieństwie do kryptografii z kluczem symetrycznym, szyfrowanie klucza publicznego jest stosunkowo nową koncepcją.

Etapy tworzenia kryptosystemu

Kryptografia symetryczna jest równie dobrze dostosowana do dużych korporacji finansowych, które wykorzystują tajne przekazywanie informacji. Wraz z rozprzestrzenianiem niezabezpieczonych sieci komputerowych w ciągu ostatnich kilku dziesięcioleci, istniała pilna potrzeba korzystania z kryptografii na szerszą skalę. Klucz symetryczny był niepraktyczny ze względu na problemy, z którymi borykał się przy zarządzaniu systemem. Doprowadziło to do szyfrowania klucza publicznego.


Etapy procesu tworzenia:
  • 1977. Wynaleziony przez RSA przez grupę programistów R. Rivesta, A. Shamira i L. Klyuchi.
  • 1978. Macelis został stworzony z powodu problemów z dekodowaniem kodów Goppa.
  • 1979. Rabin, w oparciu o problem faktoringu i kwestie związane z RSA, wyszedł.
  • 1984. Wydane przez Chor-Rivest.
  • 1985. Elgamal wyszedł na dyskretny logarytm.
  • Inne asymetrycznecryptosystems:
  • Metoda eliptyczna oparta na krzywych eliptycznych przypominających Elgamal.
  • Merkle /Hellman - Na podstawie zadania plecaka LUC, takiego jak RSA, tworzy on sekwencję Lucasów.
  • MNLN jest taki sam jak RSA.
  • Zasada szyfrowania, zalety i wady

    Aby zrozumieć zasadę szyfrowania asymetrycznego, musisz zawsze pamiętać, że masz do czynienia nie tylko z jednym kluczem, ale z dwoma. Szyfrowanie klucza publicznego rozpoczyna się od opublikowania klucza publicznego. Post może być złożony, na przykład, za pośrednictwem serwera, a także pocztą. Użytkownik nie musi przekazywać go bezpieczną ścieżką, każdy może wziąć klucz publiczny. Często jest nawet pożądane, aby był rozpowszechniany globalnie, aby żaden inny klucz publiczny nie był sfałszowany.


    Za pomocą publicznego systemu szyfrowania kluczy każdy jest w stanie zaszyfrować informacje dla właściciela klucza publicznego. Dlatego wiadomość jest odszyfrowana przez tajny klucz odbiorcy. Dlatego tak ważne jest, aby klucz pozostawał tajny. Jego posiadacz może odszyfrować wszystkie wiadomości zaszyfrowane przez innych, własny klucz publiczny. Takie kryptosystemy są używane do szyfrowania danych klucza publicznego, uwierzytelniania i integralności. Znanymi przykładami opartymi na asymetrycznych metodach są OpenPGP lub S /MIME, a także protokoły kryptograficzne, takie jak SSH, SSL /TLS, a nawet https oparte na asymetrycznych kryptosystemach. Zalety:
  • Stosunkowo wysokie bezpieczeństwo.
  • Nie potrzebujesz tak wielu kluczy jak w symetrycznej metodzie szyfrowania, więcnajmniej wysiłku, aby stworzyć tajemnicę.
  • Nie ma problemu z przeniesieniem klucza.
  • Zdolność do uwierzytelniania za pomocą podpisów cyfrowych.
  • Wady systemów szyfrowania kluczy publicznych to:
  • Algorytmy działają bardzo powoli: około 10 000 razy wolniej niż symetrycznie.
  • Wymagana duża długość klucza.
  • Problemy z wieloma użytkownikami, gdy wiadomość wymaga dalszego szyfrowania.
  • Procedury hybrydowe.
  • Ryzyko bezpieczeństwa jest dostępne dla każdego klucza publicznego, co jest również wadą systemów szyfrowania kluczy publicznych.
  • Kryptografia asymetryczna

    PKC również znany jako szyfrowania klucza publicznego, szyfrowania asymetrycznego, kryptografii asymetrycznej, asymetryczne szyfr szyfrowania kluczami szyfrowania asymetrycznego DiffieHellman. PKC - to algorytm kryptograficzny oraz komponent Kryptosystem realizowane różne standardy internetowe, w tym bezpiecznego transportu (TLS), Pretty Good Privacy (PGP), GNU Privacy Guard (GPG), Secure Socket Layer (SSL) i protokół transmisji hipertekstu (HTTP) . PKC zapewnia bezpieczną komunikację poprzez niebezpieczne kanał, który pozwala na odczytywanie wiadomości tylko adresat. Na przykład A B używa klucza publicznego do zaszyfrowania wiadomości można odszyfrować za pomocą unikalnego klucza prywatnego B. PKC zachowuje poufność i bezpieczeństwo zapewnia komunikację e-mail, gdzie wiadomości są w tranzycie lub przechowywane na serwerze pocztowym. PKC jest również składnikiem DSAktóra służy do uwierzytelnienia tajnego klucza, który może zostać zweryfikowany przez dowolną osobę posiadającą legalny dostęp do kluczy publicznych. W ten sposób PKC ułatwia poufność, integralność danych i uwierzytelnianie, które tworzą kluczowe parametry informacji (IA).
    PKC działa wolniej niż tajne metody kryptograficzne (lub kryptografia symetryczna) ze względu na wysokie wymagania obliczeniowe. Jest to wyraźny brak systemów szyfrowania open source. W przeciwieństwie do symetrycznej kryptografii, PKC używa stałego rozmiaru bufora, w zależności od konkretnych i małych objętości danych, które mogą być szyfrowane i nie są związane w wątkach. Ponieważ wykorzystywany jest szeroki zakres możliwych kluczy szyfrujących, PKC jest bardziej niezawodny i mniej podatny na próby naruszenia bezpieczeństwa.

    Metoda klucza publicznego

    Do szyfrowania i odszyfrowywania używane są różne klucze. Jest to właściwość, która ustawia schemat inny niż szyfrowanie symetryczne. Każdy odbiornik ma unikalny klucz odszyfrowywania, powszechnie nazywany zamkniętym. Odbiorca musi opublikować ten, który jest nazywany kluczem publicznym metody szyfrowania. Pewne zaufanie do jego autentyczności jest potrzebne w tym schemacie, aby uniknąć zastąpienia atakującego jako odbiorcy. Zazwyczaj ten typ kryptosystemu zawiera zaufaną stronę trzecią, która wskazuje, że określony klucz publiczny należy tylko do określonej osoby lub obiektu. Algorytm szyfrowania klucza publicznego RSA jest dość skomplikowany, aby uniemożliwić intruzowi wyświetlenie otwartegotekst zaszyfrowanego tekstu i klucz szyfrowania klucza publicznego.

    Generowanie par RSA

    Każda osoba lub każda strona, która chce nawiązać komunikację z kryptografią, generuje jednocześnie kilka opcji, a mianowicie otwarty i zaszyfrowany klucz szyfrowania. Proces opisany poniżej:

  • Wygeneruj moduł RSA (n).
  • Wybrano dwie liczby pierwsze p i q.
  • Znajdź liczbę pochodną e. Liczba e musi być większa niż 1 i mniejsza (p - 1) (q - 1). W przypadku ei (p - 1) (q - 1) nie powinien istnieć ogólny czynnik inny niż 1.
  • Przeprowadź szyfrowanie za pomocą klucza publicznego.
  • Para liczb (n, e) tworzy klucz publiczny RSA. Chociaż n jest częścią klucza otwartego, trudność zliczania takiej liczby zapewnia, że ​​atakujący nie może znaleźć w skończonym czasie dwóch liczb pierwszych (p & q) użytych do uzyskania n. To zrozumienie jest podstawą RSA.
  • ​​
    Tworzenie tajnego klucza jest następujące. Klucz prywatny d jest obliczany z p, q i e. Dla danych n i e istnieje niepowtarzalny numer d. Liczba d jest inwersją e modulo (p - 1) (q - 1). Oznacza to, że d jest liczbą mniejszą niż (p - 1) (q - 1), ale taką, że po pomnożeniu przez e jest to 1 modulo (p - 1) (q - 1). Ten stosunek jest zapisany matematycznie w następujący sposób: ed = 1 mod (p - 1) (q - 1). Zaawansowany algorytm Euklidesa akceptuje p, q i e jako dane wejściowe i daje d jako konkluzja. Poniżej znajduje się przykład pary klucza RSA. Dla ułatwienia zrozumienia, proste numery p & amp; q, wzięte tutaj, są małymi wartościami. W praktyce wartości te powinny być bardzo znaczące.
    Algorytm obliczania:
  • Niech dwie liczby pierwsze są równe p = 7 q = 13.Zatem moduł n = pq = 7 x 13 = 91.
  • Wybierz e = 5 jako prawidłowy wybór, ponieważ nie ma liczby, która jest wspólnym współczynnikiem 5 i (p - 1) (q - 1) = 6 x 12 = 72, z wyjątkiem 1. Para liczb (n, e) = (91 5) tworzy otwarty klucz i może być dostępna dla wszystkich, którzy muszą wysyłać zaszyfrowane wiadomości. Wejście p = 7 q = 13 i e = 5. Wyjście będzie równe d = 29.
  • Bądź przekonany, że obliczona wartość d jest poprawna - de = 29 x 5 = 145 = 1 mod 72.
  • Zatem klucz publiczny to (91 5) i klucz prywatny (9129).
  • Szyfrowanie i deszyfrowanie

    Ponadto proces szyfrowania i odszyfrowywania jest stosunkowo prosty i łatwy do obliczenia. Co ciekawe, RSA nie działa bezpośrednio z liniami bitowymi, tak jak w przypadku metody symetrycznej. Działa z modułami n. W związku z tym konieczne jest przedstawienie otwartego tekstu, jako szeregu liczb, mniejszego n. Szyfrowanie RSA:
  • Załóżmy, że nadawca chce wysłać komuś wiadomość tekstową, klucz otwarty (n, e).
  • Następnie nadawca reprezentuje otwarty tekst jako serię liczb mniejszą niż n.
  • Zaszyfruj pierwszy otwarty tekst P, który jest numerem po module n. Proces szyfrowania jest prostym krokiem matematycznym, C = Pe mod n.
  • Innymi słowy, zaszyfrowany tekst C jest równy otwartemu tekstowi P pomnożonemu przez e razy, a następnie zredukowany do modulo n. Oznacza to, że C jest również mniejsze niż n. Wracając do przykładu generowania kluczy o otwartym kodzie, P = 10, otrzymujemy zaszyfrowany tekst: C = 105 mod 91. Dekodowanie RSA:
  • Proces odszyfrowywania RSA jest również bardzo prosty. Załóżmy, że odbiorca pary kluczy (n, e) ma tekst C.
  • Odbiornik podnosi wartość C dla klucza d. Wynikiem modulo n będzietekst otwarty P: Plaintext = Cd mod n.
  • Wracając ponownie do przykładu liczbowego, zaszyfrowany tekst C = 82 jest odszyfrowywany do 10 za pomocą klucza prywatnego 29: Plaintext = 8229 mod 91 = 10.
  • Bezpieczeństwo RSA zależy od mocy dwóch oddzielnych funkcji. Kryptosystem RSA jest najpopularniejszym kryptosystemem klucza publicznego, który opiera się na praktycznej złożoności rozróżniania dużych liczb. Funkcja szyfrowania jest uważana za jednokierunkową funkcję przekształcania otwartego tekstu w zaszyfrowany tekst i można ją cofnąć tylko za pomocą tajnego klucza d. Złożoność określania otwartego i zamkniętego klucza szyfrowania RSA jest równoważna z faktoryzacją modułu n. W związku z tym atakujący nie może wykorzystać wiedzy o kluczu publicznym RSA do określenia tajnego klucza RSA, chyba że może określić wartość n. Jest to również funkcja jednokierunkowa, przejście z wartości p & amp; q do modułu n jest łatwe, ale odwrócenie nie jest możliwe. Jeśli którakolwiek z tych dwóch funkcji nie jest jednostronna, naruszenie RSA. W rzeczywistości, jeśli technologia faktoringu zostanie skutecznie opracowana, RSA nie będzie już bezpieczna. Siły szyfrowania RSA gwałtownie spadają na ataki, jeśli liczby p i q nie są liczbami pierwszymi, lub wybrany klucz publiczny e jest małą liczbą.

    Cryptosystem ElGamal

    Wraz z RSA istnieją inne kryptosystemy klucza publicznego. Wiele z nich opiera się na różnych wersjach problemu dyskretnych logarytmów. Kryptosystem ElGamal, nazywany wariantem krzywej eliptycznej, opiera się również na problemie logarytmu dyskretnego. Z mocą zyskuje moc ochronyzałożenie, że dyskretne logarytmy nie mogą znaleźć się w praktycznym przedziale czasowym dla danej liczby, podczas gdy działanie odwrotnej mocy można obliczyć efektywnie. Na przykład prosta wersja ElGamala, która działa z liczbami modulo p. W przypadku wariantów krzywej eliptycznej metoda oparta jest na zupełnie innych systemach obliczeń. Każdy użytkownik kryptosystemu ElGamal generuje parę kluczy w następujący sposób:
  • Wybór dużej liczby pierwszej p. Zwykle wybiera się prosty numer od 1024 do 2048 bitów.
  • Wybór elementu generatora g. Liczba ta powinna być pomiędzy 1 i p - 1.
  • jest generatorem multiplikatywnej grupy liczb całkowitych modulo p oznacza to, że dla każdej liczby całkowitej m wspólnie pierwsza z p istnieje całkowita k, GK. = a mod n. Na przykład 3 jest generatorem grupy 5 (Z 5 = {123 4}).


  • N



    3 N



    3N mod 5



    1



    3



    3



    2

    (97 )
    , 9


    ,
    4



    3



    27
    ,


    2


    ,
    4



    81



    1

    Wybór tajnego klucza. Klucz prywatny x jest dowolną liczbą większą niż 1 i mniejszą niż (p-1). Obliczanie części klucza publicznego. Wartość y jest obliczana przez parametry p, g i prywatny klucz x w następujący sposób: y = gx mod p. Uzyskiwanie klucza publicznego. ElGamala klucz publiczny składa się z trzech parametrów (p, g, r) .Prypustymo, na przykład, p = 17, a g = 6 Prawdopodobnie, generator 6, a grupa Z 17. Klucz prywatny x może być dowolną liczbą większą niż 1 i mniej niż 71 dlatego wybierz x = 5. Następnie wartość y obliczana jest w następujący sposóbnastępująco: y = 17 = 65 mod 7. Tak więc, gdy klucz prywatny jest kluczem publicznym 62 - (1767).

    ECC Krzywa eliptyczna

    kryptografii krzywych eliptycznych (ECC) - termin stosowany do opisania zestaw narzędzi kryptograficznych i protokołach, bezpieczeństwa, który opiera się na specjalnej wersji dyskretnej problemu logarytmu. Nie używa numerów modulo p. ECC opiera się na zbiorach liczb związanych z obiektami matematycznymi zwanymi krzywymi eliptycznymi. Istnieją zasady dotyczące dodawania i obliczania wielu z tych liczb, a także liczb według modułu p. ECC zawiera opcje wielu systemów kryptograficznych, które zostały pierwotnie opracowane dla liczb modułowych, takich jak elgamal, algorytmów szyfrowania klucza publicznego i podpis cyfrowy. Uważa się, że logarytm dyskretny Problem jest znacznie bardziej skomplikowana, dotyczące punktów krzywej eliptycznej. Powoduje to przejście od liczby modulo «p» Do punktów krzywej eliptycznej. Również równoważny poziom bezpieczeństwa można uzyskać przy krótszych kluczy, jeżeli są stosowane z opcji eliptycznych krzywych. Krótsze klawisze prowadzą do dwóch zalet szyfrowania informacji klucza publicznego:
  • Łatwe zarządzanie kluczami.
  • Efektywne obliczenia.
  • Te zalety sprawiają, że empiryczne schematy szyfrowania są bardzo atrakcyjne dla aplikacji o ograniczonych zasobach obliczeniowych. Możesz szybko porównać obwody RSA i ElGamal z różnych stron.

    RSA



    ElGamal



    Bardziej efektywny w szyfrowaniu.



    Bardziej skuteczne dlaodszyfrowywanie



    Mniej skuteczny do dekodowania.



    Bardziej skuteczne do odszyfrowywania.



    Dla pewnego poziomu bezpieczeństwa RSA wymaga długich kluczy.



    Dla tego samego poziomu bezpieczeństwa wymagane są bardzo krótkie klucze.



    Metoda jest szeroko stosowana.



    Nowa metoda wciąż nie jest zbyt popularna na rynku.

    Protokół SSL (Secure Sockets Layer Protocol)

    Ruch internetowy, który przesyła informacje za pośrednictwem komputerów pośrednich, może zostać przechwycony przez stronę trzecią:
  • Podsłuch. Informacje pozostają nietknięte, ale poufność jest zagrożona. Na przykład ktoś może zbierać numery kart kredytowych, nagrywać poufne rozmowy lub przechwytywać poufne informacje.
  • Podrabianie. Informacje na drodze są zmieniane lub zastępowane, a następnie wysyłane do odbiorcy. Na przykład ktoś może zmienić kolejność towarów lub zmienić CV osoby.
  • Podszywanie się. Informacje przekazywane są osobie reprezentującej odbiorcę.
  • Podszywanie się może mieć dwie formy:
  • Zmiana. Osoba może udawać, że jest kimś innym.
  • Zniekształcenie. Osoba lub organizacja może się zniekształcić. Na przykład strona o nazwie może kwalifikować się do sklepu z meblami online, gdy faktycznie otrzymuje płatności kartą kredytową, ale nigdy nie wysyła żadnych przedmiotów.
  • Kryptografia klucza publicznego zapewnia ochronę przed atakami internetowymi.

    Algorytm szyfrowania i jego zalety bezpieczeństwa

    Niewłaściwe jest obliczanie klucza prywatnegona podstawie klucza publicznego. Z tego powodu klucze publiczne mogą być swobodnie używane, umożliwiając łatwe i wygodne korzystanie z szyfrowania treści i weryfikacji podpisów cyfrowych, a tajne klucze mogą być przechowywane w tajemnicy, zapewniając, że tylko posiadacze prywatnych kluczy mogą odszyfrowywać zawartość i tworzyć cyfrowe podpisy. Ponieważ klucze publiczne powinny być rozdzielone, ale zbyt duże, aby można je było łatwo zapamiętać, są przechowywane w cyfrowych certyfikatach w celu bezpiecznego transportu i udostępniania. Klucze prywatne nie są używane razem, są po prostu przechowywane w oprogramowaniu lub systemie operacyjnym lub na sprzęcie, na przykład tokeny USB, sprzęt zawierający sterowniki, które pozwalają na używanie go z oprogramowaniem lub systemem operacyjnym. Certyfikaty cyfrowe są wydawane przez organizacje znane jako Centra Certyfikacji (CA). Główne aplikacje biznesowe do kryptografii z kluczem publicznym to:
  • Podpisy cyfrowe - zawartość podpisu cyfrowego z kluczem prywatnym jest weryfikowana za pomocą klucza publicznego użytkownika.
  • Szyfrowanie - treść jest szyfrowana przy użyciu klucza publicznego i można ją odszyfrować wyłącznie za pomocą klucza prywatnego użytkownika.
  • Zakładając, że klucz prywatny nie został naruszony, szyfrowanie danych i wiadomości zapewnia następujące korzyści bezpieczeństwa:
  • Prywatność - ponieważ treść jest szyfrowana za pomocą klucza publicznego użytkownika, może być odszyfrowanatylko za pomocą klucza prywatnego, zapewniając, że tylko odbiorca może odszyfrować i przeglądać zawartość.
  • Integralność - proces deszyfrowania część obejmuje sprawdzenie, czy zawartość pierwotnego komunikatu zaszyfrowany i dekodowane do nowej linii, to nawet najmniejsze zmiany w pierwotnej treści doprowadzi do awarii procesu.
  • Infrastruktura otwartego instrumentu

    ​​
    Infrastruktura Klucza Publicznego (PKI) jest zdarzenie tła i cyberbezpieczeństwa jest opisana jako zbiór reguł, zasad i procedury niezbędne do tworzenia, zarządzania, dystrybucji, użytkowania, przechowywania i unieważniania certyfikatów cyfrowych. PKI opiera się na kryptografii asymetrycznej jest szeroko wykorzystywana obecnie do zapewnienia łączności elektronicznej na zakupy online, bankowości internetowej i poczty elektronicznej, a także do ochrony komunikacji pomiędzy użytkownikami i miliony stron internetowych, łączą się za pomocą protokołu HTTPS. Chociaż można łatwo szyfrowania wiadomości bez PKI, użytkownik może łatwo sprawdzić, z którą komunikuje. Innymi słowy infrastruktura PKI pomaga mu uwierzytelnić lub zweryfikować osobę, z którą się komunikuje. Typowy ekosystem PKI obejmuje następujące kluczowe komponenty:
  • Polityka certyfikacji to specyfikacja zabezpieczeń, która określa strukturę i hierarchię ekosystemu PKI, a także zasady dotyczące zarządzania kluczami, bezpiecznego przechowywania, przetwarzania i anulowania.
  • Korzeń Certificate Authority (CA), odpowiedzialna za poświadczenie tożsamościsystem.
  • Pośredni urząd certyfikacji jest certyfikowany przez główny urząd certyfikacji w określonych celach określonych w polityce certyfikacji.
  • Certyfikaty cyfrowe są zwykle wydawane i podpisywane przez ośrodki certyfikacji.
  • Baza danych certyfikatów przechowuje swoje rekordy.
  • Usługa anulowania to serwer, który publikuje zmienione listy CRL lub protokół OCSP (Online Certificate Status Protocol) korzystający z listy CRL i odpowiadający na sprawdzanie odwołania dla urządzeń, które same nie mogą obsługiwać list CRL.
  • W związku z tym asymetryczne kryptosystemy są używane do szyfrowania, uwierzytelniania i integralności. Jeśli osoba atakująca nie ma klucza szyfrowania klucza publicznego, nigdy nie będzie w stanie użyć tajnych danych. Znanymi przykładami opartymi na asymetrycznych metodach są OpenPGP lub S /MIME. Ale protokoły kryptograficzne, takie jak SSH, SSL /TLS, a nawet https, oparte są na asymetrycznych kryptosystemach.

    Powiązane publikacje