to get the file
Transkrypt
to get the file
Przykłady do ćwiczeń z kodowania i kompresji Spis Treści Kompresja RLE! 1 Inne przykłady" 1 Szyfr Cezara! 2 Przykłady" 2 Szyfr Vigenèreʼa! 2 Szyfrowanie" 2 Odszyfrowanie" 3 Kompresja RLE AAABBBBCDEFFGHHHHH 3A4B-3CDE2F-1G5H Kompresja polega na podaniu, ile razy wystąpi dany znak, a następnie podaniu tego znaku: AAA zamieniamy na 3A BBBB zamieniamy na 4B Jeśli w danych wejściowych występuje grupa znaków występująca pojedynczo, to w wyniku kompresji podajemy znak „-” (minus), następnie ilość znaków występujących pojedynczo i wypisujemy te znaki: G zamieniamy na -1G CDE zamieniamy na -3CDE Inne przykłady AABBBBCDDDEFGHHHHHH 2A4B-1C3D-3EFG6H Algorytmy i Struktury Danych& mgr inż. Leszek Ciopiński& 1 Szyfr Cezara Szyfr ten jest przykładem szyfru przesuwającego. W oryginale używano przesunięcie o 3 (i takie będzie na kolokwium), ale dopuszczalne są również inne rodzaje przesunięć. W celu zakodowania tekstu zastępujemy każdą literę tekstu jawnego trzecią w kolejności literą występującą w alfabecie po danym znaku: A B C D E F G H D E F G H I I J K L M N O P Q R S T U V W X Y Z J K L M N O P Q R S T U V W X Y Z A B C Przykłady Tekst jawny: && Szyfrogram:& & Ala ma Asa Dod pd Dvd Tekst jawny: && Szyfrogram:& & Wynik Zbqln Szyfr Vigenèreʼa Jest szyfrem polialfabetycznym, to znaczy z różną ilością przesunięć dla kolejnych znaków. Dlatego dla tej metody potrzebne jest oprócz tekstu do zakodowania również hasło, określające przesunięcie dla danego słowa. Szyfrowanie W celu zaszyfrowania wiadomości wypisujemy tekst jawny i hasło jedno pod drugim. Jeśli hasło jest za krótkie, wówczas je powtarzamy: Tekst jawny: && Hasło:&& & Zadanie TekstTe Następnie wykorzystujemy tablicę z poprzesuwanym alfabetem, dostępną pod adresem: http://achilles.tu.kielce.pl/Members/lciopinski/folder.2010-02-21.0388844500/algorytmy-istruktury-danych/tablica_kodowania.pdf/download Szyfrogram uzyskujemy z odczytania liter, które znajdują się na przecięciu kolumny i wiersza, które zaczynają się od litery hasła i tekstu jawnego: Tekst jawny Z a d a n i e Hasło T e k s t T e Szyfrogram S e n s g b i Algorytmy i Struktury Danych& mgr inż. Leszek Ciopiński& 2 Odszyfrowanie Ponieważ szyfr Vigenèreʼa jest metodą symetryczną, operacji odczytywania dokonujemy poprzez odwrotne wykonanie algorytmu. Pierwszym etapem jest wypisanie hasła i przyporządkowanie do jego liter znaków szyfrogramu Hasło:&& & Szyfrogram:& & KodujKoduj Yrnimykdhx Następnie w wierszu zaczynającym się od litery hasła odszukujemy literę z szyfrogramu i odczytujemy znak, który znajduje się na górze kolumny zawierającej odnalezioną literę. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z A B C D E F G H J K L M N O P Q R S T U V W X Y Algorytmy i Struktury Danych& I mgr inż. Leszek Ciopiński& 3 W yniku powyższych działań odczytujemy rozkodowany tekst: Hasło K o d u j K o d u j Szyfrogram Y r n i m y k d h x Tekst jawny O d k o d o w a n o Algorytmy i Struktury Danych& mgr inż. Leszek Ciopiński& 4