mały|Niemiecka maszyna szyfrująca Lorenza, używana podczas II wojny światowej do szyfrowania wiadomości sztabowych wysokiego szczebla

Kryptologia (z gr. kryptos, „ukryty”, i logos, „rozum”, „słowo”) – dziedzina wiedzy o przekazywaniu informacji w sposób zabezpieczony przed niepowołanym dostępem. Kryptologia jest uznawana za gałąź zarówno matematyki, jak i informatyki; ponadto jest związana z teorią informacji, inżynierią oraz bezpieczeństwem komputerowym.

Kryptologię dzieli się na: kryptografię (z gr. oraz gráfo „pisać”), czyli gałąź wiedzy o utajnianiu wiadomości kryptoanalizę (gr. kryptós oraz analýein – rozluźnić), czyli gałąź wiedzy o przełamywaniu zabezpieczeń oraz o deszyfrowaniu wiadomości przy braku klucza lub innego wymaganego elementu schematu szyfrowania (szyfru).

Kryptologia ma szerokie zastosowanie w społeczeństwach rozwiniętych technicznie; wykorzystuje się ją np. w rozwiązaniach zapewniających bezpieczeństwo kart bankomatowych, haseł komputerowych i handlu elektronicznego.

Jednak za najważniejsze zastosowania kryptologii uznaje się utajnianie informacji w wojskowości i dyplomacji. W tych zastosowaniach używa się najbardziej zaawansowanych funkcji i protokołów kryptograficznych. Zasadą ich implementacji są specjalnie opracowane, unikatowe urządzenia kryptograficzne, które wraz z funkcjami i protokołami poddawane są procedurze certyfikacji przez właściwe instytucje, odpowiedzialne za bezpieczeństwo teleinformatyczne danego państwa (w Polsce Agencję Bezpieczeństwa WewnętrznegoWitryna internetowa ABW. i Służbę Kontrwywiadu WojskowegoWitryna internetowa SKW..).

Terminologia Istotnym elementem technik kryptograficznych jest proces zamiany tekstu jawnego w szyfrogram (inaczej kryptogram); proces ten nazywany jest szyfrowaniem, a proces odwrotny, czyli zamiany tekstu zaszyfrowanego na powrót w możliwy do odczytania, deszyfrowaniem.

Przez szyfr rozumiana jest para algorytmów służących do przeprowadzenia obu procesów. Wraz z algorytmami dodatkowo używa się kluczy, czyli pewnych niezbędnych parametrów, od których zależy wynik obu procesów. Innymi słowy: znajomość algorytmu i szyfrogramu bez dostępu do klucza nie pozwoli na odtworzenie tekstu jawnego.

Kryptografia nie zajmuje się jednak wyłącznie szyfrowaniem i deszyfrowaniem tekstów. Po pierwsze, dane przekazywane są najczęściej w postaci binarnej, co umożliwia również obróbkę takich danych jak dźwięk czy obraz; po drugie, równie ważne jak zapewnianie poufności danych jest ich integralność (niezmienność danych w czasie procesu), uwierzytelnianie (pewność co do ich pochodzenia) oraz niezaprzeczalność (nadawca nie może wyprzeć się faktu, że był nadawcą wiadomości). Ponadto kryptografia zajmuje się takimi zagadnieniami, jak: podpis cyfrowy, głosowanie elektroniczne (e-voting), dowód z wiedzą zerową, współdzielenie tajemnic, obliczenia wielopodmiotowe i inne.

Ważnym terminem używanym w kryptografii jest „kryptosystem”, a więc system obejmujący zastosowane w danym wypadku szyfry, metody generowania kluczy, urządzenia wraz z oprogramowaniem oraz procedury ich użycia. Istotnym aspektem kryptosystemu jest jego bezpieczeństwo – odporność na ataki kryptologiczne.

W języku potocznym słowo „kodowanie” określa wszelkie metody szyfrowania lub ukrywania znaczenia. W kryptografii jednak określenie to ma nieco inne znaczenie. Podstawowa różnica polega na zastosowaniu odmiennych narzędzi podczas zamiany tekstu otwartego na utajniony przy pomocy obu tych sposobów działania; o ile w procesie szyfrowania istotnym jego elementem jest klucz, to kodowanie obywa się bez tego składnika systemu – odbywa się ono przy pomocy książki kodowej – rodzaju słownika wiążącego słowa i wyrażenia języka tekstu jawnego z odpowiadającymi im „słowami” kodu. Następuje zamiana jednostek tekstu jawnego (tzn. znaczących słów lub zdań) na słowa kodowe (np. Atak o świcie zostaje zastąpiony słowem Szarlotka).

Z kodów tego typu w obecnej kryptografii się nie korzysta, z wyjątkiem ich zastosowania jako kryptonimów operacji wojskowych (np. Operacja Overlord czy Akcja „Burza”), ze względu na fakt, że dobrze dobrany szyfr jest zarówno praktyczniejszy, jak i bardziej bezpieczny niż jakikolwiek kod. Ponadto szyfry są lepiej dopasowane do wykorzystania za pomocą sprzętu komputerowego.

Kryptologia i kryptografia W sensie ścisłym określenia „kryptografia” i „kryptologia”, jako opisujące pewne dziedziny nauki, mają znaczenie podane we wstępie; kryptografia jest pojęciem węższym. Jednak w praktycznym stosowaniu technik kryptologicznych zwykle używane jest słowo „kryptografia”. Dla przykładu: mówi się o protokołach, systemach, technikach czy zabezpieczeniach kryptograficznych (nie kryptologicznych). Można więc mówić o drugim znaczeniu słowa „kryptografia”, którym jest praktyczne wykorzystanie technik z dziedziny nauki – kryptologii.

Historia kryptografii i kryptoanalizy mały|199px|Starożytne greckie skytale, bardzo podobnie do tej rekonstrukcji mogły wyglądać najwcześniejsze urządzenia szyfrujące

Do czasów nowożytnych kryptografia była związana wyłącznie z tajnością przekazywanych informacji (tzn. z ich szyfrowaniem) – przekształcaniem wiadomości z formy zrozumiałej w niezrozumiałą i z powrotem – w celu wykluczenia jej odczytania przez osoby niemające klucza do odszyfrowania, a które mogłyby tę wiadomość przechwycić lub podsłuchać.

Najwcześniejsze formy utajniania pisemnych wiadomości – z uwagi na fakt, że większość ludzi i tak nie umiała czytać – wymagały niewiele więcej niż ówczesnego odpowiednika pióra i papieru. Zwiększenie się umiejętności czytania i pisania, szczególnie u przeciwnika, przyczyniło się do powstania rzeczywistej kryptografii.

Szyfry antyczne dzieli się na dwie główne grupy: szyfry przestawieniowe, za pomocą których zmieniano kolejność liter w wiadomości (przykład najprostszego przestawienia – „pomóż mi” staje się „opómż im”) oraz szyfry podstawieniowe, które polegały na zastępowaniu pojedynczych liter lub ich grup, odpowiednio: innymi literami lub ich grupami (np. „natychmiastowy wylot” staje się „obuzdinjvbtupxz xzmpu” w najprostszym podstawieniu za daną literę – następnej litery alfabetu łacińskiego). W prostych wersjach obydwa szyfry oferują niewielki stopień utajnienia przed przeciwnikiem.

Jednym z najwcześniejszych szyfrów podstawieniowych był szyfr Cezara, w którym każda litera tekstu jawnego zastępowana była literą oddaloną o pewną ustaloną liczbę pozycji w alfabecie. Szyfr ten został nazwany na cześć Juliusza Cezara, który używał go (z przesunięciem o 3) do komunikacji podczas kampanii wojskowych; jest on podobny do kodu Excess-3 w Algebrze Boole’a.

Szyfrowanie miało za zadanie zapewnić tajność w komunikacji na przykład pomiędzy szpiegami, dowódcami wojskowymi, dyplomatami; miało też zastosowanie wśród wyznawców religii – wcześni chrześcijanie wykorzystywali kryptografię do ukrycia niektórych aspektów ich pism religijnych w celu uniknięcia oskarżeń, które – gdyby nie zachowali ostrożności – z pewnością by się pojawiły. Sławna liczba 666 (lub w niektórych wczesnych pismach – 616), czyli liczba Bestii z Apokalipsy św. Jana, księgi chrześcijańskiego Nowego Testamentu, uważana jest czasem za zaszyfrowane odniesienie do rzymskiego cesarza Nerona, który prowadził politykę prześladowania chrześcijanEerdmans Commentary on the Bible, James D G Dunn, John W Rogerson, eds., Wm. B. Eerdmans Publishing, 2003, .. Istnieją również zapisy kilku innych, wcześniejszych szyfrów hebrajskich. Stosowanie kryptografii zalecała też Kamasutra kochankom chcącym się komunikować bez ryzyka wykryciaKama Sutra, Sir Richard F. Burton, tłumaczenie, Część I, Rozdział III, Sztuka 44 i 45..

Steganografia, wynaleziona również w starożytności, była rodzajem szyfrowania polegającym na ukryciu – w celu zachowania tajności – samego faktu istnienia przekazu. Wczesnego przykładu dostarcza Herodot, który opisał z własnego doświadczenia ukrycie wiadomości – tatuażu na ogolonej głowie niewolnika – pod nowo wyrosłymi włosami. Wśród bliższych współczesności przykładów steganografii są takie techniki jak atramenty sympatyczne, mikrokropki oraz cyfrowe znaki wodne.

Szyfrogram wygenerowany przy użyciu klasycznego szyfru (i niektórych rodzajów szyfrów nowoczesnych) zawsze niesie ze sobą pewne statystyczne informacje związane z wyjściowym tekstem jawnym, które mogą posłużyć do złamania szyfru. Po odkryciu metod kryptoanalizy statystycznej przez arabskiego uczonego Al-Kindiego w IX wieku n.e. stało się możliwe, z mniejszymi lub większymi trudnościami, złamanie prawie każdego z takich szyfrów przez kogoś, kto ma odpowiednią wiedzę właśnie w dziedzinie odkrytej przez Al-Kindiego.

Sytuacja bezbronności szyfrów wobec kryptoanalizy panowała do momentu opracowania przez Leona Battistę Albertiego szyfrów polialfabetycznych około roku 1467 (choć istnieją też przypuszczenia, że wcześniej odkryli je Arabowie). Jego pomysł polegał na użyciu różnych szyfrów (np. szyfrów podstawieniowych) dla różnych części wiadomości – często innego szyfru dla każdej z osobna litery tekstu jawnego. Od niego wyszła też konstrukcja urządzenia będącego prawdopodobnie pierwszą maszyną do szyfrowania; było to koło, które po części realizowało jego pomysł szyfrowania. W XIX-wiecznym polialfabetycznym szyfrze Vigenère’a do zaszyfrowania wiadomości używa się klucza, który określa w jaki sposób ma być szyfrowany kolejny znak. W połowie XIX wieku Charles Babbage pokazał, że szyfry polialfabetyczne tego typu są partiami podatne na kryptoanalizę statystyczną.

mały|Enigma – używana w kilku wersjach w niemieckiej armii od końca lat 20. XX w. do zakończenia II wojny światowej – miała wbudowany, dla ochrony poufnej korespondencji, skomplikowany elektromechaniczny system szyfrowania polialfabetycznego. Złamanie szyfru Enigmy w polskim Biurze Szyfrów i idące za tym deszyfrowanie na wielką skalę w Bletchley Park korespondencji prowadzonej za pomocą tych maszyn było ważnym czynnikiem w ostatecznym zwycięstwie aliantów w II wojnie światowej Chociaż kryptoanaliza statystyczna jest techniką potężną i uniwersalną, wielu rzekomych kryptoanalityków nie było świadomych jej istnienia – kodowanie było w praktyce często nadal skuteczne. Złamanie jakiejś wiadomości bez analizy statystycznej wymagało przede wszystkim znajomości samego sposobu użytego do zaszyfrowania, stąd – dla jego zdobycia – popierano w stosunku do strony przeciwnej takie metody jak szpiegostwo, przekupstwo, dokonywanie włamań, nakłanianie do zdrady itp.

Ostatecznie w XIX wieku uznano, że ochrona tajemnicy algorytmu szyfrowania nie jest rozsądna ani praktyczna; odpowiedni schemat krypograficzny (w tym szyfr) powinien pozostać bezpieczny nawet wtedy, gdy przeciwnik zna algorytm szyfrowania. Tajemnica klucza sama w sobie powinna wystarczyć do dobrego zaszyfrowania i przekazania – w razie ataku – poufnej informacji. Inaczej mówiąc: kryptosystem powinien być bezpieczny nawet w przypadku, gdy jego całość – z wyjątkiem klucza – jest publicznie znana. Ta fundamentalna zasada została po raz pierwszy wyrażona wprost w 1883 roku przez Augusta Kerckhoffsa i jest na ogół nazywana zasadą jego imienia. Bardziej otwarcie, choć w nieco innej formie, wyraził ją (prawdopodobnie niezależnie od Kerckhoffsa) Claude Shannon: „nasz wróg zna nasz system” (maksyma Shannona).

Dla ułatwienia szyfrowania wykorzystywano w ciągu wieków różnego rodzaju urządzenia i pomoce. Prawdopodobnie do najwcześniej używanych – w starożytnej Grecji – należały skytale (patrz zdjęcie), stosowane ponoć przez Spartan jako pomoc przy szyfrowaniu przestawieniowym. W średniowieczu wynaleziono inne pomoce, np. matrycę szyfrującą (ang. cipher grille) – używaną do kodowania będącego rodzajem steganografii.