Steganografi

Steganografi, eski Yunanca'da "gizlenmiş yazı" anlamına gelir ve bilgiyi gizleme (önemli: şifreleme değil) bilimine verilen addır. Steganografi'nin şifrelemeye göre en büyük avantajı bilgiyi gören bir kimsenin gördüğü şeyin içinde önemli bir bilgi olduğunu farkedemiyor olmasıdır, böylece içinde bir bilgi aramaz (oysaki bir şifreli mesaj, çözmesi zor olsa bile, gizemi dolayısıyla ilgi çeker).

Tarihçe

Tarihte steganografi, hem şifreleme öncesi dönemde hem de sonrasında (ilgi çekmeme avantajından dolayı) kullanılmıştır.

Bilgisayar dünyasında kullanımı

Veri içine veri gömmek

Bilgisayar dünyasında da steganografi oldukça popülerdir:

Örnek

Bir ağaç resmi
Soldaki ağaç resminin içindeki gizli resim

Resimlerde, 24-bit'lik bir kanallama kullanılır. Bu kanallar kırmızı, yeşil ve mavi'dir ve her bir kanal 8 bit'lik bir değere sahip olabilir. 8 bit 256 ayrı değer saklayabilir, ve örneğin 12 sayısı 00001100 olarak 240 sayısı ise 11110000 olarak kodlanacaktır.

Öte yandan, bir insan her renkteki 8 bit'in son iki (hatta üç) bitindeki değişiklikleri göremeyecektir, zira bu değişiklik 3 (veya son üç bit için 7) ton değişikliğe eşdeğerdir (oysaki toplamda 255 ton var). Bu durumda, son üç bit asıl rengin detayları yerine başka bir bilgi saklamak için kullanılabilir: hesaplayacak olursak görüyoruz ki günümüzde cep telefonlarının çektiği (dolayısıyla sıkça paylaşılan) 1600 * 1200 çözünürlükteki bir resmin içine bile 2 Megabayta kadar veri saklanabilir!

Örneğin, soldaki resmi gelişmiş bir fotoğraf veya veri editörüne verin. Editöre, resmin her baytına 3 sayısı ile "Logical AND" işlemi yapmasını söyleyin. Ortaya simsiyah bir resim çıkacak.

Şimdi işin zevkli kısmı: o simsiyah (gibi görünen) resmi bir resim editörü ile açın ve resmin parlaklığını 85 katına çıkartın. Göreceksiniz ki, ortaya sağdaki kedi çıkacak!

Resim içine yazı gizlemek

Günümüzde birden fazla veri gizleme metodu bulunmaktadır. Bu yöntemler arasında en iyi en kötü ayrımı yapamayız, her birinin diğerlerine göre kısıtlamaları ya da üstünlükleri bulunmaktadır. Bu projede kullanılacak olan yönteme geçmeden önce diğer yöntemleri inceleyelim.

Yöntemlerin en kolayı gizlenecek olan veriyi resim dosyasının “açıklama” alanında gizlemektir. Bu ideal bir yöntem değil çünkü “açıklama” alanının bir sınırı var (255 byte kadar). Ayrıca bu yöntemde değişik resim dosyaları için değişik algoritmalar kurmanız gerekecektir.

Bir başka yöntem ise resim dosyasında renkler için ayrılan ama kullanılmayan alanların veri gizleme için kullanılmasıdır. Bu yöntem de bazı veri çözme araçları ile kolayca bulunabilir, farkedilebilir.

Resim dosyalarının tipik özelliklerini çok iyi kavramamız gerekir. Bunlar;
1- Bütün resimler dosya başlığı (header) ve piksellerden oluşur.
2- Her piksel sadece bir renk içeren/gösteren küçük bir bloktur.
3- Her pikseldeki renk temel 3 rengin karışımından elde edilir.(Red,Green,Blue)
4- Her pikselde bu 3 renkin verileri tutulur. Her temel renk 1 pikselde 1 byte (0..255) yer kaplar, yani 1 piksel 3 byte (R,G,B) veri taşır.

Örnek :
Beyaz Renk RGB formatında FF-FF-FF hex değeri ile ifade edilir. Yani Red: FF(h), Green: FF(h), Blue: FF(h)
FF binary sistemde 11111111 in karşılığıdır.
1 pikselde beyaz rengi ifade etmek için 11111111- 11111111- 11111111 verisi kullanılır.


11111111- 11111111- 11111111 verisinin en anlamsız bitlerini gizlenecek olan veri için kullanma yöntemi üzerine kuruludur. Bu küçük renk değişikliğini insan gözü algılayamaz.

Her piksele 3 bit. İlk bakışta çok çok az gibi görünse de 800x600 ebatında bir resimde
800 x 600 = 480.000 adet piksel bulunur.
480.000 x 3 bit = 1.440.000 bit (gizlenecek olan veri için kalan yer)
1.440.000 bit = 175,7 KiloByte

Ayrıca

VSL: Virtual Steganographic Laboratory

This article is issued from Vikipedi - version of the 4/21/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.