Szyfr to procedura takiego przekształcania wiadomości, żeby była ona niemożliwa (lub bardzo trudna) do odczytania przez
każdego, kto nie posiada odpowiedniego klucza.
Wiadomość przed zaszyfrowaniem nazywa się tekstem jawnym
(plaintext)...
[click for more], a wiadomość zaszyfrowaną – szyfrogramem
(ciphertext). Jako ciekawostkę można podać, że Marian
Rejewski uzywa w swoich pracach okresleń kler na tekst jawny i krypt na tekst tajny.
Szyfrowanie jest zajęciem bardzo starym, aczkolwiek nowoczesna kryptografiaKryptografia (z gr. kryptós "ukryty", gráphein "pisać") to nauka zajmująca się układaniem szyfrów. Wyróżniane są dwa główne nurty kryptografii: Kryptografia symetryczna Kryptografia asymetryczna ...
[click for more] narodziła się dopiero w epoce komputerów i starsze szyfry są z dzisiejszego punktu widzenia
zupełnie bezużytecznie.
Szyfry współczesne
Współcześnie możemy podzielić metody szyfrowania na 3 grupy:
- szyfry asymetryczneKryptografia asymetryczna to rodzaj kryptografii, w którym używa się zestawów dwu lub więcej powiązanych ze sobą kluczy, umożliwiających wykonywanie różnych czynności kryptograficznych. Najważniejsze zastosowania kryptografii asymetrycznej – szyfrowanie i podpisy cyfrowe – zakładają istnienie 2 kluczy – prywatnego i publicznego, przy czym klucza prywatnego nie da się łatwo odtworzyć na podstawie publicznego, w niektórych innych zastosowaniach kluczy może być więcej....
[click for more]
- symetryczne szyfry blokoweSzyfr blokowy to szyfr symetryczny, który potrafi zaszyfrować blok danych o określonej długości. Szyfr to para funkcji pobierających 2 argumenty: funkcja szyfrująca pobierająca klucz i wiadomość, a zwracająca szyfrogram funkcja deszyfrująca pobierająca klucz i szyfrogram, a zwracająca wiadomość Typowe rozmiary bloku oraz kluczy (te dwa rozmiary nie muszą być identyczne) to 64, 128, 192 lub 256 bitów, przy czym klucze mniejsze od 128 bitów nie zapewniają współcześnie bezpieczeństwa....
[click for more]
- symetryczne szyfry strumienioweSzyfr strumieniowy (stream cipher) to szyfr symetryczny, który koduje generując potencjalnie nieskończony strumień szyfrujący (keystream), i XOR-ując go z wiadomością: Odszyfrowywanie zakodowanej wiadomości odbywa się w identyczny sposób – generujemy strumień szyfrujący, i XOR-ujemy go z szyfrogramem:...
[click for more]
W szyfrowaniu asymetrycznym występują 2 klucze – klucz
publiczny służący do szyfrowania, oraz klucz prywatny służący do
deszyfrowania. Ponieważ nie ma potrzeby rozpowszechniania klucza prywatnego, bardzo małe są szanse że wpadnie on w niepowołane
ręce. Szyfry asymetryczne opierają się na istnieniu pewnych trudnych do odwrócenia problemów. Np. o wiele łatwiej jest pomnożyć
przez siebie 2 duże liczby, niż rozłożyć dużą liczbę na czynniki (opiera się na tym system RSA...
[click for more]). Drugim popularnym systemem jest ElGamal, opierający się na trudności
logarytmu dyskretnego. Typowe rozmiary kluczy są rzędu
1024-2048 bitów dla np.RSA lub ok 512 bitów dla kryptografii na krzywych eliptycznychSzyfr na krzywych eliptycznych ( ang. Elliptic Curve Cryptography, ECC) - algorytm wykorzystujący krzywe eliptyczne w celu szyfrowania informacji ( istnieją także inne algorytmy np. algorytm rozkładu liczb złożonych na czynniki pierwsze wykorzystujące krzywe eliptyczne). Krzywe eliptyczne są obiektem matematycznym pozwalającym w łatwy sposób na generację dużej liczby nietrywialnych grup abelowych. Elementami takich grup sa punkty krzywej, zaś jako działanie służy pewna raczej złożona oper...
[click for more]. W przypadku RSA złamane zostały klucze rozmiarów do
ok. 500 bitów.
Szyfry blokowe to procedury, które szyfrują niewielkie bloki danych (znacznie mniejsze od typowej wiadomości),
współcześnie jest to najczęściej 128 bitów (AESAES (Advanced Encryption Standard) to symetryczny szyfr blokowy przyjęty przez NIST w wyniku konkursu ogłoszonego w roku 1997. Bezpośrednią przyczyna rozpisania konkursu była niewystarczająca siła algorytmu DES. EFF była w stanie złamać wiadomosć zakodowaną DESem w ciągu 3 dni sprzętem o wartości 250 tysięcy dolarów w 1997 (obecnie można złamać DES-a jeszcze szybciej i taniej)....
[click for more]), choć do niedawna przeważały 64-bitowe bloki
(DESDES (ang. Data Encryption Standard - Standard Szyfrowania Danych) - szeroko używany algorytm kryptograficzny. Stworzony przez IBM na podstawie szyfru Lucifer, został zmodyfikowany przez amerykańską NSA. Zaakceptowany jako amerykański standard w roku 1977....
[click for more], 3DES, Blowfish (kryptografia)Blowfish to szyfr blokowy stworzony przez Bruce'a Schneier'a w 1993 roku jako szybka i bezpłatna alternatywa dla istniejących ówcześnie algorytmów. Algorytm operuje na 64-bitowych blokach i używa kluczy od 32 do 448 bitów. Algorytm ma postać szyfru Feistela z 16 rundami z SBOXami zależnymi od klucza. Każda zmiana klucza wymaga dość sporej ilości wstępnych obliczeń, żeby ustalić SBOXy. Z tego powodu atak brute-force trwa znacznie dłużej niż możnaby się spodziewać....
[click for more], IDEA). Klucze sÄ… znacznie mniejsze, majÄ… zwykle od
128 do 256 bitów, przy czym wartości mniejsze od 80 (DES – 56) są uważane za
niewystarczające. Typowy szyfr blokowy składa się z kilkunastu dość prostych rund przekształcających blok. Operacje
używane w tych szyfrach są zwykle proste, ale pochodzą z "różnych światów", np. używa się dodawania, XOR, przesunięć cyklicznych,
różnego typu S-BOXówSubstitution Box - podstawowy element wielu współczasnych szyfrów (np. DES). Istota jego działania polega na podstawieniu ciągu bitów innym, w zależności od bitów: poprzedzającego i następujacego. Wartości umieszczone w S-BOX'ie maja krytyczny wpływ na bezpieczeństwo algorytmu. Z tego powodu udział NSA w tworzeniu algorytmu DES, wywołał niepokój. Obawiano się, że w algorytmie został umieszczony backdoor, którego celem było istotne obniżenie bezpieczeństwa szyfru, w przypadku ataków...
[click for more], mnożenia modulo liczb pierwszych itd. Już kilka rund takich
operacji zupełnie zaburza jakikolwiek porządek i jest bardzo trudne do analizowania.
Ponieważ szyfr blokowy szyfruje jedynie niewielką ilość informacji, używane są różne tryby szyfrowania, które
umożliwiają szyfrowanie większych wiadomości.
Szyfry strumieniowe szyfrują każdy znak tekstu jawnego osobno, generując znak strumienia szyfrującego i
przekształcając go na przykład z użyciem funkcji XOR go ze znakiem danych, w związku z czym
nie jest konieczne oczekiwanie na cały blok danych, jak w przypadku szyfrów blokowych. Najpopularniejszym współczesnym szyfrem
strumieniowym jest RC4, którego stosowanie jest
ograniczone ze względu na warunki licencyjne. Inne populrarne szyfry strumieniowe to A5/1 i A5/2 stosowane w telefonii komórkowej. Do szyfrów strumieniowych należą też historyczne szyfry
polialfabetyczne i monoalfabetyczne.
Niektóre z trybów szyfrów blokowych – CFBCFB - Cipher Feedback Tryb użycia szyfru blokowego pozwalający na użycie go do kodowania strumieni danych. Szyfr blokowy jest używany do wygenerowania pseudolosowego ciągu danych, który następnie pełni role strumienia szyfrującego mieszanego z danymi za pomoca funkcji XOR. Opis algorytmu: Wybieramy losowy, jawny blok danych, zwany wektorem inicjującym. Jego długość jest zależna od wybranego szyfru i jest równa długości bloku na którym operuje szyfr. Szyfrujemy go za pomoca tajnego klucza. ...
[click for more], OFBOFB - Output Feedback Tryb użycia szyfru blokowego pozwalający na użycie go do kodowania strumieni danych. Szyfr blokowy jest używany do wygenerowania pseudolosowego ciągu danych, który następnie pełni role strumienia szyfrującego mieszanego z danymi za pomoca funkcji XOR. Opis algorytmu: Wybieramy losowy, jawny blok danych, zwany wektorem inicjującym. Jego długość jest zależna od wybranego szyfru i jest równa długości bloku na którym operuje szyfr. Szyfrujemy go za pomoca tajnego klucza. ...
[click for more],
CTRCTR - Counter Tryb użycia szyfru blokowego pozwalajÄ…cy na użycie go do kodowania strumieni danych. Szyfr blokowy jest używany do wygenerowania pseudolosowego ciÄ…gu danych, który nastÄ™pnie peÅ‚ni role strumienia szyfrujÄ…cego mieszanego z danymi za pomoca funkcji XOR. Opis algorytmu: Wybieramy jawnÄ… funkcje , która na podstawie pozycji bloku danych wzglÄ™dem poczÄ…tku strumienia generuje ciÄ…g danych o dÅ‚ugoÅ›ci równej dÅ‚ugoÅ›ci bloku szyfru blokowego, wymagane jest by funkcja ta zwracaÅ‚a wartoÅ...
[click for more] – działają jako szyfry strumieniowe, generując strumień szyfrujący i XORując dane.
Osobnym szyfrem w swojej klasie jest one time pad.
Proste szyfry
Szyfry historyczne musiały umożliwiać szyfrowanie i deszyfrowanie przez człowieka, a więc opierać się na bardzo prostych
operacjach. Współczesne komputery są o kilkanaście rzędów wielkości szybsze w obliczeniach od ludzi, i potrafią złamać
praktycznie każdy tego typu szyfr. Istnieją jednak przykłady szyfrów które są możliwe do stosowania przez człowieka bez użycia
komputerów i zapewniają pewien sensowny poziom bezpieczeństwa. Warto zwrócić uwage na fakt, że zwykle siatka szpiegowska w obcym
kraju może mieć utrudniony dostęp do sprzętu komputerowego, nadal jednak musi móc przesyłać bezpiecznie zaszyfrowane wiadomości.
Przykład szyfru o omawianych własnościach stanowi np. one time pad, szyfry podstawieniowe dla krótkich wiadomości a nawet szyfr
Solitare opisany w książce "Cryptonomicon" Neala StephensonaNeal Stephenson (1959 - ) - amerykański pisarz science-fiction. Stephenson urodził się w 1959 roku w Fort Meade w stanie Maryland. Studiował na Uniwersytecie Bostońskim, najpierw fizykę, a następnie geografię. Po ukończeniu studiów pracował naukowo, ale również imał się tak różnych zajęć jak naprawa samochodów czy uprawa ziemi....
[click for more].
Wszystkie wymienione niżej szyfry nie mają obecnie żadnego praktycznego znaczenia.
- Enigma
- szyfr podstawieniowySzyfry podstawieniowe to szyfry, których działanie opiera się na podstawianiu pod znaki alfabetu jawnego znaków alfabetu szyfrowego. Szyfr Cezara Szyfr Vigenere'a ROT13 Ze względu na łatwość łamania tego rodzaju szyfrów, nie są one już stosowane. Współczesne szyfry omawia artykuł szyfr....
[click for more]
- szyfr przestawieniowySzyfry przestawieniowe (transposition cipher) należą do grupy klasycznych metod szyfrowania. Szyfry te charakteryzują się tym, że w zaszyfrowanym tekście występują wszystkie znaki z tekstu jawnego, ale w innej kolejności. Szyfry należące do tej grupy (np. szyfr płotkowy) zmieniają kolejność liter w szyfrowanym tekście według określonego schematu. Najczęściej przestawienia liter dokonuje się za pomocą figury geometrycznej. ...
[click for more]
- szachownica PolibiuszaSzachownica Polibiusza to rodzaj szyfru monoalfabetycznego. Wymyślony w starożytności przez Polibiusza, historyka greckiego. Przypisuje każdej literze liczbę, według następującej tabeli: 1 2 3 4 5 1 A B C D E 2 F G H I/J K 3 L M N O P 4 Q R S T U 5 V W X Y Z Cyfry oznaczają położenie danej litery w tabeli z tym, że zawsze pierwsza cyfra jest numerem kolumny. Tak na przykład tekst:...
[click for more]