21 Ocak 2013 Pazartesi

Resim ile Veri Gizleme(Görsel Kriptoloji)


Resim ile Veri Gizleme(Görsel Kriptoloji)

Gün geçtikçe artan veri trafiği ve buna paralel artan veri hırsızlığı için güvenli verileri gizlemek ve bunları güvenli bir ortamda saklamak oldukça zor hale geldi. Dijital dünyanın her geçen gün hayatımıza daha fazla girdiği bir dönemde, kişisel hak ve özgürlükler ile özel yaşantılar bundan fazlaca etkilenecektir. Günlük yaşantıdaki işlemlerin dijitalleşme yüzdesinin hızlıca artması bunun bir göstergesidir, yapılan işlemlerin büyük çoğunluğu bankacılık ve e- commerce(e-ticaret) işlemlerini kapsamaktadır. Bilgi güvenliği için yeni yaklaşımlara duyulan ihtiyacın bu yüzdenin artmasıyla daha da yükseleceği ortadadır.

Bilgi güvenliği, günümüzde kişisel bazdaki öneminden çok, bazı toplumların geleceklerinin teminatı olan özel iş ve görev yapan birimlerde/kurumlarda önem arzetmektedir. Silahlı kuvvetler buna en iyi örneklerden birisi olabilir. Bilişim dünyasında dijitalleşmenin hızla yaygınlaşması gerek kişisel gerekse kurumsal veri güvenliği için şifreleme metodlarının veya kriptolama sistemlerinin kullanımını bir zorunluluk haline getirmiştir. Kriptoloji, matematiğin hem şifre bilimi (kriptografi), hem de şifre analizini (kriptanaliz) kapsayan dalıdır. Kullanılan isim ise Yunanca "gizli kelime" anlamına gelen "kryptos logos" kelimelerinden gelir. Şifre biliminin amacı, gönderilen veya alınacak olan verinin güvenliği Steganografi son yıllarda yeni bir yaklaşım metodu olarak karşımıza çıkmaktadır. Bu yaklaşım kısaca bir nesnenin içerisine bir verinin gizlenmesi olarak tarif edilebilir. Ses, sayısal resim, video görüntüleri üzerine veri saklanabilir. Bu veriler metin dosyası olabileceği gibi, herhangi bir görüntü içerisine başka bir görüntüyü gizlemek de olasıdır..

Son yıllarda adından oldukça söz edilen bu tekniklerde en kullanışlı olanı data hiding for image yani resim ile kriptoloji burada anlatılacak yaklaşım metodu içermektedir. İçine veri gizlenecek resim N satır ve M sütunluk bir dizi ile temsil edilir. Genellikle satır ve sütun indeksleri y ve x veya r ve c olarak gösterilebilir. Resim dizilerinin çoğu kare şeklindedir. Yani N=M ve tipik N ve M değerleri 128, 256, 512 veya 1024 gibi olabilmektedir. Bir resim dizisinin elemanlarına piksel denir. En basit durumda pikseller 0 veya 1 değerini alırlar. Bu piksellerden oluşan resimlere ikili (binary) resim denir. 1 ve 0 değerleri sırasıyla aydınlık ve karanlık bölgeleri veya nesne ve zemini (nesnenin önünde veya üzerinde bulunduğu çevre zemini) temsil ederler. Resimlerin ışık seviyelerini (intensity) daha iyi derecelendirebilmek için piksel başına 1 bayt kullanılır. Bununla 0 (siyah) ile 255 (beyaz) arasında tam sayılar elde edilebilir. Bu sayılar arasındaki değerler gri'dir ve bundan dolayı bir resme ait tam sayı "gri ton seviye" (gray level) olarak isimlendirilir. Renkli resimlerde ise; bir resim kırmızı, yeşil ve mavi gibi temel renklerin her biri için NxM'lik bir diziye ihtiyaç duyulur. Böylece her dizinin "gri seviyeleri" belirli bir pozisyondaki pikselin kırmızı, yeşil ve mavi resimlerinin bileşenlerinin şiddetini belirler
 Sayısal resimlerin içerisine bir verinin nasıl gizlenebileceği incelenecektir. Yapılan işlemi anlamak için en az öneme sahip bit (LSB: Least Significant Bit) kavramını kullanacağız. İkili sayı sistemine göre ascii kodu 65 (a) olan ve binary moda karşılığı (01000001) sayısını ele alalım. Bu sayı onluk düzende 65 sayısının karşılığıdır.Buradaki metod ile ascii kodu 65 olan a harfini resmin 8 pikselini kullanarak a harfini 8 piksele yazıyoruz daha açık belirtmek gerekirse bir Örnek ile olayı netleştirelim rgb kodu (180,125,152) , (184,123,150) , (179,125,150) , (180,128,175) ,(184,125,156), (180,123,153) , (180,122,150) , (184,127,150) olan 8 piksel düşünelim buradaki 180 –kırmızı(red) renginin yogunlugu,125-yeşil(green),150-mavi(blue). İlk 8 pikselin rgb kodları böyle olsun Örnekte a harfini ascii kodu=65 olan harf yazılacaktır(01000001) 125 ‘nin binary moda karşılığı 01111101 sonda bulunan 1’in 0 veya 1 olması resim için fazla önemli değildir bunun için gizlenecek olan a harfi binary moda ilk önce 0 alması gerekiyor ve biz 1.pikselin kırmızı değerini 125 iken ve binary moda son karakterini 1 iken 0 yaptık ve kırmızı değeri 124 oldu simdi ilk piksel üzerinde değişiklik yapıldı ve bizim için değerli olan son değer 0 olarak yazıldı 
2.piksel(123) için ihtiyaç duyduğumuz sondaki değerin 1 olması zaten sondaki değer 1
3.piksel(125) için ihtiyaç duyduğumuz sondaki değerin 0 olması tekrar 3.piksel 124 oldu
4,piksel(128) için ihtiyaç duyduğumuz sondaki değerin 0 olması zaten sondaki değer 0

…………………..
8.piksel(127) için ihtiyaç duyduğumuz sondaki değerin 1 olması tekrar 8.piksel 127 olarak kaldı

örnekte anlatıldığı gibi 8 piksel içine 1 harf yazılmış oldu burada yalnız kırmızı üzerinde değişiklik yapıldı istenirse yeşil ,mavi ve kırmızı üzerinde aynı anda veya teker teker değişiklik yapılabilirdi fakat resim kalitesini fazla bozmamak için yalnız kırmızı üzerinde değişiklik yapıldı


Program Hakkında

Metin kutusu içinde bulunan metin normal resim içerisine gizlenecek ve içerisine veri gizlenen resim şifreli resim olarak program içerisinde bulunan sifreli resim kutusuna yerleştirilecektir.Bunu yapmak için gizle buttonuna veya Resim işlemleri ana menüsünden Resim şifreleyi tıklayarak resmi şifrelenmiş olarak şifreli resim kutusunda görebiliriz. Gizle buttonunu tıkladıgımız anda resim şifreleme işi kısa bir süre sürecek ve ardından gizlenen resme program tarafından güvenlik numarası verilecektir.Güvenlik numarası verilen resim Resim İşlemleri menüsünden Şifreli Resim Kayıt ‘ı tıklayarak sifreli resim bmp formatında kayıt edilecektir.Artık Resmimizin içerisine veri gizlenmiş halde kayıt ettiniz .Programı kapattıktan sonra Resim İşlemleri menüsünden Şifreli Resim Al’ı tıklayarak alınan şifreli resmi oku buttonunu tıklayarak ve güvenlik numarasını girerek resmin içinde bulunan veriyi okutabilirsiniz. Gizlenen veri resmin boyutuna göre belirlenir yani boyutu küçük bir resme belirli miktarda veri gizlenebilir ayrıca bozulmuş veya bozuk resimlere veri gizlemeye çalıştığınızda hata mesajı alacaksınız programın kendi içerisnde bozulmuş resimleri onarma mekanizması vardır uygulanan emboss efekti sayesinde bozulmuş resim onarılmaya çalışılır

Not:Bütün resim formatlarında program tanımaktadır
Güvenli Haberleşmeler program hakkında sorusu olan arkadaşlar yener_turkeli2001@yahoo.com adresine sorularını iletebilir


Çalıştırılabilir örnek uygulamayı indirmek için tıklayın... 


1 yorum:

  1. Bana iletişiminiz hakkında bilgi verir misiniz ?
    Sizden bilgi almak istediğim konular var,yardımcı olursanız sevinirim....

    YanıtlaSil

isterseniz anonim seçeneginden kayıtsız gönderebilirsiniz iyi günler