Komputer DNA Rafał Gołębiowski Instytut Informatyki i Matematyki Komputerowej WMiI UJ.

Slides:



Advertisements
Podobne prezentacje
Szyfrowanie symetryczne 1
Advertisements

Metody identyfikacji i lokalizacji sekwencji kodujących w genomie
Reprezentacja danych w komputerze
dr A Kwiatkowska Instytut Informatyki
PROGRAMOWANIE STRUKTURALNE
Podstawy kryptografii
Zrównoleglanie programu sekwencyjnego
Czyli czym się różni bit od qubitu
Macierze Maria Guzik.
Kryptografia i kryptoanaliza
Magistrala & mostki PN/PD
PODSTAWY INFORMATYKI Wykładowca: mgr Tadeusz Ziębakowski
Zapis informacji Dr Anna Kwiatkowska.
Elementy informatyki w nauczaniu zintegrowanym
Techniczne aspekty realizacji podpisu cyfrowego z zastosowaniem algorytmu RSA mgr inż. Wojciech Psik Zespół Szkół Elektronicznych i Ogólnokształcących.
Biokomputer.
Ochrona danych wykład 3.
Dążenie do odkrywania tajemnic tkwi głęboko w naturze człowieka, a nadzieja dotarcia tam, dokąd inni nie dotarli, pociąga umysły najmniej nawet skłonne.
Algorytmy genetyczne.
Temat 3: Co to znaczy, że komputer ma pamięć? Czy można ją zmierzyć?
MATEMATYCZNE METODY SZYFROWANIA
Budowa komputera.
Autor: Justyna Radomska
SZYFROWANIE INFORMACJI
Jednostki w informatyce i system binarny (dwójkowy)
ZASTOSOWANIE KRYPTOGRAFII W SZYFROWANIU DANYCH
Języki i automaty część 3.
Jak to jest zrobione? Kalkulator.
Matematyka i system dwójkowy
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Projektowanie stron WWW
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
LISTY HTML. Listy s ą definiowane za pomoc ą znacznika podstawowego innego dla ka ż dego rodzaju list Specyfikacja XHTML, zawiera specjalne znaczniki.
Excel Filtrowanie Funkcje bazodanowe
Andrzej Majkowski informatyka + 1.
JĘZYKI ASSEMBLEROWE ..:: PROJEKT ::..
Algorytmy- Wprowadzenie do programowania
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
SZYFROWANIE Kacper Nowak.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
PHP Operacje na ciągach znaków Damian Urbańczyk. Zabezpieczanie tekstów Pewne dane muszą być przechowywane w taki sposób, aby nie mogły się do nich dostać.
Podstawy języka skryptów
ELEMENTY ZESTAWU KOMPUTEROWEGO
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
 Kryptografia - dziedzina wiedzy obejmująca zagadnienia związane z ukrywaniem wiadomości (danych) przed nieupoważnionymi podmiotami przy pomocy ich przekształcania.
Schemat układu ukrywającego znaki wodne
Model warstwowy ISO-OSI
BUDOWA WEWNĘTRZNA KOMPUTERA
K ODY ZMIENNEJ DŁUGOŚCI Alfabet Morsa Kody Huffmana.
8. MATEMATYCZNE PODSTAWY ALGORYTMÓW KRYPTOGRAFICZNYCH
„Filtry i funkcje bazodanowe w EXCELU”
GeneracjeTechnologia Architektura przetwarzania 0. Przekaźniki elektromechaniczne 1. Lampy elektronowe 2. Tranzystory 3. Układy scalone 3.5.Układy dużej.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
2.22. Procesy i zasady kodowania informacji genetycznej
Biologia molekularna – dziedzina biologii zajmująca się badaniem struktury i funkcji makromolekuł, przede wszystkim białek i kwasów nukleinowych Makromolekuła.
1.22. Odczytywanie informacji genetycznej – przepis na białko
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
URZĄDZENIA TECHNIKI KOMPUTEROWEJ Zapis liczb binarnych ze znakiem.
Elementy cyfrowe i układy logiczne
Jak zaczynam przygodę z programowaniem z gimnazjalistami?
KOD GENETYCZNY I JEGO CECHY
SIECI KOMPUTEROWE WYKŁAD 8. BEZPIECZEŃSTWO SIECI
Podstawy Informatyki.
Wstęp do Informatyki - Wykład 6
Zrozumieć, przeanalizować i rozwiązać
Operacje na ciągach znaków
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Liczby pierwsze oraz kryptologia
Zapis prezentacji:

Komputer DNA Rafał Gołębiowski Instytut Informatyki i Matematyki Komputerowej WMiI UJ

Agenda DNA raz jeszcze Komputer DNA – co to jest? Budowa komputera DNA Historia Model Adlemana Komputer Shapiro Po co to komu? Podstawy działania

Agenda cd. Porównanie z tradycyjnym komputerem Jakieś suckesy? Kodowanie DNA a kodowanie binarne DNA a ochrona danych Kryptografia molekularna Steganografia molekularna Skrót z użyciem DNA Identyfikacja z użyciem DNA Kryptoanaliza Podsumowanie

DNA raz jeszcze DNA jest prawdziwym bankiem informacji i składa się z : Adeniny (A) Tyminy (T) Cytozyny (C) Guaniny (G) Ciekawostka: Jeden genom ma pojemność jednej płyty CD-ROM

DNA raz jeszcze

Komputer DNA – co to jest? Komputer DNA (biokomputer) to komputer, w którym obliczenia zachodzą dzięki reakcjom chemicznym między cząsteczkami DNA.

Budowa komputera DNA Liczne nici DNA reprezentujące zasady Dane zapytania Baza danych umieszczona w kroplach wody Wielkość takiego komputera jest mniejsza niż kropka nad i w tym slajdzie

Historia 1994 – Adleman zaprezentował model używający cząsteczek DNA do rozwiązania problemu komiwojażera Jakieś wady? np. długi czas obliczeń 2002 - Shapiro skonstruował komputer potrafiący odpowiadać „tak” lub „nie”. Dodatkowo był on wyposażony w prosty moduł wejścia i wyjścia i mógł diagnozować komórkę nowotworową i podawać jej lek.

Historia cd. 2003 - skonstruowano komputer MAYA, który potrafił grać w kółko i krzyżyk. Składał się z 23 bramek DNA rozmieszczonych w próbówkach oznaczających 8 zewnętrznych pól planszy do gry. Przebieg gry wyglądał następująco: Ruch człowieka polegał na dodaniu jednego z ośmiu DNA do każdego z pól. Każdy rodzaj DNA miał inną sekwencję i oznaczał wybór innego pola w grze. W wyniku reakcji wewnątrz pól, bramki wywoływały fluorescencję odpowiedniego pola, co oznaczało ruch komputera. Pierwszy ruch w grze należał do komputera i wykonywał go zawsze w centralnym polu. Drugi ruch człowieka ograniczony był tylko do dwóch pól: górnego i środkowego w lewej kolumnie. 19 możliwych scenariuszy tej gry. W żadnym komputer nie przegrywał.

Historia cd.

Historia cd.

Model Adlemana Model Adlemana do rozwiązania problemu komiwojażera (7 miast i 13 dróg między nimi) Każde miasto było reprezentowane przez losowy łańcuch DNA o długości 20, np: G-C-A-C-T-G-G-A-C-T-C-A-T-G-C-A-C-T-G-T Droga między miastami 1 i 2 reprezentowana była przez łańcuch długości 20 składający się z cząsteczek stanowiących dopełnienie (na zasadzie komplementarności: A-T, C-G) zasad łańcuchów reprezentujących te miasta, w połowie od każdego

Model Adlemana cd. C-T-A-G-C-A-T-A-G-T-A-T-G-C-G-T-C-G-A-G G-C-A-C-T-G-G-A-C-T-C-A-T-G-C-A-C-T-G-T T-A-C-G-C-A-G-C-T-C-C-G-T-G-A-C-C-T-G-A Gdzie: Miasto1, Miasto2, Droga z Miasta 1 do Miasta 2. Miliardy łańcuchów umieszczono w probówce i wymieszano. Łańcuchy łączą się ze sobą tworząc wszystkie możliwe ściezki z miasta1 do miasta7. Po zastosowaniu reakcji chemicznych zostawione zostaną jedynie te które zawierają 7 różnych łańcuchów. Znalezienie wszystkich takich łańcuchów zajęło kilka sekund, ale odeparowanie ich zajęło kilka dni.

Komputer Shapiro Wlewa się do probówki dwa składniki niezbędne do obliczeń: "software", czyli odpowiednio przygotowane nici DNA niosące odpowiednio spreparowane informacje, i "hardware", czyli sprzęt, który przetwarza dane zakodowane w DNA. W roli hardware'u wystąpiły dwa enzymy - restryktaza FokI oraz ligaza. Po wymieszaniu software'u, hardware'u i biologicznego nośnika energii - cząsteczek ATP - w wyniku reakcji powstawała cząsteczka, w której sekwencji nukleotydów zapisany był wynik operacji matematycznej. Cząsteczkę tę naukowcy izolowali i "rozgryzali" jej budowę przy użyciu elektroforezy. Co potrafi zrobić taki komputer?

Po co to komu? Komórki nerwowe wysyłają i przyjmują impulsy o: Medycyna – programowanie cząsteczek biologicznych Identyfikacja wirusów Znajdowanie mutacji w kodzie genetycznym Zastosowanie zarówno w roztworach chemicznych jak i w żywych organizmach, co może umożliwiać diagnozę i leczenie nawet na poziomie komórek. Rozwiązywanie problemów matematycznych/obliczeniowych Kryptografia Inne

Podstawy Działania W komputerze DNA informacja jest zakodowana w postaci łańcuchów DNA. Podobnie jak zwykłe komputery, składa się z bramek logicznych, te jednak są oparte na enzymach. Enzymy te powodują reakcje chemiczne między łańcuchami a ich wynik stanowi nową informację. Komputer taki jest probabilistyczny – wynik każdego działania otrzymujemy jedynie z pewnym prawdopodobieństwem.

Prównanie z tradycyjnym komputerem Porównanie to jest bardzo trudne oraz może doprowadzić w wielu sytuacjach do rozbieżnych wyników. Poniższe dane należy traktować jako przybliżone.

Prównanie z tradycyjnym komputerem cd. DNA jako nośnik informacji – pojemność pamięci biologicznej jest znacznie większa niż dzisiejszych nośników. Np. 1mm3 DNA mieści 10mld(!) MB informacji (zakładając że jedna para nukleotydów stanowi jeden bit 0 lub 1). Zatem 1gr DNA może zawierać 10^21 zasad DNA co daje 10^8 TB.

Prównanie z tradycyjnym komputerem cd. DNA jako superkomputer – zakładając, że przodujące komputery umożliwiają działania z prędkością 100mln instrukcji na sekundę, łańcuch DNA działa z prędkością 10x szybszą. Komputery DNA zapewniają duży stopień równoległości przetwarzania. W jednej kropli roztworu wodnego może znajdować się ponad bilion molekularnych procesorów, wynokujących miliard operacji/s

Prównanie z tradycyjnym komputerem cd. Komputery DNA nie potrzebują zasilania elektrycznego i są wysoce energooszczędne Komputer ten wygląda jak widać obiecująco.

Jakieś sukcesy? Potrafi obliczyć pierwiastek kwadratowy z podanej liczby Robi to dla liczby czterobitowej około 5h Czy faktycznie jest to sukces?

Kodowanie DNA a kodowanie binarne W przypadku binarnym operujemy dwoma bitami 0 i 1 W przypadku DNA mamy 4 nukleotydy A,T,G,C W zależności, ile znaków będziemy chcieli zakodowac, taki dlugi będzie ciąg nukleotydów przypadający na każdy znak. Czyli chcąc zakodować 64 różne znaki, potrzebujemy ciągu składającego się z 3 nukleotydów (4^3).

Kodowanie DNA a kodowanie binarne Możemy także traktować A i T jako 0 a G i C jako 1. np. korzystając z ASCII 65(10)=1000001(2)=GTTATAC W tym przypadku nie wykorzystujemy czterech zasad do kodowania tylko dwie.

Kodowanie DNA a kodowanie binarne Przy budowie alfabetu należy stosować metody charakterystyczne dla szyfrów homofonicznych (najczęściej występujące litery kodowane są za pomocą kilku czwórek)

Kryptografia molekularna Algortym jednorazowy (one time pad) Metoda podstawieniowa Steganografia DNA Skrót z użyciem DNA Identyfikacja z użyciem DNA Kryptoanaliza

Algorytm jednorazowy Tekst janwy który jest szyfrowany przy użyciu cząsteczek DNA jest bezpieczny po spełnieniu 3 warunków przez łańcuch DNA stanowiący klucz: Musi nie być krótszy niż tekst szyfrowany Musi być losowy Może być użyty tylko jeden raz

Metoda podstawieniowa Tekst wejściowy stanowiący ciąg binarny o długości n dzielony jest na ciagi znaków o różnych długościach. Tablica podstawieniowa one-time-pad zbudowana jest w taki sposób, aby wszystkie możliwe ciągi wejściowe zostały zamienione na ciągi znaków zaszyfrowanych o różnych długościach

Metoda podstawieniowa Szyfrowanie to polega na zamianie każdego ciągu wejściowego na podstawie tablicy podstawieniowej na tekst wyjściowy (zaszyfrowany). Deszyfrowanie jest operacją odwrotną OK, ale jakie jest zastosowanie cząsteczek DNA w algorytmie?

Metoda podstawieniowa Tekst wejściowy – probówka zawierająca krótkie odcinki DNA Tekst wyjściowy – probówka zawierająca inne krótkie odcinki DNA Szyfrowanie polega na losowej, lecz odwracalnej zamianie odcinków reprezentujących tekst wejściowy na odcinki DNA reprezentujące tekst zaszyfrowany. Oryginalne cząsteczki są usuwane

Metoda podstawieniowa Budowa tablicy podstawieniowej: Tworzymy długi lańcuch DNA składający się z wielu segmentów. Każdy segment składa się z dwóch części: Ciągu znaków reprezentujących tekst jawny Ciągu znaków reprezentujących odpowiadający mu tekst zaszyfrowany

Metoda podstawieniowa Reprezentacja łańcucha:

Metoda podstawieniowa Chcąc wygenerować sekwencję nukleotydów, odpowiadających tekstowi zaszyfrowanemu na podstawie tej tablicy, jako primera (startera) używamy ~B_i. Na jego podstawie określamy ciąg odpowiadający tekstowi jawnemu C+i (reakcja PCR). Stoper zapobiega dalszemu rozszerzaniu się reakcji ponad interesujący nas ciąg jawny.

Steganografia (1) Tworzymy alfabet reprezentujący znaki za pomocą ciągów nukleotydów o długości 4 (2) Tekst jawny kodujemy przy pomocy stworzonego alfabetu (3) Tworzymy klucz, który musi być TAJNY (!) (4) Klucz kodujemy według tego samego alfabetu, którego użyliśmy do kodowania tekstu jawnego. Klucz stanowi starter, który umożliwia znalezienie tekstu wśród innych cząsteczek DNA poprzez reakcję PCR

Steganografia UWAGA:. Ważne jest aby po zamianie na ciąg nukleotydów, miał on długość minimum 20 nukleotydów, aby z dużym prawdopodobieństwem wśród innych cząsteczek nie było więcej takich ciągów. Kryptoanalityk musi sprawdzic 4^20 możliwych starterow aby odnaleźć starter. Nie jest to aż tak dużo, zatem dobrze aby klucz składał się z ponad 35 nukleotydów. Przyjmując 4 nukleotydy na jeden znak, klucz powinien mieć 9 znaków

Steganografia (5) Budujemy nić klucz_komplementarny-tekst- klucz_komplementarny oraz drugą nić, która stanowi klucz. Przykładowe metody tworzenia pojedynczych nici: Synteza na podłożu stałym Metoda fotolitograficzna (6) Budujemy drugą nić wykonując reakcję PCR

Steganografia (6) Stworzoną cząsteczkę umieszczamy wśród wielu innych cząsteczek o podobnej budowie. Odbiorca musi znać alfabet, którego użyty do kodowania oraz klucz (starter) Jak odczytać taką wiadomość?

Steganografia Odczytywanie: (1) Chcąc znaleźć szukaną cząsteczkę DNA należy wykonać reakcje PCR uzywając łańcucha nukleotydów reprezentującego klucz jako starter Reakcję PCR należy wykonać kilkakrotnie aby uzyskać wielokrotną liczbę cząsteczek zawierających ukryty tekst (2) Po otrzymaniu pojedynczej nici z cząsteczki zawierającej ukryty tekst, odczytujemy ciąg nukleotydów (sekwencjonowanie) (3) Zamieniamy ciąg nukleotydów na poszukiwany tekst przy pomocy alfabetu na podstawie którego kodowalismy tekst jawny w fazie ukrywania

Steganografia Przykład: Wiadomość: IT = TATAGTCC po zamianaie na ciąg nukleotydów Hasło: H2 = TTACACCA Tworzymy następujące nici: AATGTGGT TATAGTCC AATGTGGT TTACACCA Z wykorzystaniem enzymu polimerazy tworzymy podwójną helisę DNA. Cząsteczkę tę umieszczamy w probówce z określoną substancją

Steganografia Odbiorca musi również dokonać zamiany hasła na ciąg nukleotydów. Po otrzymaniu probówki wielokrotnie wykonuje reakcję PCR jako starter stosując ciąg nukleotydów reprezentujących hasło. W wyniku reakcji PCR liczba cząsteczek DNA zawierających ukryty tekst zostaje zwielokrotniona. W kolejnym kroku odbiorca wykonuje sekwencjonowanie i otrzymuje ciąg TATAGTCC. Znając alfabet zamienia go na tekst IT. Niestety bezpieczeństwa opiera się na tajności klucza

Steganografia Najtrudniejszą i najdroższą reakcą z punktu widzenia biologii jest tworzenie długich nici o określinej sekwencji nukleotydów.

Skrót z użyciem DNA Wszystkie numery seryjne sprzętu, płyt muzycznych, płyt z oprogramowaniem można kodować w postaci cząsteczek DNA a następnie dołączać do przedmiotu, którego numer dotyczy. Wówczas numer seryjny staje się częścią fizyczna sprzętu. Takie oznaczenie zastosowano na olimpiadzie w Syndey! Wszystkie przedmioty związane z olimpiadą zostały oznaczone specjalnym atramenten zawięrającym DNA australijskiego sportowca. Do sprawdzania autentyczności przedmiotów służył skaner ręczny PS. Koszt takiego oznaczenia wyniósł zaledwie 5 centów

Identyfikacja z użyciem DNA Każde DNA jest unikalne, co powoduje wykorzystywanie tego faktu w: Kryminalistyka Testy pokrewieństwa Biometryczne uwierzytelnienie

Kryptoanaliza Dzięki wysokiemu stopniu zrównoleglenia Adleman pokazał, że komputer DNA o wielkości kilku probówek umożliwia odnalezienie klucza o długości 2^56 (brute force) algorytmu DES. Wady: - implementacja algorytmu w biochemii - dokładność wykonania obliczeń z wykorzystaniem cząsteczek DNA WAŻNE: Komputery molekulatne jedynie przyspieszają rozwiązanie.

Kryptoanaliza Beaver zgodnie z podejciem Adlemana oszacował ze komputer potrzebny do faktoryzacji 1000 bitowej liczby miałby pojemność 10^200 000 litrów (!!)

Trochę humoru

Zakończenie Dziękuję za uwagę. Pytania?