DNA Cryptology Uygulamasi
- Sevdanur GENC

- Apr 3, 2014
- 2 min read
Merhaba, bu yazimda sizlere cryptology alaninda DNA uzerinde basit bir uygulamasini paylasiyor olucam.
Yapmis oldugum DNA Cryptology uygulamasi icerisinde dna da bilinen A,T,G ve C bazlariyla olusturulan dizilimlerden nasil metinlere donusum yapilabilecegini gorucez. Ornegin ; AAGTATAGTGCATTATTGACCGAGGACGCTAACTGGTCAT diziliminin metinsel karsiligi DENEYLER'dir. Nasil mi?
Bu uygulamayi java ortaminda gerceklestiyorum.
Dna bazlarindan Adenin ve Timin bazlari icin 0 bitini, Guanin ve Sitozin bazi icin 1 bitini kullanarak bit donusum islemlerine gelen dizilimi yonlendiriyorum. Gelen her bir bitin bir harfe donusturuldugunu asagidaki kodlarda da acik bir sekilde gorebilirsiniz.
Java Kodlari
public class DNA {
private String seq, harf, yeniKelime, harfDonustur, bitDonustur;
private int temp;
public DNA(String sequence)
{
this.seq = sequence;
for (int i=0; i<seq.length(); i +=5)
{
bitDonustur = donustur(seq.substring(i, i+5));
harfDonustur = cozumle(yeniKelime);
System.out.print(harfDonustur);
}
}
public String donustur(String kelime)
{
yeniKelime = "";
for (int i=0; i<kelime.length(); i++)
{
if (kelime.charAt(i) == 'A' || kelime.charAt(i) == 'T') temp=0;
if (kelime.charAt(i) == 'G' || kelime.charAt(i) == 'C') temp=1;
yeniKelime = yeniKelime + temp;
}
return yeniKelime;
}
public String cozumle(String hecele)
{
if (hecele.equals("00000")) harf = "A"; //0
if (hecele.equals("00001")) harf = "B"; //1
if (hecele.equals("00010")) harf = "C"; //2
if (hecele.equals("00011")) harf = "Ç"; //3
if (hecele.equals("00100")) harf = "D"; //4
if (hecele.equals("00101")) harf = "E"; //5
if (hecele.equals("00110")) harf = "F"; //6
if (hecele.equals("00111")) harf = "G"; //7
if (hecele.equals("01000")) harf = "G"; //8
if (hecele.equals("01001")) harf = "H"; //9
if (hecele.equals("01010")) harf = "I"; //10
if (hecele.equals("01011")) harf = "I"; //11
if (hecele.equals("01100")) harf = "J"; //12
if (hecele.equals("01101")) harf = "K"; //13
if (hecele.equals("01110")) harf = "L"; //14
if (hecele.equals("01111")) harf = "M"; //15
if (hecele.equals("10000")) harf = "N"; //16
if (hecele.equals("10001")) harf = "O"; //17
if (hecele.equals("10010")) harf = "Ö"; //18
if (hecele.equals("10011")) harf = "P"; //19
if (hecele.equals("10100")) harf = "R"; //20
if (hecele.equals("10101")) harf = "S"; //21
if (hecele.equals("10110")) harf = "S"; //22
if (hecele.equals("10111")) harf = "T"; //23
if (hecele.equals("11000")) harf = "U"; //24
if (hecele.equals("11001")) harf = "Ü"; //25
if (hecele.equals("11010")) harf = "V"; //26
if (hecele.equals("11011")) harf = "Y"; //27
if (hecele.equals("11100")) harf = "Z"; //28
return harf;
}
public static void main(String[] args) {
System.out.println("1.Ornek : ");
DNA password1 = new DNA("AAGTATAGTGCATTATTGACCGAGGACGCTAACTGGTCAT");
System.out.println();
System.out.println("2.Ornek : ");
DNA password2 = new DNA("AGCTGAGGCACAATCGATTTACCGTTATTAAGCGGATATT");
}
}
Ekran Ciktisi
1.Ornek : DENEYLER 2.Ornek : KLONLAMA Keyifli Calismalar Dilerim.




Comments