Komputer DNA - Instytutu Informatyki UJ

advertisement
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
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.
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
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
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
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,
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
Steganografia
(5) Budujemy nić klucz_komplementarny-tekstklucz_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
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
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
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?
Download