Teraz kiedy widzieliśmy już kilka historycznych przykładów szyfrów, z których wszystkie
zostały złamane, zajmiemy się szyframi dużo lepiej zaprojektowanymi.
Zanim jednak to zrobimy, chciałbym najpierw zdefiniować dokładniej czym jest
szyfr. Po pierwsze szyfr tworzą
dwa algorytmy. Algorytm kodujący i dekodujący. Jednak
w rzeczywistości, szyfr jest zdefiniowany jako trójka: zbiór wszystkich kluczy,
który oznaczać będę jajko ukośne K, i czasami nazywać przestrzenią kluczy,
to jest zbiorem wszystkich możliwych kluczy. Jest również zbiór wszystkich możliwych wiadomości oraz zbiór
wszystkich możliwych kryptogrmów. Ok, więc ta trójka w jakimś sensie definiuje
środowisko w którym zdefiniowany jest szyfr. Szyfr sam w sobie jest
parą "efektywnych" algorytmów E i D. E jest kodującym, a D dekodującym algorytmem.
Oczywiście E przyjmuje klucze i wiadomości produkując kryptogramy.
Algorytm deszyfrujący przyjmuje klucze i kryptogramy produkując wiadomości.
Jedynym wymaganiem jest to aby algorytmy były spójne. To żeby
posiadały właściwość poprawności. Dla każdej wiadomości w przestrzeni wiadomości
i każdego klucza w przestrzeni kluczy prawdziwe jest że jeśli zaszyfruję
wiadomość kluczem K i odszyfruję używając tego samego klucza K otrzymam
oryginalną wiadomość, z którą zacząłem. To równianie tutaj jest nazywane
równaniem spójności i każdy szyfr musi je spełniać
w przeciwnym razie nie jest możliwe odszyfrowanie. Chciałbym zaznaczyć że
słowo efektywny ująłem w cudzysłów. Zrobiłem to dlatego że oznacza ono
różne rzeczy dla różnych ludzi. Jeśli jesteś bardziej teoretykiem
efektywność oznacza działanie w skończonym czasie. Więc algorytmy E i D muszą się wykonać w
skończonym czasie dla swojego wejścia. Jeśli jesteś bardziej praktykiem
efektywność oznacza wykonanie w określonym przedziale czasu. Dla przykładu
algorytm E może mieć wymaganie aby zakodować gigabajt danych poniżej minuty.
Teraz słowo efektywny mając granice łączy dwa podejścia i
nie ma znaczenia jak je interpretujesz. Ja będę kontynuował
używanie tego słowa w cudzysłowiu. Więc jeśli jesteś teoretykiem
myśl o skończonym czasie, w przeciwnym wypadku jako
o konkretnych granicach. Inny komentarz ......
SORRY BRAK CZASU, DALEJ JUŻ NIE MA TŁUMACZENIA