Układy cyfrowe - Algorytm Twofish

Wielkość: px
Rozpocząć pokaz od strony:

Download "Układy cyfrowe - Algorytm Twofish"

Transkrypt

1 Jakub Lutyński 4T2 Paweł Podkalicki 4T2 Andrzej Zaleski 4T2 Michał Wilkowski Warszawa, r Układy cyfrowe - Algorytm Twofish 1. Opis projektu Celem naszego projektu będzie zrealizowanie układu cyfrowego zdolnego do szyfrowania danych algorytmem Twofish. Algorytm ten zostanie zrealizowany na układzie programowalnym Cyclone EP2C35F672C8. Układ będzie się komunikować z komputerem poprzez moduł USB FTDI. Do opisu projektowanego układu uŝyjemy języka VHDL, a narzędziem CAD za pomocą, którego zamierzamy zrealizować projekt jest program Quartus firmy Altera. 2. Opis algorytmu Twofish: Algorytm Twofish jest jednym z pięciu algorytmów zakwalifikowanych do finału konkursu AES Advanced Encryption Standard. Pomimo, Ŝe nie został laureatem wyselekcjonowanym do standaryzacji, jest uznawany za algorytm bezpieczny i szybki. Zbudowany na zasadzie prawie czystej sieci Feistela, jest powiązany z wcześniej powstałym szyfrem blokowym Blowfish. Twofish jest standardem otwartym, nie objętym Ŝadnymi patentami i do tej pory ( luty 2007) nie został złamany poza metodą ataku brute force. W kryptografii Twofish jest symetrycznym, blokowym kluczem szyfrującym. Operuje na blokach danych o wielkości 128 bitów i wykorzystuje klucze wielkości od 128 do 256 bitów. Najczęściej są stosowane klucze o długości 128, 192 oraz 256 bitów. Cechą charakterystyczną Twofish'a jest zastosowanie kluczujących S-boxów. Blok danych wejściowych o długości 128 bitów dzielony jest na cztery części, z których kaŝda złoŝona z 32 bitów jest poddawana operacji whiteninigu { tzn. wykonaniu XOR-owania pomiędzy czterema blokami danych (po 32 bity kaŝdy) z czterema kluczami ( takŝe o długości 32 bity kaŝdy). Powoduje to zwiększenie siły algorytmu i utrudnienie złamania go}. Następnie dwie pierwsze części (R 0 i R 1 ) trafiają do funkcji F. Kolejne części (R 2 i R 3 ) są pozostawiane bez zmian. Funkcja F bierze dwie pierwsze części oraz dwa klucze(metoda tworzenia kluczy będzie opisana w osobnej sekcji) i na ich podstawie generuje dwa wektory składające się w sumie z 64 bitów. Wektory te są dalej łączone z wektorami R 2 i R 3, XOR-owane z dwoma innymi kluczami oraz przesuwane bitowo w prawą lub lewą stronę. Kolejnym etapem jest zamiana miejscami pary wektorów R0 i R1 z parą R2 i R3 oraz ponowne przejście przez funkcję F. Takie jedno wykonanie się funkcji F wraz z późniejszymi

2 operacjami na jej wynikach oraz zamianie miejscami par wektorów jest określane mianem rundy algorytmu. Na cały algorytm Twofish składa się 16 takich rund. W kaŝdej z nich do funkcji F trafiają inne klucze funkcja F jest najwaŝniejszym elementem sercem algorytmu. Po wykonaniu ostatniej, 16 rundy bloki R są ponownie XOR-owane z kluczami i podawane na wyjście jako zaszyfrowane bloki danych. Sieć Feistela Sieć Feistela pozwala na szyfrowanie i deszyfrowanie informacji tym samym algorytmem, mimo iŝ funkcja f nie jest odwracalna. Sieć Feistela generuje z tekstu jawnego szyfrogram, a z szyfrogramu tekst jawny. W ten sposób konstruowanie algorytmów szyfrujących znacznie się uprościło, poniewaŝ nie trzeba się troszczyć o odwracalność funkcji f. Pomysł jest bardzo prosty. Tekst jawny dzieli się na dwa równe bloki Li Ri. Funkcja f jest właściwym algorytmem szyfrującym. Jako wynik otrzymuje się szyfrogram. i - jest numerem kolejnej rundy. To oznacza, iŝ wynik szyfrowania jest ponownie i-krotnie szyfrowany, co polepsza jakość szyfrowania. Struktura ta jest wykorzystywana w teorii szyfrów blokowych od dawna i została gruntownie przebadana pod kątem bezpieczeństwa. S-box: S-box (z ang. Substitution Box) jest podstawową częścią algorytmu wielu współczesnych szyfrów, rodzaj czarnej skrzynki z wejściem, wyjściem i niewiadomą zawartością. Istota jego działania polega na podstawieniu określonego bitu (lub ciągu bitów) innym, w zaleŝności od bitów : poprzedzającego i następującego. Wartości umieszczone w S-boksie mają krytyczny wpływ na bezpieczeństwo szyfru. Funkcja F: Funkcja F jest sercem algorytmu Twofish. Jej działanie oparte jest w duŝej mierze na innej funkcji,

3 zwanej funkcją G. Dwa bloki danych podawane są do dwóch działających równolegle funkcji G. Wyjścia tych funkcji (po 32 bity) są następnie przekazywane do bloku PHT, gdzie następuje ich przemieszanie są sumowane modulo 2 ze sobą, a dokładniej a ' = (a + b) mod 2 32 b ' = (a + 2b) mod 2 32 gdzie a jest wyjściem z pierwszej funkcji G, natomiast b jest wyjściem z drugiej funkcji G. Funkcja G ( i funkcja H) : Funkcja G to funkcja H, której wejściem jest blok danych i blok S generowany z klucza uŝytkownika( o bloku S napisaliśmy przy okazji opisu sposobu generacji podkluczy). Do funkcji H jest kierowany blok danych wejściowych X o długości 32 bitów. Blok ten jest dzielony na 4 równe części. KaŜda z nich trafia na permutację p 0 lub p 1. W wyniku działania tej permutacji blok danych zamieniany jest w ściśle ustalony sposób na inny blok. Następnie wynik działania 4 takich permutacji (po 1 dla kaŝdej części słowa X) poddawany jest operacji XOR z drugim argumentem funkcji H ( dla funkcji G jest to słowo S). Potem wynik tego XOR'a jest ponownie dzielony na 4 części i kaŝda z nich trafia na kolejne permutacje. Sytuacji taka powtarza się kilkukrotnie, w zaleŝności od długości klucza uŝytkownika: 128 bitów - 3 krotnie 192 bity - 4 krotnie 256 bitów - 5 krotnie Gdy zakończy się działanie wszystkich tych permutacji wynik trafia do macierzy MDS, która zwraca w wyniku inny ciąg bitów. Jest on wynikiem działania funkcji H ( i/lub G ). Generacja podkluczy: Twofish działa na podstawie klucza podawanego przez uŝytkownika. Klucz ten dzielony jest na bajty, ilość tych bajtów zaleŝy ściśle od długości klucza i wynosi 16, 24 lub 32 bajty dla kluczy odpowiednio 128, 192 lub 256 bitowych. Na podstawie tych bajtów tworzone są słowa M i, będzie ich 2k, gdzie k = N/64 (N - długość klucza w bitach). Z tych słów tworzone są dwa wektory M e oraz M o, przy czym pierwszy z nich zawiera ułoŝone kolejno słowa M i dla i parzystych, zaś drugi dla i nieparzystych. Ponadto z klucza uŝytkownika generowany jest takŝe wektor S, który jest potem potrzebny, aby wykonać funkcję G (ściślej mówiąc, funkcja G definiowana jest jako funkcja H, której drugim argumentem jest właśnie wektor S). Wektor ten powstaje z przemnoŝenia 8- bajtowych grup klucza przez macierz RS. Macierze RS i MDS: Macierze MDS oraz RS słuŝą do przemieszania bitów wejściowych w sposób znakomicie utrudniający późniejsze złamanie algorytmu. Macierz MDS słuŝy do pomnoŝenia przez nią 4 bajtów słowa wejściowego. Elementami macierzy

4 MDS są wyłącznie liczby (5B) 16, (EF) 16 lub (01) 16. MnoŜenie poszczególnych bajtów przez tą macierz, a takŝe wszystkie operacje dodawania wykonywane podczas tego mnoŝenia są wykonywane w ciele Galois nad przestrzenią 2 8. Wielomianem pierwotnym tej przestrzeni dla macierzy MDS jest wielomian: v(x) = x 8 + x 6 + x 5 + x O ile podczas dodawania zapewnienie prawidłowego wyniku (czyli wyniku, który będzie znajdował się w ciele Galois) jest proste, poniewaŝ jest to tylko XOR'owanie odpowiednich bitów, o tyle mnoŝenie w ciele GF(256) jest nieco bardziej skomplikowane. Sprawę uprasza fakt, Ŝe mnoŝenie odbywa się tylko przez trzy róŝne liczby. Jednak podczas mnoŝenia trzeba juŝ upewnić się, czy wynik znajduje się jeszcze w ciele Galois, czyli trzeba go podzielić przez wskazany wyŝej wielomian pierwotny. Macierz RS działa na zasadzie identycznej jak macierz MDS, z tą róŝnicą, Ŝe na wejściu znajduje się 8 bajtów a nie 4 jak było w przypadku MDS. W tym przypadku mnoŝenie takŝe odbywa się w Ciele GF(256), jednak inny jest wielomian charakterystyczny niŝ w przypadku macierzy MDS. Wielomian ten to: v(x) = x 8 + x 6 + x 3 + x Zalety algorytmu Twofish: Do głównych zalet algorytmu Twofish naleŝy zaliczyć bezpieczeństwo algorytm do dziś nie został złamany, oraz fakt, Ŝe nie został laureatem AES mniej wykorzystywany, a co za tym idzie mniej naraŝony na próby złamania

5 Budowa schematu blokowego Ogólny schemat układu Data_in - wejście danych Wejścia sterujące: key - stan wysoki oznacza, Ŝe układ pracuje w trybie generowania kluczy encr/decr - szyfrowanie/deszyfrowanie - stan wysoki oznacza szyfrowanie reset - stan wysoki przerywa przetwarzanie danych clock - zegar Data_out - wyjście danych busy - sygnał generowany przez układ. Stan wysoki oznacza, Ŝe układ przetwarza dane. Budowa układu blok K - XORowanie z odpowiednim kluczem; w kaŝdym bloku z innym blok p-x-p - blok, w którym będzie realizowana kombinacja przesunięcia bitowego i XORowania z wyjściem bloku funkcji F w zaleŝności od gałęzi i trybu pracy

6

7 Budowa bloku funkcji F PHT - realizacja pseudo - transformaty Hadamarda dwóch sygnałów blok K - XORowanie z odpowiednim kluczem; w zaleŝności od numeru rundy Budowa bloku funkcji g Ten blok realizuje S-boxy. q0, q1 - permutacje wektorów blok S - XORowanie z odpowiednimi (róŝnymi kluczami) blok MDS - mnoŝenie przez macierz MDS

8 CZĘŚĆ II - dokumentacja po implementacji układu w VHDL. 1. Zmiany i uzupełnienia projektowe Jednostka zostanie zrealizowana w postaci automatu synchronicznego, mogącego w jednym stanie jednocześnie wykonywać tylko jedną z operacji kombinacyjnych. Takie podejście pozwala nam na uŝycie tych samych bloków funkcjonalnych (np. permutacji, rotacji, xorowania, whitenningu ) w operacjach wykonywanych w poszczególnych stanach i co za tym idzie oszczędne wykorzystanie zasobów programowalnego układu cyfrowego. Przyjęty przez nas model współpracy automatów jest sekwencyjny. (Dokumentacja dotyczy układu szyfrującego z kluczem 128 bitowym.) Zmiana w interfejsie: dodany został sygnał wejściowy ukl sygnał zezwolenia, odpowiednik enable Wejścia i wyjścia układu Nazwa Typ Rozmiar Krótki opis clk IN 1 bit Zegar sterujący układem rst IN 1 bit Reset asynchroniczny key IN 1 bit Sygnalizuje wejście klucza lub tekstu jawnego ukl IN 1 bit Sygnał zezwolenia encr IN 1 bit Gdy = 1 szyfrowanie, gdy = 0 - deszyfrowanie data_in IN 128bit Wejściowy blok danych busy OUT 1 bit Sygnalizacja zajętości data_out OUT 128 bit Wyjściowy zaszyfrowany/zdeszyfrowany blok danych Wejścia (sterujące układem): clk układ jest sterowany automatem synchronicznym, którego zegar clk moŝe być taktowany z maksymalną częstotliwością MHz. rst wejście resetu asynchronicznego. Stan wysoki tego wejścia występuje podczas narastającego zbocza zegara.

9 key wejście sygnalizujące czy blok danych wejściowych (data_in) ma być odbierany przez układ jako klucz ( key = 1 ) czy jako tekst jawny ( key = 0 ) ukl wejście zezwalające na szyfrowanie/deszyfrowanie układem. Gdy ukl = 0 to układ nie wykonuje szyfrowania/deszyfrowanie, w przeciwnym przypadku(ukl = 1 ) operacje te mogą być wykonywane. encr określa tryb pracy układu. Gdy encr = 1 to następuje szyfrowanie, w przeciwnym przypadku deszyfrowanie. Wejście: Wyjście: data_in 128 bitowy blok danych wejściowych, który jest odpowiednio szyfrowany lub deszyfrowany przez układ. busy sygnalizuje, Ŝe automat wykonuje pracę. Gdy jest zmiana na zbocze opadające dane są wyprowadzane na wyjście. data_out 128 bitowy blok danych wyjściowych, po szyfrowaniu/deszyfrowaniu. 2. Automat stanów Opis stanów automatu: Idle stan bezczynny Kgenrob generacja kluczy roboczych ( robocze klucze to Me, Mo, S ) Kgen_01, kgen_23 - generacja 4 podkluczy uŝywanych przy whitenningu na wejściu (2 osobne stany) Kgen_45, kgen_67 - generacja 4 podkluczy uŝywanych przy whitenningu na wyjściu (2 osobne stany) In_whit whitenning wejściowy round_01, round_02,..., round_15, round_16 stany szyfrowania /deszyfrowania w zaleŝności od sygnału encr zrealizowane w 16 rundach out_whit whitenning wyjściowy W sumie automat do obsługi algorytmu Twofish jest zrealizowany na 24 stanach.

10 3. Synteza układu Syntezę projektu przeprowadziliśmy na układzie Cyclone II EP2C35F672C6 dla kilku wbudowanych w Quartus metod kodowania automatu stanów: Auto One - Hot Minimal bits Grey Dla kaŝdej z powyŝszych metod kodowania stanów układ został zsyntezowany trybami optymalizacji: Balanced Speed Area Projekt dla po syntezie poszczególnymi metodami kodowania automatu stanów i dla poszczególnych trybów optymalizacji ma następujące parametry po kompilacji : (w nawiasach podano procent zajętości układu) AUTO: Tryb Syntezy Total Logic Elements Total Combinational Functions Dedicated Logic Registers ŚcieŜka Krytyczna [ns] CLK [MHz] Speed 3573 (11%) 3147(9%) 856(3%) 24,94 40,09 Balanced 3700 (11%) 3352(10%) 856(3%) 26,48 39,76 Area 3678(11%) 3348(10%) 856(3%) 24,41 40,96 ONE HOT: Tryb Syntezy Total Logic Elements Total Combinational Functions Dedicated Logic Registers ŚcieŜka Krytyczna [ns] CLK [MHz] Speed 3573(11%) 3147(9%) 856(3%) 24,94 40,09 Balanced 3700(11 %) 3352(10%) 856 (3%) 26,48 39,76 Area 3678(11%) 3348(10%) 856(3%) 24,41 40,96 MINIMAL-BITS: Tryb Syntezy Total Logic Elements Total Combinational Functions Dedicated Logic Registers ŚcieŜka Krytyczna [ns] CLK [MHz] Speed 3598(11%) 3167(10%) 837(3%) 25,58 39,09 Balanced 3681(11%) 3367(10%) 837(3%) 25,41 39,34 Area 3689(11%) 3364(10%) 837(3%) 25,

11 GREY: Wnioski: Tryb Syntezy Total Logic Elements Total Combinational Functions Dedicated Logic Registers ŚcieŜka Krytyczna [ns] CLK [MHz] Speed 3600(11%) 3183(10%) ,46 39,27 Balanced 3727(11%) 3401(10%) ,41 39,36 Area 3738(11%) 3406(10%) ,20 38,17 Parametry kompilacji dla metod kodowania stanów AUTO i HOT-ONE są identyczne. Jest to najprawdopodobniej efekt domyślnego doboru metody kodowania (AUTO) przez Quartusa jako metody HOT-ONE Z pośród wszystkich dostępnych metod kodowania automatu najlepsza okazała się metoda HOT-ONE, przy optymalizacji syntezy w trybie speed, dla którego układ zajmował najmniej elementów logicznych oraz miał względnie dobre parametry czasowe. System Quartus, zatem wybiera w trybie AUTO najbardziej optymalną metodę kodowania automatu stanów. 4. Symulacja funkcjonalna: a) Szyfrowanie obraz przejścia układu przez poszczególne stany automatu:

12 PowyŜsze symulacje potwierdzają poprawność działania układu szyfrującego dla wektora testowego: I = 1 KEY = PT = CT = 9F589F5CF6122C32B6BFEC2F2AE8C35A KEY - klucz uŝytkownika PT - tekst jawny (plain text) CT - tekst zaszyfrowany (cipher text) oraz automatu, który przechodzi poprzez kolejne stany zgodnie z załoŝonym modelem teoretycznym. * Zaprezentowane powyŝej wykresy odnoszą się do symulacji funkcjonalnej przeprowadzonej dla poprzedniej wersji układu, która zwierała pomocnicze wyjście swyj do przechowywania wyników po whitenningach i po poszczególnych rundach, co było pomocne przy debugowaniu układu.

13 b) Deszyfrowanie (...) ( stany od rundy 2 do rundy 15 zostały pominięte na wykresach)

14 PowyŜsze symulacje potwierdzają poprawność działania układu w trybie deszyfrowania dla wektora testowego: I = 6 KEY = DE E661C6C9D668EB PT = 816D5BD0FAE35342BF2A7412C246F752 CT = 5449ECA008FF F598AF4CED4D0 c) szyfrowanie dowolnego wektora testowego: (wykresy nie pokazują pełnego przebiegu symulacji, poniewaŝ mają na celu zaprezentowanie jedynie poprawności działania układu)

15 (...) PowyŜsza symulacja obrazuje działanie układu dla wektora testowego i takŝe potwierdza poprawne działanie układu w trybie szyfrowania: I = 3 KEY = 9F589F5CF6122C32B6BFEC2F2AE8C35A PT = D491DB16E7B1C39E86CB086B789F5419 CT = 019F9809DE FAAC3A3BA20FBC3 5. Testbench: Do testowania zaprojektowanego układu cyfrowego został napisany w VHDL u testbench generator testów z modułem kolekcjonującym zaszyfrowane odpowiedzi układu na wektory klucza i tekstu jawnego. Odpowiedzi te są porównywane z wektorem wzorcowym. Testbench wykonuje symulację, którą moŝna porównać do badania fizycznego układu, którego wejścia podłączamy do stymulatora (generatora testów) i obserwujemy wyjścia. Symulacja kodu VHDL, testbench jest

16 równoznaczna z wirtualnym eksperymentem, w którym fizyczny układ zastąpiono opisem VHDL. Symulację testbencha wykonaliśmy w środowisku Model Sim. Wektory klucza i tekstu jawnego pobierane w symulacji testbencha są zapisane w pliku test_vectors.txt. Format tego pliku to 3 ciągi znaków podawane bez przerw: Klucz - wartość klucza w notacji HEX Szyfrowanie/deszyfrowanie wartość w postaci bitowej podawana na wejście encr w automacie Tekstjawny/szyfrogram wartość w notacji HEX Testbench generuje wyniki dla poszczególnych symulacji i zapisuje je do pliku results.txt. Ponadto podczas wykonywania symulacji testbench porównuje wyniki szyfrowania/deszyfrowania z wektorami wzorcowymi, które wczytuje z pliku good_results.txt. Wyniki tych porównań są zapisywane do pliku checked.txt. Niestety wadą naszego testbencha jest moŝliwość przeprowadzenia symulacji testowej tylko dla jednej pary klucz/tekst. Niemniej jednak podmiana wektorów w plikach wejściowych daje dobre rezultaty. Materiały uŝyte w trakcie pisania projektu: 1. Twofish: A 128-Bit Block Cipher autorzy Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall. Zawiera dokładną specyfikację algorytmu, jego kryptoanalizę, analizę wydajnościową oraz wektory testowe pozwalające sprawdzić dowolną implementację pod względem poprawności. 2. Twofish: A block Encryption Algorithm autorzy Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, Niels Ferguson Prezentacja przygotowana przez twórców algorytmu Twofish. 3. Synteza Układów Cyfrowych - autorzy: prof. Tadeusz Łuba, dr Mariusz Rawski, dr Paweł Tomaszewicz, dr Bogdan Zbierzchowski Materiały traktujące o projektowaniu układów cyfrowych, w tym przykładowa implementacja algorytmu DES oraz kilka informacji o języku VHDL 4. Implementation of the Twofish Cipher Using FPGA Devices - Pawel Chodowiec, Kris Gaj, Lipiec 1999; 5. Hardware Implementation of Twofish Block Cipher - Ranjeeta M. Patil, ECE 646 Project Report, George Mason University

Implementacja algorytmu szyfrującego

Implementacja algorytmu szyfrującego Warszawa 25.01.2008 Piotr Bratkowski 4T2 Przemysław Tytro 4T2 Dokumentacja projektu Układy Cyfrowe Implementacja algorytmu szyfrującego serpent w układzie FPGA 1. Cele projektu Celem projektu jest implementacja

Bardziej szczegółowo

Implementacja algorytmu DES

Implementacja algorytmu DES mplementacja algorytmu DES Mariusz Rawski rawski@tele.pw.edu.pl www.zpt.tele.pw.edu.pl/~rawski/ Z Mariusz Rawski 1 Algorytm DES DES (Data Encryption Standard) - jest szyfrem blokowym, o algorytmie ogólnie

Bardziej szczegółowo

2 Kryptografia: algorytmy symetryczne

2 Kryptografia: algorytmy symetryczne 1 Kryptografia: wstęp Wyróżniamy algorytmy: Kodowanie i kompresja Streszczenie Wieczorowe Studia Licencjackie Wykład 14, 12.06.2007 symetryczne: ten sam klucz jest stosowany do szyfrowania i deszyfrowania;

Bardziej szczegółowo

DOKUMENTACJA KOŃCOWA. Szyfr blokowy Blowfish. Prowadzący: mgr inż. T. Wojciechowski. Warszawa, 5 czerwca 2008

DOKUMENTACJA KOŃCOWA. Szyfr blokowy Blowfish. Prowadzący: mgr inż. T. Wojciechowski. Warszawa, 5 czerwca 2008 Warszawa, 5 czerwca 2008 Monika Rojek Michał Krotewicz Piotr Duda Jan Bystroń gr. 4T1 DOKUMENTACJA KOŃCOWA Szyfr blokowy Blowfish. Prowadzący: mgr inż. T. Wojciechowski 1. Opis algorytmu Blowfish to szyfr

Bardziej szczegółowo

Laboratorium przedmiotu Technika Cyfrowa

Laboratorium przedmiotu Technika Cyfrowa Laboratorium przedmiotu Technika Cyfrowa ćw.3 i 4: Asynchroniczne i synchroniczne automaty sekwencyjne 1. Implementacja asynchronicznych i synchronicznych maszyn stanu w języku VERILOG: Maszyny stanu w

Bardziej szczegółowo

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

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla

Bardziej szczegółowo

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

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla

Bardziej szczegółowo

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski rogawskim@prokom.pl Plan referatu: Budowa akceleratora kryptograficznego; Struktura programowalna element fizyczny;

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów

Bardziej szczegółowo

Wykład 4 Temat: Algorytm symetryczny Twofish: cele projektowane, budowa bloków, opis algorytmu, wydajność algorytmu.

Wykład 4 Temat: Algorytm symetryczny Twofish: cele projektowane, budowa bloków, opis algorytmu, wydajność algorytmu. Wykład 4 Temat: Algorytm symetryczny Twofish: cele projektowane, budowa bloków, opis algorytmu, wydajność algorytmu. W roku 1972 Narodowe Biuro Standardów (obecnie Narodowy Instytut Standardów i Technologii

Bardziej szczegółowo

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

Wykład 5. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES Podwójny algorytm DES Wykład 5 Mimo złożonej operacji szyfrowania DES tekst zaszyfrowany jest narażony na kryptoanalizę (łamanie szyfru). Z tego powodu dla poprawienia bezpieczeństwa szyfru stosuje się

Bardziej szczegółowo

Układy kryptograficzne z uŝyciem rejestrów LFSR

Układy kryptograficzne z uŝyciem rejestrów LFSR Układy kryptograficzne z uŝyciem rejestrów FSR Algorytmy kryptograficzne uŝywane w systemach telekomunikacyjnych własność modulo 2 funkcji XOR P K K = P = P 2 Rejestr z liniowym sprzęŝeniem zwrotnym FSR

Bardziej szczegółowo

Zarys algorytmów kryptograficznych

Zarys algorytmów kryptograficznych Zarys algorytmów kryptograficznych Laboratorium: Algorytmy i struktury danych Spis treści 1 Wstęp 1 2 Szyfry 2 2.1 Algorytmy i szyfry........................ 2 2.2 Prosty algorytm XOR......................

Bardziej szczegółowo

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś  Wykład 8 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 8 Spis treści 13 Szyfrowanie strumieniowe i generatory ciągów pseudolosowych 3 13.1 Synchroniczne

Bardziej szczegółowo

Bezpieczeństwo informacji oparte o kryptografię kwantową

Bezpieczeństwo informacji oparte o kryptografię kwantową WYŻSZA SZKOŁA BIZNESU W DĄBROWIE GÓRNICZEJ WYDZIAŁ ZARZĄDZANIA INFORMATYKI I NAUK SPOŁECZNYCH Instrukcja do laboratorium z przedmiotu: Bezpieczeństwo informacji oparte o kryptografię kwantową Instrukcja

Bardziej szczegółowo

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

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003 Bezpieczeństwo systemów komputerowych Algorytmy kryptograficzne (1) mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Algorytmy kryptograficzne Przestawieniowe zmieniają porządek znaków

Bardziej szczegółowo

Szyfry kaskadowe. permutacyjnej (SPP).

Szyfry kaskadowe. permutacyjnej (SPP). Szyfry kaskadowe Szyfrem kaskadowym nazywamy szyfr, który jest złożeniem funkcji szyfrujących. W stosowanych w praktyce szyfrach kaskadowych jako funkcje składowe najczęściej stosowane są podstawienia

Bardziej szczegółowo

Układy cyfrowe projekt.

Układy cyfrowe projekt. Układy cyfrowe projekt. Temat: Implementacja szyfru strumieniowego Rabbit w układach FPGA. Specyfikacja końcowa uwzględnia poprawki i uzupełnienia dodane na etapie implementacji. prowadzący: mgr inż. Tomasz

Bardziej szczegółowo

1. Maszyny rotorowe Enigma

1. Maszyny rotorowe Enigma Połączenie podstawowych metod szyfrowania, czyli pojedynczych podstawień lub przestawień, daje szyfr złoŝony nazywany szyfrem kaskadowym lub produktowym (ang. product cipher). Szyfry takie są połączeniem

Bardziej szczegółowo

Rijndael szyfr blokowy

Rijndael szyfr blokowy Rijndael szyfr blokowy Andrzej Chmielowiec 24 lipca 2002 1 Podstawy matematyczne Kilka operacji w standardzie Rijndael jest zdefiniowanych na poziomie bajta, przy czym bajty reprezentują elementy ciała

Bardziej szczegółowo

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie LABORATORIUM Teoria Automatów. Grupa ćwiczeniowa: Poniedziałek 8.

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie LABORATORIUM Teoria Automatów. Grupa ćwiczeniowa: Poniedziałek 8. Akademia Górniczo-Hutnicza im. isława Staszica w Krakowie LABORATORIUM Teoria Automatów Temat ćwiczenia Przerzutniki L.p. Imię i nazwisko Grupa ćwiczeniowa: Poniedziałek 8.000 Ocena Podpis 1. 2. 3. 4.

Bardziej szczegółowo

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

Bardziej szczegółowo

Szyfry kaskadowe. Szyfry kaskadowe

Szyfry kaskadowe. Szyfry kaskadowe Szyfry kaskadowe Szyfrem kaskadowym nazywamy szyfr, który jest złożeniem funkcji szyfrujących. W stosowanych w praktyce szyfrach kaskadowych jako funkcje składowe najczęściej stosowane są podstawienia

Bardziej szczegółowo

1.1. Standard szyfrowania DES

1.1. Standard szyfrowania DES 1.1. Standard szyrowania DES Powstał w latach siedemdziesiątych i został przyjęty jako standard szyrowania przez Amerykański Narodowy Instytut Standaryzacji (ang. American National Standards Institute

Bardziej szczegółowo

Metody szyfrowania danych

Metody szyfrowania danych K o d o w a n i e i k o m p r e s j a Zadanie 2 Metody szyfrowania danych Celem ćwiczenia jest zapoznanie się z podstawowymi metodami szyfrowania danych z użyciem kluczy symetrycznych i asymetrycznych.

Bardziej szczegółowo

Krótkie wprowadzenie do ModelSim i Quartus2

Krótkie wprowadzenie do ModelSim i Quartus2 Krótkie wprowadzenie do ModelSim i Quartus2 wersja 04.2011 1 Plan Oprogramowanie Pliki źródłowe Scenariusze użycia 2 Programy Programy w wersji darmowej do pobrania ze strony www.altera.com ModelSim-Altera

Bardziej szczegółowo

OCHRONA INFORMACJI W SYSTEMACH I SIECIACH KOMPUTEROWYCH SYMETRYCZNE SZYFRY BLOKOWE

OCHRONA INFORMACJI W SYSTEMACH I SIECIACH KOMPUTEROWYCH SYMETRYCZNE SZYFRY BLOKOWE OCHRONA INFORMACJI W SYSTEMACH I SIECIACH KOMPUTEROWYCH SYMETRYCZNE SZYFRY BLOKOWE 1 Tryby pracy szyfrów blokowych Rzadko zdarza się, by tekst jawny zawierał tylko 64 bity, czyli 8 znaków kodu ASCII. Zwykle

Bardziej szczegółowo

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

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi. Spis treści: Czym jest szyfrowanie Po co nam szyfrowanie Szyfrowanie symetryczne Szyfrowanie asymetryczne Szyfrowanie DES Szyfrowanie 3DES Szyfrowanie IDEA Szyfrowanie RSA Podpis cyfrowy Szyfrowanie MD5

Bardziej szczegółowo

Elektronika i techniki mikroprocesorowe

Elektronika i techniki mikroprocesorowe Elektronika i techniki mikroprocesorowe Technika cyfrowa ZłoŜone one układy cyfrowe Katedra Energoelektroniki, Napędu Elektrycznego i Robotyki Wydział Elektryczny, ul. Krzywoustego 2 PLAN WYKŁADU idea

Bardziej szczegółowo

Układy kombinacyjne. cz.2

Układy kombinacyjne. cz.2 Układy kombinacyjne cz.2 Układy kombinacyjne 2/26 Kombinacyjne bloki funkcjonalne Kombinacyjne bloki funkcjonalne - dekodery 3/26 Dekodery Są to układy zamieniające wybrany kod binarny (najczęściej NB)

Bardziej szczegółowo

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie Laboratorium Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie programowalnym FPGA. 1. Zasada działania algorytmów Algorytm Vernam a wykorzystuje funkcję

Bardziej szczegółowo

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Klasa III Opracuj projekt realizacji prac związanych z badaniem działania cyfrowych bloków arytmetycznych realizujących operacje

Bardziej szczegółowo

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie: Wykład 3 3-1 Reprezentacja liczb całkowitych ze znakiem Do przedstawienia liczb całkowitych ze znakiem stosowane są następujące kody: - ZM (znak-moduł) - U1 (uzupełnienie do 1) - U2 (uzupełnienie do 2)

Bardziej szczegółowo

Authenticated Encryption

Authenticated Encryption Authenticated Inż. Kamil Zarychta Opiekun: dr Ryszard Kossowski 1 Plan prezentacji Wprowadzenie Wymagania Opis wybranych algorytmów Porównanie mechanizmów Implementacja systemu Plany na przyszłość 2 Plan

Bardziej szczegółowo

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Opiekun naukowy: dr

Bardziej szczegółowo

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB Ćw. 9 Przerzutniki 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami sekwencyjnymi, czyli przerzutnikami. Zostanie przedstawiona zasada działania przerzutników oraz sposoby

Bardziej szczegółowo

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek Architektura systemów komputerowych Poziom układów logicznych. Układy sekwencyjne Cezary Bolek Katedra Informatyki Plan wykładu Układy sekwencyjne Synchroniczność, asynchroniczność Zatrzaski Przerzutniki

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Układy synchroniczne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 26 października 2015 Co to jest układ sekwencyjny? W układzie sekwencyjnym,

Bardziej szczegółowo

Szyfrowanie informacji

Szyfrowanie informacji Szyfrowanie informacji Szyfrowanie jest sposobem ochrony informacji przed zinterpretowaniem ich przez osoby niepowołane, lecz nie chroni przed ich odczytaniem lub skasowaniem. Informacje niezaszyfrowane

Bardziej szczegółowo

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015 Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów synchronicznych Rafał Walkowiak Wersja.2 24/25 UK Funkcje wzbudzeń UK Funkcje wzbudzeń Pamieć Pamieć UK Funkcje wyjściowe

Bardziej szczegółowo

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF Krzysztof Leszczyński Adam Sosnowski Michał Winiarski Projekt UCYF Temat: Dekodowanie kodów 2D. 1. Opis zagadnienia Kody dwuwymiarowe nazywane często kodami 2D stanowią uporządkowany zbiór jasnych i ciemnych

Bardziej szczegółowo

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite. Plan wykładu rchitektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka sekwencyjna

Bardziej szczegółowo

Język opisu sprzętu VHDL

Język opisu sprzętu VHDL Język opisu sprzętu VHDL dr inż. Adam Klimowicz Seminarium dydaktyczne Katedra Mediów Cyfrowych i Grafiki Komputerowej Informacje ogólne Język opisu sprzętu VHDL Przedmiot obieralny dla studentów studiów

Bardziej szczegółowo

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś  Wykład 7 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 7 Spis treści 11 Algorytm ElGamala 3 11.1 Wybór klucza.................... 3 11.2 Szyfrowanie.....................

Bardziej szczegółowo

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania). Ćw. 10 Układy sekwencyjne 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną układy rejestrów

Bardziej szczegółowo

Programowany układ czasowy

Programowany układ czasowy Programowany układ czasowy Zbuduj na płycie testowej ze Spartanem-3A prosty ośmiobitowy układ czasowy pracujący w trzech trybach. Zademonstruj jego działanie na ekranie oscyloskopu. Projekt z Języków Opisu

Bardziej szczegółowo

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych (Na przykładzie projektowania układów sterujacych) Grzegorz Łabiak i Marek Węgrzyn Instytut Informatyki

Bardziej szczegółowo

LICZNIKI Liczniki scalone serii 749x

LICZNIKI Liczniki scalone serii 749x LABOATOIUM PODSTAWY ELEKTONIKI LICZNIKI Liczniki scalone serii 749x Cel ćwiczenia Zapoznanie się z budową i zasadą działania liczników synchronicznych i asynchronicznych. Poznanie liczników dodających

Bardziej szczegółowo

Sposoby projektowania systemów w cyfrowych

Sposoby projektowania systemów w cyfrowych Sposoby projektowania systemów w cyfrowych Top-down Idea całości projektu Dekompozycja na mniejsze bloki Projekt i rafinacja podbloków Łączenie bloków w całość PRZYKŁAD (sumator kaskadowy) zdefiniowanie

Bardziej szczegółowo

Sterowniki Programowalne (SP)

Sterowniki Programowalne (SP) Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 3 (4h) Konwersja i wyświetlania informacji binarnej w VHDL Instrukcja do zajęć laboratoryjnych z przedmiotu Synteza

Bardziej szczegółowo

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące Architektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Plan wykładu Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka

Bardziej szczegółowo

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY WFiIS LABORATORIUM Z ELEKTRONIKI Imię i nazwisko: 1. 2. TEMAT: ROK GRUPA ZESPÓŁ NR ĆWICZENIA Data wykonania: Data oddania: Zwrot do poprawy: Data oddania: Data zliczenia: OCENA CEL ĆWICZENIA Ćwiczenie

Bardziej szczegółowo

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii Patryk Czarnik Bezpieczeństwo sieci komputerowych MSUI 2009/10 Zagadnienia bezpieczeństwa Identyfikacja i uwierzytelnienie Kontrola dostępu Poufność:

Bardziej szczegółowo

INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ

INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ INSTYTUT INFORMATYKI POLITECHNIKI BIAŁOSTOCKIEJ Do uŝytku wewnętrznego INFORMATOR LABORATORYJNY TECHNIKA CYFROWA Opracował: dr hab. inŝ. Tadeusz Maciak UWAGA: ćwiczenie 6 jest obecnie przepracowywane.

Bardziej szczegółowo

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

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność Systemy Mobilne i Bezprzewodowe laboratorium 12 Bezpieczeństwo i prywatność Plan laboratorium Szyfrowanie, Uwierzytelnianie, Bezpieczeństwo systemów bezprzewodowych. na podstawie : D. P. Agrawal, Q.-A.

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM Spis treści 1. Wstęp... 9 2. Ćwiczenia laboratoryjne... 12 2.1. Środowisko projektowania Quartus II dla układów FPGA Altera... 12 2.1.1. Cel ćwiczenia... 12 2.1.2. Wprowadzenie... 12 2.1.3. Przebieg ćwiczenia...

Bardziej szczegółowo

Układy Cyfrowe projekt. Korekcja jasności obrazów w 24-bitowym formacie BMP z użyciem funkcji gamma. Opis głównych modułów sprzętowych

Układy Cyfrowe projekt. Korekcja jasności obrazów w 24-bitowym formacie BMP z użyciem funkcji gamma. Opis głównych modułów sprzętowych Michał Leśniewski Tomasz Władziński Układy Cyfrowe projekt Korekcja jasności obrazów w 24-bitowym formacie BMP z użyciem funkcji gamma Opis głównych modułów sprzętowych Realizacja funkcji gamma entity

Bardziej szczegółowo

PROGRAMOWALNE STEROWNIKI LOGICZNE

PROGRAMOWALNE STEROWNIKI LOGICZNE PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu

Bardziej szczegółowo

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D AGH Katedra Elektroniki Podstawy Elektroniki dla Elektrotechniki Liczniki synchroniczne na przerzutnikach typu D Ćwiczenie 7 Instrukcja do ćwiczeń symulacyjnych 2016 r. 1 1. Wstęp Celem ćwiczenia jest

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne Schemat ogólny X Y Układ kombinacyjny S Z Pamięć Zegar Działanie układu Zmiany wartości wektora S możliwe tylko w dyskretnych chwilach czasowych

Bardziej szczegółowo

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.)

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.) Kryptografia-0 -zachowanie informacji dla osób wtajemniczonych -mimo że włamujący się ma dostęp do informacji zaszyfrowanej -mimo że włamujący się zna (?) stosowaną metodę szyfrowania -mimo że włamujący

Bardziej szczegółowo

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp: Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp: Licznik elektroniczny - układ cyfrowy, którego zadaniem jest zliczanie wystąpień sygnału zegarowego. Licznik złożony

Bardziej szczegółowo

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10. Projekt z przedmiotu Systemy akwizycji i przesyłania informacji Temat pracy: Licznik binarny zliczający do 10. Andrzej Kuś Aleksander Matusz Prowadzący: dr inż. Adam Stadler Układy cyfrowe przetwarzają

Bardziej szczegółowo

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

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze. Wykład 2 Temat: Algorytm kryptograficzny RSA: schemat i opis algorytmu, procedura szyfrowania i odszyfrowania, aspekty bezpieczeństwa, stosowanie RSA jest algorytmem z kluczem publicznym i został opracowany

Bardziej szczegółowo

Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych

Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych Autor: Piotr Majkowski Pod opieką: prof. Zbigniew Kotulski Politechnika

Bardziej szczegółowo

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości Stałe - constant Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości późniejszych zmian Deklarowane w ciele architektury Widoczne dla całej architektury architecture

Bardziej szczegółowo

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński Altera Quartus II Opis niektórych komponentów dostarczanych razem ze środowiskiem Opracował: mgr inż. Leszek Ciopiński Spis treści Opis wybranych zagadnień obsługi środowiska Altera Quartus II:...1 Magistrale:...

Bardziej szczegółowo

Specyfika projektowania Mariusz Rawski

Specyfika projektowania Mariusz Rawski CAD Specyfika projektowania Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ System cyfrowy pierwsze skojarzenie Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania

Bardziej szczegółowo

ARYTMETYKA KOMPUTERA

ARYTMETYKA KOMPUTERA 006 URZĄDZENIA TECHNIKI KOMPUTEROWEJ ARYTMETYKA KOMPUTERA Systemy liczbowe o róŝnych podstawach 1 UTK System dziesiętny Cyfry: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Liczba 764.5 oznacza 7 * 10 2 + 6 * 10 1 + 4

Bardziej szczegółowo

APLIKACJA COMMAND POSITIONING Z WYKORZYSTANIEM KOMUNIKACJI SIECIOWEJ Z PROTOKOŁEM USS W PRZETWORNICACH MDS/FDS 5000

APLIKACJA COMMAND POSITIONING Z WYKORZYSTANIEM KOMUNIKACJI SIECIOWEJ Z PROTOKOŁEM USS W PRZETWORNICACH MDS/FDS 5000 APLIKACJA COMMAND POSITIONING Z WYKORZYSTANIEM KOMUNIKACJI SIECIOWEJ Z PROTOKOŁEM USS W PRZETWORNICACH MDS/FDS 5000 1. Wstęp...3 2. Pierwsze uruchomienie....3 3. Wybór aplikacji i komunikacji...4 4. Sterowanie...6

Bardziej szczegółowo

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak PODSTAWY TEORII UKŁADÓW CYFROWYCH UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ Układem sekwencyjnym nazywamy układ

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 10 (3h) Implementacja interfejsu SPI w strukturze programowalnej Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

Synteza strukturalna automatów Moore'a i Mealy

Synteza strukturalna automatów Moore'a i Mealy Synteza strukturalna automatów Moore'a i Mealy Formalna definicja automatu: A = < Z, Q, Y, Φ, Ψ, q 0 > Z alfabet wejściowy Q zbiór stanów wewnętrznych Y alfabet wyjściowy Φ funkcja przejść q(t+1) = Φ (q(t),

Bardziej szczegółowo

Spis treści. 1. Cyfrowy zapis i synteza dźwięku Schemat blokowy i zadania karty dźwiękowej UTK. Karty dźwiękowe. 1

Spis treści. 1. Cyfrowy zapis i synteza dźwięku Schemat blokowy i zadania karty dźwiękowej UTK. Karty dźwiękowe. 1 Spis treści 1. Cyfrowy zapis i synteza dźwięku... 2 2. Schemat blokowy i zadania karty dźwiękowej... 4 UTK. Karty dźwiękowe. 1 1. Cyfrowy zapis i synteza dźwięku Proces kodowania informacji analogowej,

Bardziej szczegółowo

Bezpieczeństwo informacji w systemach komputerowych

Bezpieczeństwo informacji w systemach komputerowych Bezpieczeństwo informacji w systemach komputerowych Andrzej GRZYWAK Rozwój mechanizmów i i systemów bezpieczeństwa Szyfry Kryptoanaliza Autentyfikacja Zapory Sieci Ochrona zasobów Bezpieczeństwo przechowywania

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych

Bezpieczeństwo systemów komputerowych 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ć?

Bardziej szczegółowo

Bezpieczeństwo informacji oparte o kryptografię kwantową

Bezpieczeństwo informacji oparte o kryptografię kwantową WYŻSZA SZKOŁA BIZNESU W DĄBROWIE GÓRNICZEJ WYDZIAŁ ZARZĄDZANIA INFORMATYKI I NAUK SPOŁECZNYCH Instrukcja do laboratorium z przedmiotu: Bezpieczeństwo informacji oparte o kryptografię kwantową Instrukcja

Bardziej szczegółowo

Użycie AVR Studio do kompilacji AVRUB

Użycie AVR Studio do kompilacji AVRUB Użycie AVR Studio do kompilacji AVRUB 1. Utwórz nowy folder, skopiuj wszystkie pliki z avrub do niego. 2. Otwórz AVR Studio, utwórz nowy projekt, dodaj plik bootldr.c do grupy "Source Files". 3. Otwórz

Bardziej szczegółowo

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja 0.1 29.10.2013 Przypomnienie - podział układów cyfrowych Układy kombinacyjne pozbawione właściwości pamiętania stanów, realizujące

Bardziej szczegółowo

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch) DSCH2 to program do edycji i symulacji układów logicznych. DSCH2 jest wykorzystywany do sprawdzenia architektury układu logicznego przed rozpoczęciem projektowania fizycznego. DSCH2 zapewnia ergonomiczne

Bardziej szczegółowo

Bezpieczeństwo systemów i sieci komputerowych

Bezpieczeństwo systemów i sieci komputerowych Bezpieczeństwo systemów i sieci komputerowych Kryptologia (2) Szyfry blokowe Szyfry kaskadowe Propozycja Shannona Bezpieczny szyfr można zbudować operując na dużych przestrzeniach komunikatów i kluczy

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

Projekt prostego procesora

Projekt prostego procesora Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego

Bardziej szczegółowo

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole

Bardziej szczegółowo

(przykład uogólniony)

(przykład uogólniony) Serial Peripheral Interface (przykład uogólniony) Brak standardu. Inne stosowane nazwy: Synchronous Serial Port (SSP), 4 wire SSI (Synchronous Serial Interface, Texas Instrument), Microwire (National Semiconductor).

Bardziej szczegółowo

CAST, 3DES, GOST, IDEA, RC2, RC4,

CAST, 3DES, GOST, IDEA, RC2, RC4, Wykład 5 Temat: Inne symetryczne algorytmy kryptograficzne: Blowfish, CAST, 3DES, GOST, IDEA, RC2, RC4, Rijndael (AES). 5.1. Blowfish Algorytm Blowfish (pol. rozdymka) został zaprojektowany by spełnić

Bardziej szczegółowo

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

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna PuTTY Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP Marcin Pilarski PuTTY emuluje terminal tekstowy łączący się z serwerem za pomocą protokołu Telnet, Rlogin oraz SSH1 i SSH2. Implementuje

Bardziej szczegółowo

Laboratorium nr 1 Szyfrowanie i kontrola integralności

Laboratorium nr 1 Szyfrowanie i kontrola integralności Laboratorium nr 1 Szyfrowanie i kontrola integralności Wprowadzenie Jedną z podstawowych metod bezpieczeństwa stosowaną we współczesnych systemach teleinformatycznych jest poufność danych. Poufność danych

Bardziej szczegółowo

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

Bardziej szczegółowo

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy Testowanie układów kombinacyjnych Przykładowy układ Wykrywanie błędów: 1. Sklejenie z 0 2. Sklejenie z 1 Testem danego uszkodzenia nazywa się takie wzbudzenie funkcji (wektor wejściowy), które daje błędną

Bardziej szczegółowo

Algorytmy asymetryczne

Algorytmy asymetryczne Algorytmy asymetryczne Klucze występują w parach jeden do szyfrowania, drugi do deszyfrowania (niekiedy klucze mogą pracować zamiennie ) Opublikowanie jednego z kluczy nie zdradza drugiego, nawet gdy można

Bardziej szczegółowo

LEKCJA. TEMAT: Funktory logiczne.

LEKCJA. TEMAT: Funktory logiczne. TEMAT: Funktory logiczne. LEKCJA 1. Bramką logiczną (funktorem) nazywa się układ elektroniczny realizujący funkcje logiczne jednej lub wielu zmiennych. Sygnały wejściowe i wyjściowe bramki przyjmują wartość

Bardziej szczegółowo

Projektowanie układów kryptograficznych Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/

Projektowanie układów kryptograficznych Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ CAD Projektowanie układów kryptograficznych rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Kryptografia Kryptografia to dziedzina nauki, zajmująca się przekształcaniem informacji zwanej tekstem

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Programowany układ czasowy APSC

Programowany układ czasowy APSC Programowany układ czasowy APSC Ośmiobitowy układ czasowy pracujący w trzech trybach. Wybór trybu realizowany jest przez wartość ładowaną do wewnętrznego rejestru zwanego słowem sterującym. Rejestr ten

Bardziej szczegółowo

Systemy liczenia. 333= 3*100+3*10+3*1

Systemy liczenia. 333= 3*100+3*10+3*1 Systemy liczenia. System dziesiętny jest systemem pozycyjnym, co oznacza, Ŝe wartość liczby zaleŝy od pozycji na której się ona znajduje np. w liczbie 333 kaŝda cyfra oznacza inną wartość bowiem: 333=

Bardziej szczegółowo

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo