Bezpieczeństwo systemów komputerowych

Podobne dokumenty
Zarys algorytmów kryptograficznych

2 Kryptografia: algorytmy symetryczne

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003

Szyfrowanie informacji

Marcin Szeliga Dane

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

4. Podstawowe elementy kryptografii

WSIZ Copernicus we Wrocławiu

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

Algorytmy asymetryczne

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7

Kryptografia szyfrowanie i zabezpieczanie danych

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

1.1. Standard szyfrowania DES

Kryptografia na Usługach Dewelopera. Cezary Kujawa

Bezpieczeństwo danych, zabezpieczanie safety, security

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Szyfry przestawieniowe

Szyfry kaskadowe. Szyfry kaskadowe

Szyfry kaskadowe. permutacyjnej (SPP).

Seminarium Ochrony Danych

Zastosowania informatyki w gospodarce Wykład 5

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Wykład 5. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1

Bezpieczeństwo danych i systemów informatycznych. Wykład 5

Authenticated Encryption

Copyright by K. Trybicka-Francik 1

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

Bezpieczeństwo kart elektronicznych

OCHRONA INFORMACJI W SYSTEMACH I SIECIACH KOMPUTEROWYCH SYMETRYCZNE SZYFRY BLOKOWE

Wykład IV. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Wprowadzenie do technologii VPN

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Szyfrowanie RSA (Podróż do krainy kryptografii)

Bezpieczeństwo systemów i sieci komputerowych

Kryptologia. Bezpieczeństwo komunikacji elektronicznej

Potencjalne ataki Bezpieczeństwo

Laboratorium nr 1 Szyfrowanie i kontrola integralności

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 1

RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA

Kryptografia na procesorach wielordzeniowych

Szyfry Strumieniowe. Zastosowanie wybranych rozwiąza. zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet. Opiekun: prof.

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Kryptografia-0. przykład ze starożytności: około 489 r. p.n.e. niewidzialny atrament (pisze o nim Pliniusz Starszy I wiek n.e.)

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Szyfry strumieniowe. Wykład 6. Binarny addytywny szyfr strumieniowy

Wykład 6. Szyfry strumieniowe

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

Szyfry strumieniowe RC4. Paweł Burdzy Michał Legumina Sebastian Stawicki

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

SCHEMAT ZABEZPIECZENIA WYMIANY INFORMACJI POMIĘDZY TRZEMA UŻYTKOWNIKAMI KRYPTOGRAFICZNYM SYSTEMEM RSA

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Technologie cyfrowe semestr letni 2018/2019

Metody szyfrowania danych

Bezpieczeństwo systemów komputerowych

Bezpieczne sieci TCP/IP

Opis efektów kształcenia dla modułu zajęć

Czym jest kryptografia?

Ochrona Systemów Informacyjnych. Elementy Kryptoanalizy

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Bezpieczeństwo w Internecie

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Plan wykładu. Ochrona zasobów w systemach gospodarki elektronicznej. Usługi ochrony. Klasyfikacja zagrożeń. Wykład: Systemy gospodarki elektronicznej

Plan całości wykładu. Ochrona informacji 1

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Od Wydawcy Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9

PRACE NAUKOWE Akademii im. Jana Długosza w Częstochowie Informatyka, Inżynieria Bezpieczeństwa

Spis treści. Od Wydawcy

KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 9

Ataki kryptograficzne.

Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S.

ZESZYTY NAUKOWE WYDZIAŁU ETI POLITECHNIKI GDAŃSKIEJ Nr 4 Seria: Technologie Informacyjne 2006 ANALIZA METODY SZYFROWANIA "ZT-UNITAKOD"

Wybrane zagadnienia teorii liczb

Implementacja algorytmu szyfrującego

Laboratorium Kryptografia część I

Spis treści. Przedmowa... 9

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

Wykład Uwagi ogólne. W_7_(SK_B).doc 7.1

1. Maszyny rotorowe Enigma

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

Bezpieczna poczta i PGP

Wykład 12. Projektowanie i Realizacja. Sieci Komputerowych. Bezpieczeństwo sieci

Transkrypt:

Bezpieczeństwo systemów komputerowych Wprowadzenie do kryptologii Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 16 listopada 2016

Jak ta dziedzina powinna się nazywać? Kryptografia (ang. cryptography) dziedzina zajmująca się utajnianiem danych. Zajmują się nią kryptografowie (ang. cryptographer). Kryptoanaliza (ang. cryptoanalysis) dziedzina zajmująca się łamaniem zabezpieczeń chroniących utajnione dane. Zajmują się nią kryptoanalitycy (ang. cryptoanalyst). Kryptologia (ang. cryptology) dziedzina wiedzy i nauki obejmująca kryptografię i kryptoanalizę. Zajmują się nią kryptolodzy (ang. cryptologist).

O czym tu będziemy mówić? Tekst jawny (ang. plaintext), tekst otwarty (ang. cleartext), wiadomość (ang. message) dane poddawane operacjom ochrony kryptograficznej Szyfrowanie (kryptaż) (ang. encryption, encipher) proces ukrywania (utajniania) tekstu jawnego Szyfrogram (kryptogram) (ang. ciphertext) zaszyfrowana (utajniona) postać tekstu jawnego Deszyfrowanie (dekryptaż) (ang. decryption, decipher) proces odtwarzania tekstu jawnego na podstawie szyfrogramu

Podstawowe oznaczenia M tekst jawny C szyfrogram E funkcja szyfrująca E(M) = C D funkcja deszyfrująca D(C) = M Podstawowa zależność D(E(M)) = M

Algorytmy i klucze Algorytm kryptograficzny, szyfr para funkcji: funkcja szyfrująca i funkcja deszyfrująca Algorytm ograniczony (ang. restricted algorithm) bezpieczeństwo opiera się na tajności algorytmu. Nowoczesna kryptografia zakłada jawność algorytmu kryptograficznego. Po co komu ta jawność? Bezpieczeństwo zapewnia się za pomocą klucza (ang. key). Obie funkcje szyfrująca i deszyfrująca zależą od tajnego klucza K: E K (M) = C, D K (C) = M, D K (E K (M)) = M.

Algorytmy i klucze, cd. Niektóre algorytmy stosują różne klucze dla operacji szyfrowania i deszyfrowania K 1, K 2 : E K1 (M) = C, D K2 (C) = M, D K2 (E K1 (M)) = M. Przemienność kluczy przestawienie roli kluczy z pary: E K2 (M) = C, D K1 (C) = M, D K1 (E K2 (M)) = M. Przestrzeń kluczy (ang. keyspace) zbiór wszystkich możliwych kluczy Kryptosystem (ang. cryptosystem) szyfr wraz ze zbiorami wszystkich możliwych tekstów jawnych, szyfrogramów i kluczy

Jak działają szyfry symetryczne? Klucz deszyfrujący może być łatwo wyznaczony z klucza szyfrującego lub oba klucze są identyczne. Nazywane są też: szyframi konwencjonalnymi, szyframi z kluczem tajnym (ang. secret-key cipher), szyframi z jednym kluczem (ang. one-key cipher). Wymagane jest uzgodnienie klucza między nadawcą a odbiorcą. Ale jak to zrobić? Klucz musi być utrzymywany w tajemnicy. Ten sam klucz może obowiązywać w obu kierunkach komunikacji lub są oddzielne klucze dla każdego kierunku. Każda para komunikujących się (a właściwie każda sesja komunikacji) musi używać innego klucza. Dla n użytkowników potrzeba n(n 1)/2 kluczy. Trzeba rozwiązać problem uzgadniania wspólnego klucza na odległość.

Podział szyfrów symetrycznych Szyfr strumieniowy (ang. stream cipher) jednostką przetwarzania informacji jest 1 bit lub 1 oktet (8 bitów, bajt) lub 1 znak tekstu jawnego. Szyfr blokowy (ang. block cipher) jednostką przetwarzania informacji jest blok bitów, obecnie najczęściej 64 lub 128 bitów.

ECB tryb elektronicznej książki kodowej

ECB tryb elektronicznej książki kodowej, cd. Tekst jawny jest dzielony na bloki. Ostatni fragment jest uzupełniany do pełnego bloku. Każdy blok jest szyfrowany niezależnie, z użyciem tego samego klucza. Powtarzające się bloki tekstu jawnego dają powtarzające się bloki szyfrogramu, co ułatwia kryptoanalizę. Struktura danych (np. sekwencja rekordów bazy danych) nie jest dostatecznie dobrze ukrywana.

CBC tryb wiązania bloków zaszyfrowanych

CBC tryb wiązania bloków zaszyfrowanych, cd. Blok szyfrogramu zależy od wszystkich dotychczasowych bloków tekstu jawnego i wektora początkowego IV (ang. inicializaction vector). Jest to tryb samoodtwarzający (ang. self-recovering), błędy w szyfrogramie nie propagują się. Szyfrowanie jest trudno zrównoleglić. Deszyfrowanie może być zrównoleglone.

CFB tryb sprzężenia zwrotnego szyfrogramu

CFB tryb sprzężenia zwrotnego szyfrogramu, cd. Możemy rozpocząć szyfrowanie przed otrzymaniem całości bloku. Dane mogą być szyfrowane w mniejszych jednostkach niż cały blok, np. w porcjach po x bitów: C i := head(e K (S i 1 ), x) M i, M i := head(e K (S i 1 ), x) C i, S i := (S i 1 x) C i, S 0 := IV. Używana jest tylko procedura szyfrowania. Nie ma konieczności uzupełniania tekstu jawnego do wielokrotności rozmiaru bloku. Szyfrogram zależy od całego poprzedzającego tekstu jawnego. CFB samosynchronizuje się na poziomie bloków.

PCBC tryb propagującego wiązania bloków zaszyfrowanych

PCBC tryb propagującego wiązania bloków zaszyfrowanych, cd. Propaguje w nieskończoność małe zmiany w tekście zaszyfrowanym.

OFB tryb z wyjściowym sprzężeniem zwrotnym Generuje strumień klucza, xorowany następnie z tekstem jawnym. Deszyfrowanie jest identyczne jak szyfrowanie. Umożliwia stosowanie kodów korekcyjnych przed szyfrowaniem.

Tryb licznikowy Użyteczny do szyfrowania danych o dostępie swobodnym, np. plików.

Jak działają szyfry asymetryczne? Nazywane są też szyframi z kluczem publicznym (ang. public key cipher). Klucze szyfrowania i deszyfrowania są różne. Klucz deszyfrowania nie może być łatwo (w rozsądnym czasie) wyznaczony na podstawie klucza szyfrowania. Klucz szyfrowania nazywany jest kluczem publicznym (ang. public key). Klucz deszyfrowania nazywany jest kluczem prywatnym (ang. private key) lub kluczem tajnym (ang. secret key). Klucz publiczny można ujawnić każdy może zaszyfrować wiadomość. Klucz prywatny musi być utajniony tylko jego właściciel może odszyfrować wiadomość. Wiadomość może być też szyfrowana kluczem prywatnym i deszyfrowana kluczem publicznym, np. w celu zapewnienia autentyczności (podpis cyfrowy).

Co tygrysy lubią najbardziej? Kryptoanaliza zajmuje się odtwarzaniem tekstu jawnego bez znajomości klucza lub odtwarzaniem klucza. Stosowanie kryptoanalizy nazywa się łamaniem szyfru. Bezpieczeństwo systemu kryptograficznego jest oparte wyłącznie na kluczu. Kryptoanalityk zna wszystkie szczegóły algorytmu kryptograficznego i jego implementacji. Kryptoanalityk zna format tekstu jawnego, np. język, w którym został napisany.

Metody łamania szyfrów Tylko tekst zaszyfrowny (ang. ciphertext-only) kryptoanalityk zna tylko pewną liczbę szyfrogramów. Znany tekst jawny (ang. known-plaintext) kryptoanalityk oprócz znajomości pewnej liczby szyfrogramów zna odpowiadające im teksty jawne. Wybrany tekst jawny (ang. chosen-plaintext) kryptoanalityk może wybrać pewną liczbę tekstów jawnych i otrzymać ich szyfrogramy. Adaptacyjnie wybrany tekst jawny (ang. adaptive-chosen-plaintext) kryptoanalityk może wykonywać kolejne próby ataku z wybranym tekstem jawnym.

Metody łamania szyfrów, cd. Wybrany szyfrogram (ang. chosen-ciphertext) kryptoanalityk może wybrać pewną liczbę szyfrogramów i otrzymać ich postać jawną. Wybrany tekst kryptoanalityk stosuje jednocześnie łamanie z wybranym tekstem jawnym i wybranym szyfrogramem. Wybrany klucz (ang. chosen-key) kryptoanalityk posiada pewną wiedzę o powiązaniach między różnymi kluczami. Gumowa pałka (ang. rubber-hose) kryptoanalityk stosuje groźby, szantaż lub tortury. Przekupstwo (ang. purchase-key) kryptoanalityk kupuje potrzebne informacje.

Kategorie łamania szyfrów Znana jest metoda odtwarzania klucza na podstawie szyfrogramu. Znany jest algorytm odtwarzania tekstu jawnego bez znajomości klucza. Poznano tekst jawny przechwyconego szyfrogramu. Poznano częściową informację o kluczu i tekście jawnym, np. pewne bity lub fragmenty.

Obliczeniowe bezpieczeństwo systemu kryptograficznego Informatyka interesują tylko obliczeniowe metody łamania szyfrów. :-) Szyfr jest bezwarunkowo bezpieczny (ang. unconditionaly secure), jeśli nie jest możliwe odtworzenie tekstu jawnego, nawet przy nieograniczonych zasobach obliczeniowych. Tylko szyfr z kluczem jednorazowym jest bezwarunkowo bezpieczny. Szyfr jest obliczeniowo bezpieczny lub silny, jeśli nie może być złamany za pomocą dostępnych obecnie i w przyszłości zasobów obliczeniowych. Złożoności metody łamania: danych ilość danych wejściowych niezbędnych do złamania, obliczeniowa czas niezbędny do złamania, pamięciowa wielkość pamięci niezbędnej do złamania.

Szyfr z kluczem jednorazowym Rozważamy alfabet A z operacjami dodawania i odejmowania modulo rozmiar tego alfabetu. Zwykle A = {0, 1}, a dodawanie i odejmowanie to operacja XOR. Klucz to ciąg losowych znaków z alfabetu A o długości niemniejszej niż długość tekstu jawnego. Szyfrowanie polega na dodaniu do każdego znaku tekstu jawnego odpowiedniego znaku klucza. Deszyfrowanie polega na odjęciu od każdego znaku szyfrogramu odpowiedniego znaku klucza. Nadawca wyciąga klucz z sejfu, szyfruje tekst jawny i niszczy klucz. Odbiorca wyciąga klucz z sejfu, deszyfruje szyfrogram i niszczy klucz. Trzeba rozwiązać problem dystrybucji i przechowywania kluczy.

Przykład szyfru blokowego IDEA Opracowany w latach 1990 1992 przez Xuejia Lai i Jamesa Masseya. Patenty wygasną do 2012 r. 64-bitowy blok danych jest dzielony na cztery 16-bitowe podbloki. Używa 128-bitowego klucza, z którego generuje się 52 16-bitowe podklucze. Łatwo można go zaimplementować sprzętowo i programowo na procesorach 16-bitowych. Używa trzech podstawowych operacji: bitowa suma modulo 2 (XOR), dodawanie modulo 2 16, mnożenie modulo 2 16 + 1. Żadna para operacji nie spełnia prawa rozdzielności ani łączności.

IDEA, pojedyncza iteracja

IDEA, cd. Iteracja powtarzana jest 8-krotnie. Na zakończenie stosowany jest dodatkowy etap przekształcania wyniku.

IDEA, mnożenie Opearcję mnożenia modulo 2 16 + 1 można zaimplementować następująco x = (ab mod 2 16 ) (ab div 2 16 ), { ab mod (2 16 x, gdy x 0, + 1) = x + 2 16 + 1, w p.p.

DES Data Encryption Standard: opracowany w USA na podstawie projektu IBM przy współudziale NSA; ogłoszony jako standard w 1976; 64-bitowy blok danych; 56-bitowy klucz; obecnie uznawany za słaby. 3DES: trzykrotny DES; 112-bitowy klucz; próba uratowania algorytmu DES (istnieją implementacje sprzętowe). DES z niezależnymi podkluczami: 768-bitowy klucz. DESX: opracowany przez RSA Data Security; dodatkowy 64-bitowy klucz; wybielanie uodparniające na atak brutalny.

Następca DES CRYPT(3): wariant DES spotykany w systemach uniksowych; wykorzystywany jako funkcja jednokierunkowa dla haseł. s n DES zmienione S-bloki. DES z S-blokami zależnymi od klucza. AES Advanced Encryption Standard powstał w wyniku konkursu ogłoszonego przez NIST w 1997; zaaprobowany jako standard i następca DES w 2002; wykorzystuje algorytm Rijndeal opracowany w 1999 przez Joana Daemena i Vincenta Rijmena; 128-bitowy blok danych; klucz długości 128, 192 lub 256 bitów.

Rivest Cipher, Ron s Code Opatentowane algorytmy opracowane przez Ronalda Rivesta, pracownika MIT i założyciela RSA Data Security. Bardzo wydajne, dużo szybsze od DES. RC2: blokowy, długość bloku 64 bity; klucz długości od 8 do 128 bitów; używany m.in. przez firmę Lotus. RC4: strumieniowy; klucz długości od 40 do 256 bitów; używany m.in. w SSL, WEP, WPA. RC5: blokowy, długość bloku 32, 64 lub 128 bitów; klucz długości do 2040 bitów. RC6: opracowany na bazie RC5 na potrzeby konkursu AES; blokowy, długość bloku 128 bitów; klucz długości 128, 192 lub 256 bitów.

Inne szyfry symetryczne CAST: rodzina szyfrów zbliżonych do DES o zmiennej długości kluczy i bloków; CAST-128 opisany w RFC 2144; CAST-256 opracowany na potrzeby konkursu AES. SAFER: algorytm blokowy opracowany przez Jamesa L. Masseya; wersja z kluczem 64 bitowym (SAFER-K64) obejmująca 6 rund; wersja z kluczem 128 bitowym (SAFER-K128) do 12 rund (rekomendowane 10). BLOWFISH: opracowany przez Bruce a Schneiera; blok danych ma 64 bity; podstawowy klucz ma długość do 448 bitów; w algorytmie występuje 16 iteracji wykorzystujących 18 kluczy pomocniczych (wyznaczanych każdorazowo przed szyfrowaniem i deszyfrowaniem) i 4 S-bloki 256-elementowe o wartościach zależnych od klucza podstawowego, danych oraz liczby π.

Szyfry strumieniowe, generatory ciągów pseudolosowych Wiele szyfrów strumieniowych działa w oparciu o generator ciągu pseudolosowego. Szyfrowanie i deszyfrowanie polega na xorowaniu tego ciągu odpowiednio z tekstem jawnym i szyfrogramem. Prosta realizacja sprzętową w oparciu o rejestry przesuwające z liniowym sprzężeniem zwrotnym LFSR (ang. linear feedback shift register). 0 1 0 0 1 1 wyjście sprzężenie W najprostszym przypadku sprzężenie zwrotne to suma modulo 2.

Przykłady szyfrów strumieniowych A5: szyfry stosowane w GSM; 3 rejestry o długościach 19, 22 i 23 bity; w każdej rundzie są zwykle taktowane 2 rejestry; wyjście to suma wyjść rejestrów modulo 2.

RSA Opublikowany w 1978 roku przez Ronalda Rivesta, Adi Shamira i Leonarda Adlemana. Niedawno wygasła jego ochrona patentowa. Dobór kluczy: p, q losowo wybrane duże liczby pierwsze; n = pq moduł; e liczba względnie pierwsza z (p 1)(q 1); d liczba wyznaczona tak, że zachodzi ed mod (p 1)(q 1) = 1; (n, d) klucz prywatny; (n, e) klucz publiczny; po wygenerowniu kluczy liczby p, q powinny być wymazane i nigdy nie ujawnione. Szyfrowanie Deszyfrowanie C = M e mod n. M = C d mod n.

Szyfr ElGamala Opublikowany w 1985 roku. Niechroniony patentem, brak ograniczeń eksportowych USA wykorzystuje koncepcję (i patent) Diffiego-Hellmana, lecz ów patent wygasł w 1997 r. Szyfrowanie wymaga losowo wybranej wartości, dlatego ten sam tekst jawny każdorazowo daje inny szyfrogram. Szyfrogram jest dwukrotnie dłuższy od tekstu jawnego. Generowanie kluczy: wybieramy losowo liczbę pierwszą p; wykorzystujemy grupę multiplikatywną Z p ; wybieramy element pierwotny (generator) g grupy Z p ; wybieramy losowo liczbę x {0, 1,..., p 1}; obliczamy y = g x mod p; kluczem publicznym jest trójka (g, p, y); g i p mogą być wspólnie wykorzystywane przez grupę użytkowników; kluczem prywatnym jest x.

Szyfr ElGamala, cd. Szyfrowanie: wybieramy losowo liczbę k względnie pierwszą z p 1; obliczamy a = g k mod p; obliczamy b = y k M mod p; szyfrogram to para (a, b). Deszyfrowanie: M = b/a x mod p. Uzasadnienie: b/a x y k M/a x (mod p); a x g kx (mod p); y g x (mod p); b/a x g xk M/g kx (mod p); b/a x M (mod p).

Inne szyfry asymetryczne Zastosowanie znajdują: problem plecakowy, liniowe kody korekcyjne, uogólnienia RSA, faktoryzacja złożenia dwóch automatów skończonych. Najbardziej obiecujące są krzywe eliptyczne.