Gizlenmiş Veriyi Geri Alma Yöntemi
Gizlenmiş veriyi alma işlemini, aslında veriyi gizlerken uyguladığımız tekniğin tersine hareket etmekle yapabiliriz. Resmin RGB değerlerine sakladığımız veriyi geri hareketle çekip verimize tekrardan ulaşa biliriz.
Burada şu soru akla gele bilir ‘veri çekme işleminde,çekilen verinin sonuna gelindiğini nasıl anlaşılacak?’ Aslında biraz programlama bilgisine sahip seniz şayet bu soruyu sormazsınız ama,biz genede soruyu cevaplayalım.
Elimizde olan tekstimiz bilgisayarsa sitring formatında verilir ve her sitringin sonuna sitringin bittiğini ifade eden bilgisayarda NULL (‘\0’) diye adlandırılan karakter program tarafından yerleştirilir. Anlaşılacağı gibi veri alma işlemi NULL karakterine ulaşıldığından durdurulur. Aşağıda görüntüden veri alma işlemini yapan program kodu verilmiştir.
Aşağıda resimden veri alma işlemini gerçekleştiren C kodu verilmiştir
while( y1 <pBitmap->Height) { ptr = (Byte *)pBitmap->ScanLine[satır];//resmin her bir satırının adresine ulaşılır sutun=0; while(sutun<pBitmap->Width)//sutun üzerinden hareket edilerek RGB'lere ulaşılır { if(a==8)//çekilen bit sayısı bir karaktere karşılık gelirse;karakteri diziye at { ch=onluk_taban(bit_); p[m++]=ch; if(ch=='\0')return;//eğer karakter NULL saişlemi durdur a=0; } ikilik_taban(ptr[3*sutun],bit);//R'nin son bitini al karakter bit dizime ata bit_[a++]=bit[n]; if(a==8) { ch=onluk_taban(bit_); p[m++]=ch; if(ch=='\0')return; a=0; } ikilik_taban(ptr[3*sutun+1],bit);//G'nin son bitini al karakter bit dizime ata bit_[a++]=bit[n]; if(a==8) { ch=onluk_taban(bit_); p[m++]=ch; if(ch=='\0')return; a=0; } ikilik_taban(ptr[3*sutun+2],bit);//B'nin son bitini al karakter bit dizime ata bit_[a++]=bit[n]; sutun++; } satir++; } if(satır==pBitmap->Height) {satır=0;n--;} //veri alma işlemi bitmemişse bir sonraki anlamsız bitten devam et }
Son söz
Eski çağlardan bu yana insanlar hep bir birlerinden bazı şeyleri gizleme gereksinimi duymuş ve bu alanda ayakta alkışlanacak ustalıkta teknikler geliştirmişler.
Tabi teknolojik gelişmeler, özellikle de bilgisayar alanında meydana gelen devrim diye nitelendire bileceğimiz gelişmeler beraberinde dünyayı adeta bir köy haline getirmiştir ve artık insanın ulaşamayacağı dünya üzerinde bir yerin varlığına ihtimal dahi verilemez olmuştur.
Bu kadar teknolojik imkana sahip olan insanın kendine ait her hangi bir bilgiyi gizlemesi de dolaylı olarak bilgisayar tabanlı olmaya başlayıp ve işin kompleksliği bir o kadar da artmaktadır. Çalışmamız da üzerinde durduğumuz steganografi, enteresanlığı bakımından ilgi çekmekte, bilgi saklama kolaylığıyla da hayranlık uyandırmakta (en azından şahsıma) dır.
Sonuç olarak, insanoğlunun merakı ve kendine ait ,başkalarının bilmesini istemediği,sırları olduğu müddetçe steganografi gibi enteresan gelişmelerin devam edeceğin den hiç şüpheniz olmasın.
Steganografin C# da kodlanmış hali aşağıdaki gibidir.
https://drive.google.com/open?id=1aIsH_uHCidZryzQmldDvlyHENc0yD3BR