Kryptografia molekularna
Krzysztof Ma
ć
kowiak
Doradztwo Gospodarcze DGA S.A., Politechnika Poznańska
www.kryptografia.com
Celem referatu jest przybli
ż
enie innej, alternatywnej metody ochrony danych.
Niekonwencjonalne podej
ś
cie, wykorzystuj
ą
ce cz
ą
steczki DNA, umo
ż
liwia
wykonywanie najwa
ż
niejszych operacji wykorzystywanych w ochronie danych
takich jak: szyfrowanie, ukrywanie danych (steganografia), tworzenie skrótu,
kryptoanaliza oraz identyfikacja osób. W referacie przedstawione b
ę
d
ą
podstawowe poj
ę
cia zwi
ą
zane z biologi
ą
(budowa cz
ą
steczki DNA, ła
ń
cuchowa
reakcja polimerazy, sekwencjonowanie) oraz bioinformatyk
ą
(komputer DNA i
jego porównanie z komputerami tradycyjnymi, wykorzystywanie DNA i RNA do
rozwi
ą
zywania problemów obliczeniowych). Omówione b
ę
d
ą
w skrócie
sposoby wykorzystywania cz
ą
steczek DNA w ochronie danych oraz dokładnie
przedstawione zostan
ą
przykładowe metody kryptografii i steganografii z
wykorzystaniem cz
ą
steczek DNA.
1. Budowa cz
ą
steczek DNA
Wszystkie organizmy
ż
ywe maj
ą
podobn
ą
molekularn
ą
budow
ę
biochemiczn
ą
.
Składaj
ą
si
ę
z tych samych molekuł: białek i kwasów nukleinowych. Kwasy
nukleinowe koduj
ą
informacj
ę
genetyczn
ą
potrzebn
ą
do wytwarzania białek i
przekazania tych reguł nast
ę
pnym pokoleniom.
Wyró
ż
niamy dwa rodzaje kwasów nukleinowych:
DNA – deoksyrybonukleinowy (deoxyribonucleic acid),
RNA – rybonukleinowy (ribonucleic acid).
Zasad
ę
budowy DNA odkryli w 1953 roku:
J.D. Watson i F.H. Crick – model helisy – Nagroda Nobla,
M. Wilkins – Nagroda Nobla,
R.E. Franklin.
DNA jest dwuniciow
ą
helis
ą
składaj
ą
c
ą
si
ę
z prostszych molekuł (nukleotydów).
Pojedynczy nukleotyd zbudowany jest z:
cz
ą
steczki cukru – deoksyrybozy (2’-deoxyribose), zawieraj
ą
cej pi
ęć
atomów
w
ę
gla, oznaczonych od 1’ do 5’.
jednej grupy fosforanowej,
zasady azotowej.
Molekuły DNA ró
ż
ni
ą
si
ę
zasadami azotowymi. To wła
ś
nie zdefiniowana kolejno
ść
zasad zawartych w cz
ą
steczkach DNA stanowi no
ś
nik informacji genetycznych.
Wyró
ż
nia si
ę
cztery zasady azotowe: adenina A (adenine), guanina G (guanine),
cytozyna C (cytosine) oraz tymina T (tymine). Adenina i guanina to pochodne
puryny, natomiast cytozyna i tymina to pochodne pirymidyny.
Nukleotydy w zale
ż
no
ś
ci od wyst
ę
puj
ą
cych w nich zasad nazywamy:
deoksyadenylanem (z adenin
ą
), deoksyguanylanem (z guanin
ą
),
deoksycytydylanem (z cytozyn
ą
) oraz deoksytymidylanem (z tymin
ą
). Ła
ń
cuch DNA
jest oligonukleotydem.
Podwójn
ą
helis
ę
DNA otrzymujemy dzi
ę
ki wi
ą
zaniom zasad komplementarnych
(wi
ą
zania wodorowe, H-bond). Ze wzgl
ę
du na budow
ę
helisy, mo
ż
liwe s
ą
purynowo-
pirymidowe pary zasad. Jednym ze składników musi by
ć
puryna, drugim za
ś
piramidyna. Powstawanie par zasad (hybrydyzacja, parowanie) jest dodatkowo
ograniczone warunkami tworzenia si
ę
wi
ą
za
ń
wodorowych. Atomy wodoru w
zasadach zajmuj
ą
dokładnie zdefiniowane poło
ż
enie. Adenina nie mo
ż
e tworzy
ć
pary z cytozyn
ą
, gdy
ż
w jednej z pozycji wi
ążą
cych mogłyby znajdowa
ć
si
ę
dwa
wodory, natomiast w drugim brakowałoby wodoru (komplementarno
ść
zasad).
Podobnie guanina nie mo
ż
e tworzy
ć
pary z tymin
ą
. Mo
ż
liwe jest utworzenie
nast
ę
puj
ą
cych par: A-T (adenina-tymina) oraz G-C (guanina-cytozyna).
Pomi
ę
dzy zasadami wyst
ę
puj
ą
wi
ą
zania wodorowe:
podwójne pomi
ę
dzy A i T,
potrójne pomi
ę
dzy G i C.
Rdze
ń
DNA jest stały dla całej cz
ą
steczki i składa si
ę
z reszt deoksyrybozy
poł
ą
czonych resztami fosforanowymi. Zasady purynowe i pirymidowe znajduj
ą
si
ę
wewn
ą
trz ła
ń
cucha, a fosforany i reszty deoksyrybozy – na zewn
ą
trz helisy. Zasady
s
ą
skr
ę
cone wzgl
ę
dem siebie pod k
ą
tem 36˚. Zatem na całkowity skr
ę
t helisy
przypada 10 nukleotydów w ka
ż
dym ła
ń
cuchu.
Ła
ń
cuch DNA wykazuje polarno
ść
. Jeden z jego ko
ń
ców ma grup
ę
5’-OH, drugi
3’-OH. Przyjmuje si
ę
,
ż
e niezwi
ą
zana grupa 5’-OH jest ulokowana w nukleotydzie
znajduj
ą
cym si
ę
po lewej stronie zapisu, natomiast grupa 3’-OH po prawej stronie.
Zasady zapisujemy, wi
ę
c w kierunku 5’->3’.
Obie nici DNA maj
ą
przeciwn
ą
orientacj
ę
- s
ą
antyrównoległe. Znaj
ą
c jeden ła
ń
cuch,
mo
ż
na odtworzy
ć
drugi poprzez operacj
ę
odwrotnego dopełnienia (reverse
complementation).
5’ … TAGACTTAGGC … 3’
3’ … ATCTGAATCCG … 5’
Jest to podstawa mechanizmu replikacji DNA w komórkach. W procesie replikacji,
bior
ą
udział enzymy, zwane polimerazami DNA, które w procesie tym czerpi
ą
instrukcje od matrycowych ła
ń
cuchów DNA.
Dwuniciowa helisa stabilizowana jest przez wi
ą
zania wodorowe mi
ę
dzy
komplementarnymi zasadami. Po ich zerwaniu dwa ła
ń
cuchy DNA z łatwo
ś
ci
ą
si
ę
rozdzielaj
ą
. Efekt ten mo
ż
na uzyska
ć
, przez ogrzewanie roztworu DNA, jego
zakwaszaniu albo alkalizacj
ę
, powoduj
ą
ce jonizacj
ę
zasad tzw. denaturacj
ę
. Proces
rozplatania dwuniciowej helisy nazywamy topnieniem. Temperatura topnienia zale
ż
y
od ilo
ś
ci odpowiednich par zasad. Musi by
ć
ona wy
ż
sza, gdy mamy wi
ę
cej par G-C,
które s
ą
stabilniejsze od par A-T.
1.1. Reakcja ła
ń
cuchowa polimerazy (PCR – polymerase chain reaction)
Reakcja PCR opracowana została przez K.B. Mullisa i M. Smitha, którzy otrzymali za
to odkrycie Nagrod
ę
Nobla w dziedzinie chemii w 1993 roku. Jest to reakcja
powielania (amplifikacji) okre
ś
lonej sekwencji DNA. Reakcja PCR wykorzystuje
enzym (polimeraz
ę
DNA), który jest katalizatorem syntezy pojedynczego ła
ń
cucha
DNA. Polega ona na rozpleceniu podwójnego ła
ń
cucha (etap denaturacji). Etap
anilingu: hybrydyzacja primera komplementarnego do ko
ń
ca 5’ pojedynczego
ła
ń
cucha DNA. Kolejny etap: polimeryzacja – do ko
ń
ca 3’ primera zostanie
dobudowana komplementarna ni
ć
DNA. W efekcie tych trzech etapów powstanie
dwuniciowa helisa. Poszczególne etapy zwi
ą
zane s
ą
ze zmian
ą
temperatury,
dlatego w reakcji PCR wykorzystywana jest polimeraza odporna na wysok
ą
temperatur
ę
.
Jednokrotna reakcja podwaja liczb
ę
kopii. Wielokrotne zastosowanie reakcji PCR
powoduje ekspotencjalny przyrost liczby kopii. Bł
ę
dy w procesie powielania
wyst
ę
puj
ą
bardzo rzadko, mniej wi
ę
cej raz na 10 miliardów zreplikowanych zasad.
1.2 Sekwencjonowanie
Metoda ta, wynaleziona przez naukowców ameryka
ń
skich i brytyjskich w roku 1977,
polega na podziale cz
ą
steczki DNA na fragmenty a nast
ę
pnie na odczytaniu
sekwencji nukleotydów, z których składa si
ę
ta cz
ą
steczka.
Istnieje wiele metod sekwencjonowania. Przykładowe metody:
1. Elektroforeza DNA w
ż
elu agarozowym – fragmenty ła
ń
cuchów DNA
umieszczamy w 4 kieszonkach i poddajemy działaniu silnego pola
elektrycznego, na skutek czego fragmenty DNA migruj
ą
w
ż
elu w kierunku
elektrody dodatniej (DNA ma ładunek ujemny) z szybko
ś
ci
ą
zale
ż
n
ą
od ich
wielko
ś
ci i kształtu. Nast
ę
pnie odczytujemy sekwencj
ę
na podstawie
kolejno
ś
ci pr
ąż
ków. Metoda nie jest pozbawiona bł
ę
dów.
2. Sekwencjonowanie przez hybrydyzacj
ę
– wykorzystujemy mo
ż
liwo
ść
tworzenia helisy z pojedynczej nici. Chcemy odczyta
ć
sekwencj
ę
nukleotydów
pojedynczej nici o długo
ś
ci n. Wprowadzamy j
ą
do roztworu wraz z pełn
ą
bibliotek
ą
oligonukleotydów o długo
ś
ci k (k<<n). Oligonukleotydy, które
wykrywamy na podstawie fluorescencji, przył
ą
czaj
ą
si
ę
do ła
ń
cucha. Po
przył
ą
czeniu mo
ż
emy na podstawie barwy przył
ą
czonych oligonukleotydów
odczyta
ć
szukan
ą
sekwencj
ę
ła
ń
cucha. Bibliotek
ę
nukleotydów mo
ż
na
stworzy
ć
na specjalnym chipie.
Bioinformatyka
(bioinformatics, biocomputing) zajmuje si
ę
symulacjami
komputerowymi w biochemii i biologii molekularnej, tworzeniem i zarz
ą
dzaniem
bazami danych, poszukiwaniem, wyci
ą
ganiem, analiz
ą
i interpretacj
ą
informacji z
biologicznych baz danych, tworzeniem nowych algorytmów i metod statystycznych
do analizy danych biologicznych oraz innymi technikami informatycznymi
zwi
ą
zanymi z naukami biologicznymi.
Informatyka DNA (DNA computing) okre
ś
lana równie
ż
jako informatyka
molekularna, jest now
ą
alternatyw
ą
dla równoległych systemów komputerowych. Jej
pocz
ą
tek si
ę
ga 1994 roku, kiedy to Leonard M. Adleman (współtwórca znanego
algorytmu szyfrowania asymetrycznego RSA) po raz pierwszy zademonstrował
mo
ż
liwo
ść
wykorzystania cz
ą
steczek molekularnych do rozwi
ą
zywania problemów
matematycznych. Z u
ż
yciem cz
ą
steczek DNA rozwi
ą
zał on siedmiowierzchołkowy
(14 dróg) problem poszukiwania
ś
cie
ż
ki Hamiltona.
Ś
cie
ż
ka Hamiltona jest
ś
cie
ż
k
ą
wychodz
ą
c
ą
z dowolnego, ustalonego wierzchołka
grafu i przechodz
ą
c
ą
przez wszystkie wierzchołki dokładnie jeden raz (przez
pojedyncz
ą
kraw
ę
d
ź
mo
ż
e przej
ść
wielokrotnie).
Ś
cie
ż
ka ko
ń
czy si
ę
w ustalonym
wierzchołku docelowym (w przypadku cyklu Hamiltona jest to ten sam wierzchołek,
w którym rozpocz
ę
to poszukiwanie).
Algorytm Leonarda Adlemana dla grafu o n wierzchołkach:
I)
Stwórz du
ż
y zbiór losowych
ś
cie
ż
ek, przechodz
ą
cych przez graf.
II)
Dla ka
ż
dej
ś
cie
ż
ki sprawd
ź
, czy:
a) zaczyna si
ę
w wierzchołku pocz
ą
tkowym i ko
ń
czy w docelowym, je
ż
eli
nie to usu
ń
j
ą
ze zbioru,
b) przechodzi dokładnie przez n wierzchołków, je
ż
eli nie to usu
ń
j
ą
ze
zbioru,
c) przechodzi dokładnie przez ka
ż
dy wierzchołek, je
ż
eli nie to usu
ń
j
ą
ze
zbioru.
I)
Je
ż
eli powstały zbiór zawiera elementy to istnieje szukana
ś
cie
ż
ka
Hamiltona, w przeciwnym razie (zbiór jest pusty)
ś
cie
ż
ka nie istnieje.
Problem ten zaliczamy do grupy problemów NP-zupełnych, których nie mo
ż
na
rozwi
ą
za
ć
w czasie wielomianowym. Adleman rozwi
ą
zał ten problem generuj
ą
c
wszystkie mo
ż
liwe kombinacje jako odr
ę
bne ła
ń
cuchy DNA. Dla siedmiu
wierzchołków rozwi
ą
zanie jest trywialne i mo
ż
na je szybko otrzyma
ć
, stosuj
ą
c
normalne komputery lub obliczaj
ą
c r
ę
cznie. Przykład ten ilustruje jednak potencjalne
mo
ż
liwo
ś
ci komputerów i informatyki DNA.
Inne do
ś
wiadczenie przeprowadzone w Mount Sinai School of Medicine w Nowym
Yorku pokazuje mo
ż
liwo
ść
wykonywania operacji dodawania liczb binarnych
reprezentowanych przez ła
ń
cuchy DNA. Powstał równie
ż
komputer DNA, z którym
mo
ż
na zagra
ć
w gr
ę
„kółko i krzy
ż
yk”.
W 2000 w Princeton przedstawiono mo
ż
liwo
ść
zastosowania cz
ą
steczek RNA do
rozwi
ą
zywania problemów (problem skoczków szachowych na szachownicy o
wielko
ś
ci 3x3) oraz budowy komputerów molekularnych.
2. Komputer DNA
Komputer DNA (molekularny) jest to zbiór specjalnie wyselekcjonowanych
ła
ń
cuchów DNA, których kombinacja spowoduje rozwi
ą
zanie postawionego
problemu. Nadziej
ą
pokładan
ą
w komputerach DNA jest ich wysoki stopie
ń
równoległo
ś
ci, co potencjalnie powinno umo
ż
liwi
ć
rozwi
ą
zanie problemów
wymagaj
ą
cych wielu oblicze
ń
poprzez obliczenia równoległe.
W 1973 roku Charles Benett zaproponował model programowalnego komputera
molekularnego zdolnego do realizacji dowolnego algorytmu. W praktyce pierwsze
komputery powstały w 2001 roku. Autorami jednego z nich s
ą
naukowcy z Instytutu
Weizmanna w Rehovot, którzy wykorzystali w swoich do
ś
wiadczeniach cz
ą
steczki
DNA, które pełni
ą
zarówno rol
ę
„oprogramowania”, sygnału wej
ś
cia-wyj
ś
cia, jak
równie
ż
dostarczaj
ą
potrzebnej energii. W roku 2003 komputer ten został
udoskonalony i osi
ą
gał pr
ę
dko
ść
reakcji molekularnych 330 TFLOPS w obj
ę
to
ś
ci 5
mililitrów (mała ły
ż
eczka płynu). W komputerze tym rol
ę
sprz
ę
tu pełni
ą
enzymy
restrykcyjne, które rozpoznaj
ą
ś
ci
ś
le okre
ś
lone sekwencje DNA i w ich obr
ę
bie
przecinaj
ą
cz
ą
steczk
ę
.
Równie
ż
w Polsce trwaj
ą
badania nad stworzeniem komputera molekularnego. W
roku 2002 we Wrocławiu powstała tzw. Grupa Inicjatywna Konstrukcji Prototypu
Opartego na DNA.
2.1. Komputery DNA a komputery tradycyjne
Porównanie komputerów tradycyjnych i komputerów zbudowanych z cz
ą
steczek
DNA jest bardzo trudne i mo
ż
e doprowadzi
ć
w wielu sytuacjach do rozbie
ż
nych
wyników. Poni
ż
sze dane nale
ż
y zatem traktowa
ć
jedynie jako dane przybli
ż
one.
DNA jako no
ś
nik informacji – pojemno
ść
pami
ę
ci biologicznej jest znacznie wi
ę
ksza
ni
ż
stosowanych dzisiaj no
ś
ników. Małe rozmiary DNA sprawiaj
ą
,
ż
e w obj
ę
to
ś
ci 1
mm
3
mie
ś
ci si
ę
10 mld MB informacji – 10 PB (zakładaj
ą
c,
ż
e jedna para
nukleotydów stanowi jeden bit informacji – 0 lub 1). Jeden gram DNA zawiera 10
21
zasad DNA, co odpowiada 10
8
TB danych. Kilka gramów DNA mo
ż
e kodowa
ć
wszystkie informacje dost
ę
pne na ziemi.
DNA jako superkomputer. Zakładaj
ą
c,
ż
e przoduj
ą
ce komputery umo
ż
liwiaj
ą
działania z pr
ę
dko
ś
ci
ą
100 MIPS (milion instrukcji na sekund
ę
), ła
ń
cuchy DNA
działaj
ą
z pr
ę
dko
ś
ci
ą
ponad
10 razy 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, wykonuj
ą
cych miliard operacji na sekund
ę
.
Komputery DNA nie potrzebuj
ą
zasilania elektrycznego i s
ą
wysoce
energooszcz
ę
dne.
Na podstawie tych informacji wida
ć
,
ż
e komputery DNA stanowi
ą
ciekaw
ą
alternatyw
ę
dla komputerów stacjonarnych.
2.2. Kodowanie DNA a kodowanie binarne
W przypadku kodowania binarnego operujemy dwoma bitami 0 i 1. W przypadku
kodowania DNA mamy mo
ż
liwo
ść
skorzystania z 4 nukleotydów A,T,G,C.
W zale
ż
no
ś
ci, ile znaków b
ę
dziemy chcieli zakodowa
ć
, taki długi b
ę
dzie ci
ą
g
nukleotydów przypadaj
ą
cy na ka
ż
dy znak. W przypadku, gdy chcemy zakodowa
ć
64
ró
ż
ne znaki potrzebujemy ci
ą
gu składaj
ą
cego si
ę
z 3 nukleotydów.
Mo
ż
emy równie
ż
traktowa
ć
A i T jako 0 a G i C jako 1. Korzystaj
ą
c z alfabetu ASCII
znak A mo
ż
na zapisa
ć
jako 65
10
=1000001
2
=GTTATAC. Nie musimy tworzy
ć
specjalnego alfabetu. W tym przypadku nie wykorzystujemy czterech zasad do
kodowania tylko dwie.
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). Zapobiega to sytuacji, w której charakterystyczny kawałek tekstu, mógłby
by
ć
traktowany przez kryptoanalityka jako nowy primer. Dzi
ę
ki temu mógłby on
otrzyma
ć
cz
ęść
szukanego tekstu. Inn
ą
mo
ż
liwo
ś
ci
ą
jest zastosowanie kompresji lub
innej metody do zmiany układu liter w tek
ś
cie jawnym przed jego zamian
ą
na ci
ą
g
nukleotydów. Metoda ta podobnie jak klucz nie mo
ż
e zosta
ć
ujawniona.
3. DNA a ochrona danych
Biotechnologia znajduje swoje zastosowanie równie
ż
w zagadnieniach zwi
ą
zanych z
ochron
ą
danych.
DNA mo
ż
e by
ć
wykorzystywane w:
kryptografii – stosowany algorytmy jednorazowy (one-time-pad) z
wykorzystaniem operacji podstawienia lub XOR,
steganografii – bezpieczne ukrycie wiadomo
ś
ci a nast
ę
pnie jej odtworzenie
dzi
ę
ki posiadanej wiedzy o kluczu,
tworzeniu molekularnej sumy kontrolnej z wykorzystaniem obrazów
ż
elowych,
jako odpowiednik skrótu (funkcji haszuj
ą
cej), wykorzystany do znakowania
przedmiotów,
systemach identyfikacji osób,
kryptoanalizie – do łamania konwencjonalnych algorytmów symetrycznych
(np.DES) oraz asymetrycznych.
3.1. Kryptografia DNA
Algorytm jednorazowy (One-time-pad)
Tekst jawny jest szyfrowany przy u
ż
yciu cz
ą
steczek DNA za pomoc
ą
algorytmu
jednorazowego, który po spełnieniu trzech podstawowych warunków jest
algorytmem zapewniaj
ą
cym bezwzgl
ę
dne bezpiecze
ń
stwo. Trzy podstawowe
warunki, które musi spełnia
ć
ła
ń
cuch DNA stanowi
ą
cy klucz:
musi by
ć
przynajmniej tak długi jak szyfrowany tekst (przy du
ż
ym
upakowaniu danych w cz
ą
steczkach DNA nie stanowi to wi
ę
kszego
problemu),
musi by
ć
losowy,
mo
ż
e by
ć
u
ż
yty tylko jeden raz.
Zanim zaczniemy szyfrowanie za pomoc
ą
tej metody musimy stworzy
ć
długi ła
ń
cuch
DNA (klucz) zbudowany z losowo wybranych krótkich sekwencji oligonukleotydów.
Ten ła
ń
cuch stanowi podstaw
ę
naszej metody. B
ę
dzie u
ż
ywany jako tablica (klucz),
za pomoc
ą
, której b
ę
dziemy szyfrowa
ć
i deszyfrowa
ć
wiadomo
ś
ci. Musi by
ć
ona
znana przez obie komunikuj
ą
ce si
ę
strony (łatwo
ść
w wymianie stanowi tutaj
mikroskopijna wielko
ść
tego ła
ń
cucha) i nie mo
ż
e by
ć
ujawniona nikomu innemu.
Metoda podstawieniowa
Tekst wej
ś
ciowy stanowi
ą
cy ci
ą
g binarny o długo
ś
ci n dzielony jest na ci
ą
gi 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.
Szyfrowanie za pomoc
ą
metody podstawieniowej polega na zamianie ka
ż
dego ci
ą
gu
wej
ś
ciowego na podstawie tablicy podstawieniowej na tekst wyj
ś
ciowy
(zaszyfrowany). Deszyfrowanie jest operacj
ą
odwrotn
ą
.
Zastosowanie cz
ą
steczek DNA w algorytmie.
Tekst wej
ś
ciowy – probówka zawieraj
ą
ca krótkie odcinki DNA.
Tekst zaszyfrowany – 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.
Budowa tablicy podstawieniowej:
Tworzymy długi ła
ń
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 oraz ci
ą
gu
znaków reprezentuj
ą
cych odpowiadaj
ą
cy mu tekst zaszyfrowany.
Reprezentacja ła
ń
cucha:
Długo
ść
ła
ń
cucha: n.
Ka
ż
dy segment to odcinek ograniczony z obu stron stoperem. Ła
ń
cuch składa si
ę
z
d = n / (L1+L2+L3) powtarzaj
ą
cych si
ę
segmentów.
B
i
– ci
ą
g o długo
ś
ci L1=c
1
log n, reprezentuj
ą
cy tekst zaszyfrowany.
C
i
– ci
ą
g o długo
ś
ci L2=c
2
log n, reprezentuj
ą
cy tekst jawny.
Ka
ż
dy segment unikalnie odwzorowuje ci
ą
g tekstu jawnego na ci
ą
g zaszyfrowany.
STOP – primer - ci
ą
g nukleotydów o długo
ś
ci L3=c
3
.
Chc
ą
c wygenerowa
ć
sekwencj
ę
nukleotydów, odpowiadaj
ą
cych tekstowi
zaszyfrowanemu na podstawie tej tablicy, jako primera 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.
3.2 Steganografia DNA
Ludzie ju
ż
od czasów staro
ż
ytnych posiadali tajemnice, które chcieli ukry
ć
przed
innymi. W wielu przypadkach uciekali si
ę
do metod, które powodowały,
ż
e tekst był
niewidoczny dla innych. Przykładem mo
ż
e by
ć
tutaj atrament sympatyczny, u
ż
ywany
przez szpiegów czy te
ż
miniaturowe zdj
ę
cia wklejane do dokumentów jako kropki
ko
ń
cz
ą
ce zdania. Taki sposób ukrywania tekstu nazywamy steganografi
ą
.
Prezentowany algorytm wykorzystuje w tym przypadku cz
ą
steczki DNA.
Metoda I
Ukrywanie informacji
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 pozosta
ć
tajny.
4.
Klucz kodujemy według tego samego alfabetu, którego u
ż
yli
ś
my do
kodowania tekstu jawnego. Klucz stanowi starter (primer), który umo
ż
liwia
znalezienie tekstu w
ś
ród innych cz
ą
steczek DNA poprzez zastosowanie
reakcji PCR. 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
sprawdzi
ć
4
20
(2
40
) mo
ż
liwych primerów, aby odnale
źć
wiadomo
ść
. Nie jest to
a
ż
tak du
ż
o, wi
ę
c najlepiej aby ci
ą
g reprezentuj
ą
cy klucz składał si
ę
z ponad
35 nukleotydów. Przyjmuj
ą
c 4 nukleotydy na jeden znak, klucz powinien mie
ć
około 9 znaków.
5.
Budujemy ni
ć
klucz_komplementarny-tekst-klucz_komplementarny oraz drug
ą
ni
ć
, któr
ą
stanowi klucz.
Przykładowe metody tworzenia pojedynczych nici DNA:
•
synteza na podło
ż
u stałym,
•
metoda fotolitograficzna.
5. Wykonujemy reakcj
ę
PCR, na skutek czego otrzymujemy dwuniciow
ą
cz
ą
steczk
ę
DNA.
6. Stworzon
ą
cz
ą
steczk
ę
umieszczamy w
ś
ród wielu innych cz
ą
steczek o
podobnej budowie.
Druga strona musi zna
ć
alfabet, którego u
ż
yto do kodowania oraz klucz (primer).
Trudno
ść
odnalezienia tekstu polega na przejrzeniu ogromnej ilo
ś
ci cz
ą
steczek
DNA. Odnalezienie wła
ś
ciwej cz
ą
steczki w tym przypadku jest równoznaczne ze
złamaniem tej metody i odnalezieniem szukanego tekstu jawnego.
Odczytywanie ukrytej informacji
1. Chc
ą
c znale
źć
wła
ś
ciw
ą
cz
ą
steczk
ę
DNA nale
ż
y wykona
ć
reakcj
ę
PCR,
u
ż
ywaj
ą
c ła
ń
cucha nukleotydów reprezentuj
ą
cego klucz jako primera.
Reakcj
ę
PCR nale
ż
y przeprowadzi
ć
wielokrotnie, w celu zwielokrotnienia
liczby 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 kodowali
ś
my tekst jawny w fazie ukrywania informacji.
Najlepiej wyja
ś
ni
ć
t
ą
metod
ę
na przykładzie.
Chcemy ukry
ć
tekst jawny IT. Po zamianie tekstu na ci
ą
g nukleotydów, otrzymujemy
nast
ę
puj
ą
cy ci
ą
g: TATAGTCC.
Tworzymy hasło H2 (ze wzgl
ę
du na czytelno
ść
przykładu hasło składa si
ę
tylko z
dwóch znaków, natomiast w praktyce powinno by
ć
dłu
ż
sze). Po zamianie na ci
ą
g
nukleotydów ma ono posta
ć
: TTACACCA.
Nast
ę
pnie 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
ą
.
Odbiorca musi równie
ż
dokona
ć
zamiany hasła na ci
ą
g nukleotydów. Nast
ę
pnie po
otrzymaniu probówki wielokrotnie wykonuje reakcj
ę
PCR, jako primer stosuj
ą
c ci
ą
g
nukleotydów reprezentuj
ą
cych hasło.
Rysunek 1. Działanie reakcji PCR.
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. Bezpiecze
ń
stwo
tej metody oparte jest na tajno
ś
ci klucza.
Najtrudniejsz
ą
i najdro
ż
sz
ą
reakcj
ą
z punktu widzenia biologii jest tworzenie długich
nici o okre
ś
lonej sekwencji nukleotydów.
Metoda II
Inne podej
ś
cie podobne jest do kryptografii wizualnej. Tekstu nie zamieniamy teraz
według specjalnego alfabetu, lecz pewne odcinki DNA lub pojedyncze nukleotydy s
ą
w tym przypadku odpowiednikami zer i jedynek. Równie
ż
w tym przypadku
cz
ą
steczk
ę
, któr
ą
chcemy ukry
ć
umieszczamy w
ś
ród wielu innych cz
ą
steczek.
Wszystkie cz
ą
steczki maj
ą
jednak podobn
ą
budow
ę
. Na pocz
ą
tku i ko
ń
cu znajduje
si
ę
primer – ten sam dla wszystkich cz
ą
steczek. W poprzedniej metodzie primer
u
ż
ywany był jako klucz potrzebny do deszyfrowania wiadomo
ś
ci. W tym przypadku
nie odgrywa on takiej roli. Jest on potrzebny, aby umo
ż
liwi
ć
wykonanie w
pó
ź
niejszym etapie reakcji PCR. To wła
ś
nie pola pomi
ę
dzy primerami w fikcyjnych
ła
ń
cuchach s
ą
u
ż
ywane zarówno do szyfrowania jak i deszyfrowania wła
ś
ciwego
tekstu. Wykonuj
ą
c elektroferez
ę
ż
elu otrzymujemy dla ka
ż
dej cz
ą
steczki oddzielne
obrazy dla 0 i 1.
Ukrywanie wiadomo
ś
ci
Nadawca tworzy cz
ą
steczk
ę
DNA z tekstem jawnym oraz primerem na jego
pocz
ą
tku i ko
ń
cu. Nast
ę
pnie preparuje inne cz
ą
steczki, które maj
ą
podobn
ą
budow
ę
(długo
ść
, primery). Na podstawie obrazu
ż
elowego tych cz
ą
steczek (a) budowana
jest cz
ą
steczka X (b) stanowi
ą
ca zaszyfrowany tekst. Cz
ą
steczka X powstaje przez
zmieszanie cz
ą
steczek A,B,C. Nast
ę
pnie nadawca tworzy cz
ą
steczk
ę
Y (b), która
powstaje przez zmieszanie cz
ą
steczek B i C. Stanowi ona klucz potrzebny do
odczytania zaszyfrowanego tekstu. Nadawca musi przekaza
ć
odbiorcy t
ą
cz
ą
steczk
ę
lub jej obraz
ż
elowy.
Odkrywanie wiadomo
ś
ci
Za pomoc
ą
elektroforezy
ż
elu otrzymujemy obraz
ż
elowy cz
ą
steczek X oraz Y.
Nast
ę
pnie odejmujemy od siebie obrazy X i Y, aby otrzyma
ć
wiadomo
ść
–
cz
ą
steczk
ę
A (c).
Ta metoda mo
ż
e by
ć
równie
ż
ł
ą
czona z innymi metodami jak np. wcze
ś
niej
omówion
ą
metod
ą
steganografii. Cz
ą
steczki ze wspólnym primerem, potrzebne do
odszyfrowania wiadomo
ś
ci mog
ą
by
ć
umieszczane w
ś
ród wielu innych cz
ą
steczek o
innej budowie. Primer musi stanowi
ć
wtedy tajemnic
ę
.
Przykładowe obrazy
ż
elowe (odczytujemy od dołu do góry):
M - molekularny znacznik wagowy.
Na obrazie
ż
elowym a) mamy przedstawione 3 cz
ą
steczki reprezentuj
ą
ce 9-bitowe
liczby.
1 i 2 = 100000110
2
= 26210 - ten ci
ą
g chcemy ukry
ć
3 i 4 = 001100001
2
= 9710
6 i 7 = 101001001
2
= 32910
Obraz
ż
elowy b przedstawia cz
ą
steczki X (zmieszane A,B i C) i Y (cz
ą
steczki B i C).
Obraz c) prezentuje cz
ą
steczk
ę
A, któr
ą
otrzymali
ś
my przez odj
ę
cie Y od X.
Stworzony został równie
ż
, jak na razie czysto teoretyczny model algorytmu
szyfrowania asymetrycznego z wykorzystaniem DNA.
3.3 Skrót z u
ż
yciem DNA
Wszystkie numery seryjne sprz
ę
tu, płyt muzycznych, płyt z oprogramowaniem
mo
ż
na by kodowa
ć
w postaci cz
ą
steczek DNA a nast
ę
pnie doł
ą
cza
ć
do przedmiotu,
którego numer ten dotyczy. Wtedy numer seryjny stałby si
ę
cz
ęś
ci
ą
fizyczn
ą
sprz
ę
tu
i płyt. Takie oznaczenia zastosowano na szerok
ą
skal
ę
na olimpiadzie w Sydney.
Wszystkie towary zwi
ą
zane z olimpiad
ą
: koszulki, czapeczki a nawet kubki do kawy
zostały oznaczone specjalnym atramentem, zawieraj
ą
cym DNA australijskiego
sportowca. Do sprawdzenia autentyczno
ś
ci przedmiotów słu
ż
ył skaner r
ę
czny. W ten
sposób oznaczono ponad 50 milionów przedmiotów. Koszt oznaczenia jednego
przedmiotu wyniósł 5 centów.
3.4 Identyfikacja z u
ż
yciem DNA
Cz
ą
steczki DNA wykorzystywane s
ą
do identyfikacji ludzi, szczególnie w
kryminalistyce. Fakt,
ż
e ka
ż
dy człowiek ma unikalny kod DNA odkrył w 1985 roku
Alec Jeffreys. Ju
ż
rok pó
ź
niej test DNA pozwolił skaza
ć
pierwszych przest
ę
pców. W
Polsce identyfikacj
ę
genetyczn
ą
ś
ladów zastosowano na pocz
ą
tku lat 90. m.in. w
sprawie zabójstwa taksówkarza w Katowicach w 1994 roku. W przypadku bada
ń
zwi
ą
zanych z popełnieniem przest
ę
pstwa wykorzystuje si
ę
introny, czyli tzw.
niekoduj
ą
ce fragmenty ła
ń
cucha DNA. Nie zawieraj
ą
one informacji o cechach
człowieka a jednocze
ś
nie umo
ż
liwiaj
ą
porównanie dwóch fragmentów DNA i
stwierdzenie z du
ż
ym prawdopodobie
ń
stwem czy pochodz
ą
od tej samej osoby.
Wystarczy porówna
ć
próbk
ę
pobran
ą
z miejsca przest
ę
pstwa z t
ą
uzyskan
ą
od
oskar
ż
onego. Przykładowa metoda to analiza VNTR (Variable Number of Tandem
Repeats) polegaj
ą
ca na wyszukaniu w ła
ń
cuchu DNA szeregu identycznych
sekwencji (np.CACACA) i zliczaniu ich długo
ś
ci (ilo
ś
ci powtórze
ń
par). Liczba takich
powtórze
ń
jest ró
ż
na i charakterystyczna dla danej osoby. Inne zastosowanie tych
metod to testy w sprawach o ustalenie ojcostwa oraz badania medyczne (schorzenia
genetyczne). Podobne metody mogłyby by
ć
równie
ż
wykorzystywane jako
biometryczne metody uwierzytelniania u
ż
ytkowników w systemach. Istnieje taka
mo
ż
liwo
ść
, lecz w porównaniu z identyfikacj
ą
na podstawie obrazu t
ę
czówki wydaje
si
ę
by
ć
dro
ż
sza, trudniejsza w implementacji i zarz
ą
dzaniu oraz wykazuje wi
ę
ksze
prawdopodobie
ń
stwo bł
ę
du identyfikacji.
3.5 Kryptoanaliza algorytmów z wykorzystaniem cz
ą
steczek DNA
Interesuj
ą
ca jest równie
ż
mo
ż
liwo
ść
wykorzystania komputerów molekularnych w
kryptoanalizie, dzi
ę
ki ich wysokiemu stopniu zrównoleglenia. Leonard M. Adleman
pokazał,
ż
e komputer DNA o wielko
ś
ci kilku probówek umo
ż
liwia odnalezienie klucza
o długo
ś
ci 2
56
(metoda przeszukiwania wyczerpuj
ą
cego, atak brutalny) algorytmu
DES. Rozwi
ą
zanie to nie jest jednak pozbawione wad. Problem w tym przypadku
stanowi implementacja algorytmu w biochemii oraz dokładno
ść
wykonywania
oblicze
ń
z wykorzystaniem cz
ą
steczek DNA. Nale
ż
y równie
ż
pami
ę
ta
ć
,
ż
e
komputery molekularne mog
ą
jedynie przyspieszy
ć
rozwi
ą
zywanie problemów,
poprzez wysoki stopie
ń
równoległo
ś
ci. Dla dłu
ż
szych kluczy równie
ż
komputery
molekularne nie umo
ż
liwiaj
ą
odnalezienia klucza. Przykładowo Beaver zgodnie z
podej
ś
ciem Adlemana (atak brutalny) oszacował,
ż
e komputer potrzebny do
faktoryzacji 1000-bitowej liczby miałby pojemno
ść
10
200000
litrów.
Literatura
[1]
Stryer Lubert, Biochemia. PWN, Warszawa 1999
[2]
Stepkiewicz O., Flohr M., Spirala bitów i bajtów CHIP, Grudzie
ń
2000
[3]
Adleman Leonard, Computing with DNA, 1998,
http://www.usc.edu/dept/molecular-science/fp-sciam98.pdf
[4]
Adleman Leonard, Molecular Computations Of Solutions To Combinatorial
Problems.,
http://www.usc.edu/dept/molecular-science/fp-sci94.pdf
[5]
Adleman Leonard, Rothemund Paul W. K., Roweis Sam , Winfree Erik, On
Applying Molecular Computation To The Data Encryption Standard., 1999,
http://www.usc.edu/dept/molecular-science/fp-des96.pdf
[6]
Unold Olgierd, Wrocławski komputer molekularny,
http://pryzmat.pwr.wroc.pl/Pryzmat_170/170dna.html
[7]
Richter Ch., Leier A., Banzhaf W., Rauhe H., Private and Public Key DNA
steganography,
http://ls11
- www.cs.uni
- dortmund.de/people/banzhaf/PubKey.pdf
[8]
Gaurav Gupta, Nipun Mehra & Shumpa Chakraverty, DNA Computing, 2001,
http://www.theindianprogrammer.com/technology/dna_computing.htm