Blog

DNA Kriptografi

Merhabalar,

Yüksek lisans’ta DNA Kriptografi üzerine yaptığım araştırmayı sizinle paylaşmak istedim. Umarım faydalı olur.

Giriş

Günümüzde üretilen bilginin her gün artması ve bu bilgilerin güvenli şekilde depolanmaya çalışılsa da kullanılan sistemlerde bulunan güvenlik zafiyetleri sonucu kullanıcıların saklı kalması gereken kredi kartı, kimlik numaraları, sosyal güvenlik numaraları gibi özel bilgileri sürekli çeşitli kurum ve kuruluşlardan kötü niyetli kişiler tarafından ele geçirilmektedir. Bu olaylar teknolojinin daha da gelişmesi ve hayatımızın her alanına girmesi sonucunda son yıllarda oldukça büyük bir artış göstermiştir. Bir güvenlik şirketi tarafından yapılan veri sızıntısı istatistiklerine göz atacak olursak 2014 yılındaki veri sızıntısı tüm yılların zirvesindedir[2]. Bu yüzden bilginin güvenliğinin sağlanması gittikçe büyük bir önem kazanmaktadır.

Bilginin güvenliğini sağlamak için iletişim yöntemlerinde kullanılan yeni şifreleme yöntemler öncekilere göre güvenli sanılsada bu yöntemlerin sürekli açıkları bulunmaktadır. Bu bilgiler doğrultusunda genel olarak herhangi bir şifreleme yönteminin kırılamaz olmadığını, sonlu bir süre sonunda şifresinin kırılabileçeğini söyleyebiliriz[3]. Zamanla bilgisayarların işlem gücünün artması ile bu sonsuz sanılan sürelerde kısalacak ve bu durum yeni açıklar olarak karşımıza çıkacaktır. İşte bu yüzden şifreleme için yeni yöntem arayışları hale büyük bir hızla devam etmektedir. Bu yöntemlerden biride Deoksiribo Nükleik Asit kısaca DNA olan canlıların yaşam bilgilerinin tutulduğu moleküller DNA kriptografisi ile son yıllarda gelişme gösteren disiplinler arası çalışma ürünü olan bir alandır. Bir sonraki bölümde size DNA ile ilgili bilimsel çalışmalar hakkında bilgi verilecektir.

DNA

Son 20 yılda biyoloji, kimya gibi diğer bilim dallarındaki gelişmeler ve disiplinler arası çalışmalar sayesinde yaşamın kaynağı olan Deoksiribo Nükleik Asit’in veri ile ilgili işlemlerde kullanılabilceği ortaya çıkmıştır. DNA’nın basitçe bir tanımını yapacak olursak; tüm organizmalar ve bazı virüslerin canlılık işlevleri ve biyolojik gelişmeleri için gerekli olan genetik talimatları taşıyan bir nükleik asittir[1].

Şekil 1’de DNA’nın yapısı gösterilmiştir. DNA’da bulunan dört baz, adenin (A), sitozin (C), guanin (G) ve timin (T) olarak adlandırılır. Bu dört baz şeker-fosfata bağlanarak bir nükleotit oluşturur.

Şekil 1: DNA’nın kimyasal yapısı. Hidrojen bağları noktalı çizgiler olarak gösterilmiştir.

DNA’nın ilk ortaya çıkışı 1869’lara dayanmaktadır. Günümüzde ki yapısının tanımlanması ise Cambridge Üniversitesi 1953’te James D. Watson ve Francis Crick’in DNA üzerine yaptıkları çalışmalara dayanmaktadır [9]. 1964–65 yıllarında ise Mikhail Neiman tarafından yapılan çalışmalar DNA’nın yapısında veri saklayıp daha sonra bu veriyi geri elde etmenin mümkün olduğunu göstermiştir[10]. 1994 yılında ise Leonard Max Adleman tarafından yapılan çalışmalar DNA ile matematiksel hesaplamaların yapılabileceğini hatta bu sayede çözülmesi zor olan problemlerin daha hızlı çözülebileceğini ortaya koymuştur. 2012 yılında Harward üniversitesinde yapılan çalışmalar sonucunda DNA dan veri depoloma ve veriyi şifreli olarak saklayıp geri elde etme işlemleri %99.99’luk bir bşarı oranı ile tamamlanmıştır[4]. Bu çalışmada 1 gram DNA da yaklaşık olarak 108 terabaytlık veri saklanmış ve daha sonra veri geri dönüştürülmüştür. Bu çalışmadan önceki bazı çalışmalarda bunu ispatlamıştır fakat kapasite artışı önceki çalışmlara göre çok yüksek oluduğu için bu çalışma dünya çapında ses getirmiştir. Çalışma sırasında veri olarak çalışmayı yürüten profesörün kitabı (Regenesis: How Synthetic Biology Will Reinvent Nature and Ourselves) tüm resim ve yazılar dahil olmak üzere DNA içeriğine sentezlenmiş ve daha sonra DNA dan kitabın bir kaç kopyası üretilmiştir. Kitapta savundukları görüşlerine ters düşmemek için daha sonrasında profesör ve kitabı yazdığı arkadaşı karar alarak daha fazla kopya üretmemişlerdir. Daha sonrasında yeni çalışmalar ile saklanan veri kapasitesi daha da arttırılmıştır. Son yapılan çalışmada 6 gramlık DNA içerisinde 3,072 exabaytlık veri saklanmış ve geri dönüştürülmüştür[11]. 3,072 exabayt yaklaşık olarak 3,072,000,000 terabayt yapmaktadır. DNA bu özelliği sayesinde onlarca gram DNA içerisinde günümüze kadar üretilmiş olan tüm veriyi yıllarca saklayabilecek potansiyele sahiptir.

Profesör Church ve ekibinin DNA içerisine veriyi nasıl sentezledikleri Şekil 2’de gösterilmiştir. Veriyi bu şekilde DNA içine kodlama işleminde kullanılan DNA’lar sentetik DNA’lardır. Çünkü gerçek bir canlıya ait DNA mölekülü sentezleme sırasında oluşturulan bağları kabul etmeme riski vardır. Bu da saklanmak istenen verinin sentezlenme sırasında kaybolmasına neden olacağı için çalışmada sentetik DNA kullanılmıştır.

Şekil 2: DNA içerisine veri aktarmayı gösteren bir şema

DNA’nın bu kadar büyük ölçüde veriyi saklayabilmesinin yanında en büyük avantajlarından biri oda koşullarında yıllarca bozulmadan durabilmesidir. Bu çalışmayı yürüten Profesör Church’e göre DNA’yı oda koşullarında bıraktığınızda dahi 400,000 yıl sonra bile bozulmadan durabilecektir. Bu süre dünya üzerinde bulunmuş en eski fosilin DNA kalıntılarına aittir ve bozulmadan günümüze kadar gelebilmiştir[4]. Peki DNA’yı şifrelemede bu kadar önemli yapan kısımlara gelecek olursak bu konudan önce DNA hesaplaması yada DNA bilgisayarlarını ele almalıyız.

DNA Hesaplaması

DNA hesaplaması veya DNA bilgisayarı, geleneksel silikon temelli yapı bileşenleri veya bilgisayar teknolojileri yerine, DNA, biyokimya ve moleküler biyoloji kullanarak yapılan bir hesaplama biçimidir. Ayrıca yeni nesil bilgisayar olmaya adaydırlar. DNA hesaplaması veya daha genel olarak biyomoleküler hesaplama, hızla gelişen, disiplinler arası bir sahadır. Bu sahadaki araştırma ve geliştirmenin konuları, DNA hesaplamasının teorisi, uygulaması ve bu konuda yapılan deneyleri kapsar[5]. Leonard Max Adleman tarafından 1994 yılında, Directed Hamilton Path, Gezgin Satıcı Problemi gibi kompleks matematiksel problemlerin çözümü için icat edilmiştir. Adleman DNA’ların bu potansiyelini 1953 yılında DNA’nın yapısının bulunmasına katkı sağlayan James Watson tarafından yazılan “Molecular Biology of the Gene” isimli kitabı okuduktan sonra keşfetmiştir. Adleman ayrıca RSA daki A harfi ile de tanınmaktadır. Leonard Max Adleman sıklıkla DNA bilgisayarlarının mücidi olarak tanınmaktadır.

Peki DNA hesaplamasına neden ihtiyaç vardır bu soruya cevap arayacak olursak; Bilgisayar çip üreticileri en hızlı çipi üretebilmek için birbirleriyle hızlı bir yarış içerisindeler. Fakat er yada geç kısa bir süre içerisinde bu yarış, silikon çipler hız limiti sınırlarına ulaştıkları için bitecektir. Slikon, iskeletinde karbon (C) yerine ardışık olarak dizilmiş silisyum (Si) ve oksijen (O) atomları bulunan polimerlerin ortak adıdır. Bu yüzden çip üreticilerin hesaplama hızları daha yüksek olan yeni bir maddeye ihtiyacları vardır. İşte bu maddelerden biri yaşayan her organizmanın yapı taşı olan DNA’dır. Genlerimizde bulunan DNA meteryali dünya üzerinde bulunan insan yapımı süper bilgisayarlara göre çok daha hızlı hesaplamalar yapabilmektedir. DNA dan yapılmış bioçipler ilerleyen zamanlarda bilgisayar çiplerinin yerini alarak daha hızlı hesaplamalar gerçekleştirebileceklerdir. DNA’lar bu hesaplama işleminin yanında genlerimize ait bilgileri yıllarca bünyesinde barındırarak bir nevi depolama görevi görmektedir.

Adleman DNA’nın bu özelliğini gösterebilmek için gezgin satıcı problemini DNA yardımıyla çözmeye çalışmış ve başarılı olmuştur. Problem içerisinde 7 şehir seçmiş ve bu şehirler arasında ki en kısa yolu bulmaya çalışmıştır. Bu matematiksel problemi çözerken DNA test tüplerini kullanmış ve şu adımları izlemiştir;

  1. DNA iplikleri ile yedi şehiri temsil etmiştir. Genlerde, genetik kodlama harfleri A, T, C ve G dir. Her şehir ve şehirler arası yolları bu dört harfin sırası ile temsil edilmiştir.
  2. Bu moleküller daha sonra, bir test tüpü içinde karıştırılmıştır. Tüp içindeki bazı DNA iplikleri birbirine yapışmıştır. Bu ipliklerin oluşturduğu zincirlerden her biri olası bir cevabı temsil etmektedir.
  3. Birkaç saniye içinde yanıtları temsil eden DNA iplikçiklerinin olası kombinasyonlarının tümü test tüpünün içerisinde bulunmaktadır.
  4. Adleman daha sonrasında sadece yedi şehri birbirine bağlayan zincirler kalacak şekilde yanlış molekül reaksiyonlarını elemiş ve sonucu elde etmiştir.

Tabiki yapılan bu ilk çalışma hız olarak oldukça düşüktür. Fakat ileriye dönük problemler için düşünecek olursa DNA ile NP-Hard diye nitelendirdiğimiz çözümü zor olan problemleri çözebileceğimiz kanıtlanmıştır.

Adleman’ın yaptığı bu deneyden üç yıl sonra DNA’dan yapılmış mantık kapıları ortaya çıkmıştır. DNA’da bu gelişmeler olmasına rağmen henüz slikon tabanlı çipler daha geçilememiştir.

DNA’nı bilgisayarlar tarafından henüz yaygın bir biçimde kullanılmamasının sebepleri;

  1. Yöntemin slikonlara göre henüz pahalıdır.
  2. Sentezleme işlemleri için labaratuvar’a ihtiyaç duyulmaktadır.
  3. DNA sentezlemesi sonucu elde edilen sonuçları analiz etmek zordur.
  4. İşlemlerin hızlı bir şekilde yapılması henüz sağlanamamıştır.

DNA’nın sağladığı yararlar ise;

  1. Hız – Geleneksel bilgisayarlar yaklaşık 100 MIPS (saniyede milyon komut) gerçekleştirebilirsiniz. Adleman deneyinde ise anlatıldığı gibi, DNA ipliklerini birleştirmek, bilgisayar cinsinden eşdeğer vermek gerekirse bilinen en hızlı bilgisayardan 100 kez daha hızlıdır.
  2. Asgari depolama koşulları. Çok küçük boyutlarda terabaytlarca veriyi saklamak mümkün.
  3. Asgari güç gereksinimleri. Hesaplama yapılırken işlem için gerekli hiçbir güçe ihtiyaç yoktur.
  4. Veriyi +1000 yılın üzerinde oda koşullarında saklanabilmektedir.

DNA’nın kullanım alanları;

DNA içeriğinde çok büyük miktarda veri saklayabildiği için bu özelliği kullanmak isteyen günümüzün yazılım devlerinden Microsoft’ta sentetik DNA’lar üzerinde veri saklayıp hızlı şekilde geri dönüştürmek için çalışmalar yürütmektedir.

DNA Kriptografi(Steganografi)

Stenography gizlenmiş yazı yani şifrelemeden farklı olarak daha büyük bir metin içine bir mesajın yerleştirilmesi işemidir.

DNA kriptografi DNA hesaplaması ile hızlı gelişen son yılların ilgi çeken konularından biridir. Veri güvenliğini sağlamak için kullanılan bu yeni teknik DNA biyolojik yapısını kullanarak şifrelenmek istenilen mesajı çeşitli algotirmalar ile DNA’nın yapı taşları olan A, G, S ve T harflerine gönüştürerek şifrelemeyi baz almaktadır. Bilgisayaraların anlayacağı dilde ise 0, 1’lerin değişik kombinasyonları ile DNA zincirinin molekülleri oluşturulabilmektedir.

Şimdi Şekil 3 ve Şekil 4’te gördüğünüz tablolar farklı algoritmalarda kullanılan dönüşüm tablolarıdır. Bu şekilde veriyi başka formatlara sokarak onun tahmin edilmesi güçleştirmek amaçlanmaktadır. Bu alanda yeni algoritmalar üzerinde düşünülerek çalışılmaktadır.

Şekil 3: Basit bir DNA kodlarına dönüşüm tablosu

Şekil 3’te ki tablo kullanılarak aşşağıdaki gibi elde edilmiş bir bit sitringinde şifreleme yapılabilir.

Örnek bit string:

0001001010100110101010100100100100101001

0010100100100100100100100100100100100101

0111111001011101011001001001001010010010

1010100101001001001010010010101110110100

1000100100000101111010010010

Bit string’inin DNA ile şifrelenmiş hali:

AATAACCCTCCCCCTAACTAACCTAACCTAAC

TAACTAACTAACTAACTTTGGGGCTTGGTTCT

AACTAACCTAACCCCTTAACTAACCTAACCGG

CGGTAACAACTAAAATTGGCCTAAC

Şekil 4: DNA kriptografisinde kullanılan örnek bir tablo

Şekil 5’te ise a orinal resimi, b şifrelenmiş resimi , c ise yanlış parametreler ile bu resim çözülmeye çalışıldığında çıkan görüntüyü, d ise doğru parametreler ile bu resmin şifresinin çözülmesi işlemi gösterilmiştir. Burada kullanılan algoritmada belli giriş parametreleriyle DNA şifrelemesi yapılmıştır. Burada kullanılan algoritmanın blok diyagramı Şekil 6’da gösterilmiştir.