Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

LSB Yöntemini Kullanan Algoritmalar ve Programlar

Benzer bir sunumlar


... konulu sunumlar: "LSB Yöntemini Kullanan Algoritmalar ve Programlar"— Sunum transkripti:

1 LSB Yöntemini Kullanan Algoritmalar ve Programlar
BMP GIF JPEG

2 Algoritma ve Programlar
Bir gizli anahtara dayanan LSB yöntemi Ez-Stego J-Steg Outguess F5

3 BİR GİZLİ ANAHTARA DAYANAN LSB YÖNTEMİ
Burada N, uygun cover bitlerinin sayısı; ve ‘de 0’dan N-1’e kadar olan sayıların permütasyonu olsun. Gizli mesajımızı şu bitlere gömebiliriz:

4 BİR GİZLİ ANAHTARA DAYANAN LSB YÖNTEMİ
Permütasyon fonksiyonu mutlaka sahte- rastgele (pseudorandom) olmalıdır. Çünkü seçilen bitlerin rastgele olarak seçilmesi gerekmektedir. Bunun neticesinde de gizli verimizin bitleri örtü verisi içerisinde yayılabilecektir.

5 BİR GİZLİ ANAHTARA DAYANAN LSB YÖNTEMİ
Permütasyon fonksiyonu aynı zamanda bir K gizli anahtarına bağlı olmalıdır. Bu yüzden bizim bir pseudorandom permütasyon üretecimiz olmalıdır. Bu fonksiyonda K anahtarı girdi olarak alınmakta ve {0,....,N-1} arasında farklı çıktılar üretilmektedir. Bu üreteç mutlaka güvenli olmalıdır, Hiç kimse K anahtarını bilmeden gizlenen bitlerin nerelerde olduğunu tahmin edememelidir.

6 BİR GİZLİ ANAHTARA DAYANAN LSB YÖNTEMİ
Psuodorandom permütasyon üreteci yapmak için bir pseudorandom fonksiyon üreteci kullanılabilir. Bu; K gizli anahtarı ile bir i(i=0,...,n-1) argümanı sıralanarak herhangi bir secure hash fonksiyonu olan H ile kolayca yapılabilir. Buradaki (K◦i), K anahtarı ve i argümanının sıralanmasıdır. Böylelikle K parametresine bağlı olan bir pseudorandom fonksiyonu elde etmiş oluruz.

7 BİR GİZLİ ANAHTARA DAYANAN LSB YÖNTEMİ
Pseudorandom permütasyon üreteci için bir de a ve b’nin bit bit XOR’landığı ve sonucun a’nın boyutuna eşit olan bir işlemin tanımlanması gerekir. Sahip olduğumuz 2l uzunluğundaki i binary argümanı, X(son l) ve Y(ilk l) olmak üzere l uzunluğuna sahip iki parçaya bölünür. K anahtarımız da K1, K2, K3, K4 olmak üzere 4 parçaya bölünür.

8 LSB YÖNTEMİ Bu algoritmanın 22l-1 defa çalışmasıyla {0,...,22l-1}’in pseudoramdom permütasyonu elde edilmektedir.

9 BİR GİZLİ ANAHTARA DAYANAN LSB YÖNTEMİ
Bu şemadan yola çıkılarak aşağıdaki algoritma geliştirilmiştir. x ve y çözünürlüğüne sahip bir I görüntüsü verilmektedir. Yapılan işlemler sonucunda elde edilen değerler gizlenecek bilginin kaçıncı bitinin nereye saklanacağını belirlemektedir.

10 Geri dönen X ve Y değerleri gizli bilginin i
Geri dönen X ve Y değerleri gizli bilginin i. Bitinin yerleştirileceği koordinatları vermektedir.

11 LSB YÖNTEMİ Örnek: 800x600 çözünürlüğünde bir resmimiz olsun. Gizli mesajımız 1 Kbyte ve anahtarımız K=123,456,789 olsun. Gizli mesajın 500. bitinin yerleşeceği koordinatları bulalım. Örtü verimizin sahip olduğu bit sayısı; N= Gizli mesajımız; 1024x8=8192 bit x=800, y=600 Bunun anlamı örtü verimizdeki bitlerin %2’sinden daha azının değişeceğidir bitin nereye yerleşeceğini bulmak için;

12 Sonuç= Y*x+X=101x , 500. bit örtü verisi içerisinde y koordinatı 101, x koordinatı 571 olan yere yerleşir.

13 Bir saldırgan için K anahtar bilgisine sahip olmaksızın doğru diziyi bulmak imkansızdır.
Daha güvenli olması için birtakım ek aşamalar da eklenebilmektedir. Herhangi bir atakta mesajın bir parçasını bu sistem içerisinde bozmak için rastgele LSB bitlerini değiştirebilirler. Böyle bir atağa karşı önlem için hata – düzeltme mekanizması kullanılmalıdır.

14 EzStego EzStego Romana Machado tarafından yazılmış olan ve GIF dosyalarına görüntü saklamak için kullanılan bir algoritma ve programdır. Öncelikle GIF dosyasının bir renk paleti matrisi oluşturulur. EzStego herhangi bir boyut bilgisi almadan mesajı piksellerin içine yerleştirir.

15 EzStego Algoritma renk paleti matrisinin sıralı bir kopyasını yaratır.
Bu sıralama işlemini öyle bir şekilde yapar ki komşu renklerin birbiriyle farklarını zorlukla söyleyebiliriz. Üç boyutlu alanda bir nokta olarak her rengi RGB(Red, Green, Blue) renk kübü ile yorumlanabilir.

16 EzStego (a) Palette renklerin sıralanışı (b) EzStego kullanılarak sıralanmış palet

17 EzStego Bu renk paletini sıralamak için şöyle bir yol izlenmektedir:
Listeden iki renk {c0,c1} seçilerek başlanır. Buna C kümesi denir. Aşağıdaki adımlar tüm renkler yerleşene kadar devam eder C kümesinden en uzaktaki renk bulunur ve d olarak isimlendirilir. Bu rengin yerleşeceği en iyi yer bulunur. Bu yer değerini minimize edecek yerdir. d yerleştirilir ve yeni C kümesi olarak adlandırılır.

18 EzStego Gömme fonksiyonu resmin sol üst köşesinden başlayarak sağ alt köşeye kadar sırayı hiç bozmadan sıralı bir şekilde son bitleri değiştirir. Gömme işlemi sonucunda her pikselde bir steganografik değer bulunur. Her pikselin steganografik değeri, sıralanmış palette olması gereken son bitin indeksidir.

19 EzStego

20 EzStego GIF görüntülerinde kullanılan renkler, 0 ile 255 arası değer alabilen üçlü kümelerle ifade edilmektedir. İlk sayısal değer kırmızı, ikincisi yeşil ve sonuncusu da mavi tonlarına karşı gelmektedir. Sayısal değer büyüdükçe renk daha koyulaşmaktadır. Üç temel renkten faydalanılarak arzulanan renk oluşturulmaktadır. RGB (Kırmızı-Yeşil-Mavi) renk modelinde 256 x 256 x 256 = 16,777,216 değişik renk ifade edilebilmektedir.

21 EzStego Steganografi programı GIF görüntüsünün renk paletininin bir kopyasını oluşturur. Yeni palette renkler, renk modelindeki sıralarına göre yeniden düzenlenir. Piksellerde yer alan sayıların (ikilik sistemde) en az değerli basamakları saklanacak mesajdan bir basamaklık bilgi ile değiştirilir.

22 EzStego Palette oluşturulan yeni sayının gösterdiği renk bulunur.
Piksele rengin orijinal paletteki numarası yazılır. Artık piksel, mesajdan alınan bilgiye göre eski rengini veya palette yer alan yakın bir rengi göstermektedir.

23 EzStego Örnek: Renk Paleti
Sıra Numarası Renk Kodu ,365, ,321, ,500, ,552,639 ….. ….. Programın Oluşturduğu sıralanmış renk paleti Sıra Numarası Renk Kodu ( ) 66,552, ( ) 67,365, ( ) 67,500, ( ) 69,321,456 ….. …..

24 EzStego 1589 numaralı piksel 28 renk koduna sahip olsun.
Gizlenecek bit ise 0 olsun. 67,365,897 numaralı rengin yeni palette karşılığı 15 ( )’dir. Son basamak değiştirildiğinde ( ) yeni palette gösterilen renk 66,552,639. Bu rengin orijinal paletteki sıra numarası 31’dir. Bu nedenle işlemden sonra 1589 numaralı piksel 31 renk koduna sahip oalcaktır.

25 JPEG Formatı Internet üzerinde kullanımı en yaygın olan resim formatıdır. DCT, niceleme ve Huffman kodlaması kullanılan bu format ile, işlenmemiş (BMP gibi) resimlerde sıkıştırma yapılır.

26 JPEG Formatı (devam) JPEG sıkıştırması, resimdeki ardışık 8x8’lik piksel bloklarınının herbirini 64 adet DCT katsayısına çevirmede Ayrık Kosinüs Dönüşümü’nü (DCT) kullanır. Niceleme işlemi ile, bulunan reel değerli katsayılar tamsayı değerlerine dönüştürülür. Huffman kodlaması ile JPEG sıkıştırma işlemi tamamlanır.

27 DCT (Ayrık Kosinüs Dönüşümü)
8x8 piksellik blok üzerinden aşağıdaki formülle 64 elemanlı katsayı bloğu oluşturulur. Oluşturulan bu blok içinde ilk katsayı DC, diğerleri AC olarak adlandırılır.

28 Örnek 8x8’lik orijinal görüntü bloğumuz ve piksel değerleri şu şekilde olsun.

29 Örnek Daha sonra Matrisin her elemanından 128 değerini çıkartarak M matrisini oluştururuz.

30 Örnek Sonra en sık kullanılan T matrisi ve bunun transpozesi ile bu M matrisini çarparak DCT matrisini buluruz.

31 Örnek D=T.M.T' D matrisini şu şekilde buluruz.

32 Örnek Daha sonra bir quantization işlemi yapılır. Bunun için bir quantization matrisi gereklidir.

33 Örnek Quantization işlemi aşağıdaki formül kullanılarak yapılır.

34 Örnek DCT Katsayı matrisi Quantization Tablosu
Nicelendirilmiş DCT Katsayı Matrisi

35 DCT ile Veri Gizleme DCT ile hesaplanan nicelenmiş katsayıların en önemsiz bitleri kullanılarak ortam içine veri gizlenebilir. JSteg ve OutGuess algoritmaları bu şekilde veri gizleyen algoritmalardır. JPEG formatında, veri gizlerken yapılan değişiklikler uzamsal alanda değil de frekans alanında olduğundan görsel saldırılara karşı dayanıklıdır.

36 JSteg Derek Upham tarafından geliştirilen bu algoritma, resim içindeki DCT katsayılarının en önemsiz biti ile mesajın bitlerinin sıralı biçimde değiştirilmesi yöntemiyle çalışır. Herhangi bir şifre kullanılmadığı için gizleme yönteminin JSteg olduğunu bilen bir kimse tarafından gizli mesaj kolaylıkla belirlenebilmektedir. Histogram analizi ve X2 testiyle tespit edilebilmektedir.

37 JSteg Andreas Westfeld ve Andreas Pfitzmann bu şekilde çalışan sistemlerin steganaliz yoluyla tespit edilebilir bozulmalara yol açtığını ortaya koymuştur. Ardışık DCT katsayıları arasındaki farkın azalmasından dolayı, ortamda veri gizlendiğinin belirlenebileceğini göstermişlerdir. Özellikle yüksek entropiye sahip veriler gizlendiğinde histogram değerlerinde önemli değişiklikler olmaktadır.

38 JSteg (devam) Input: message, cover image Output: stego image
while data left to embed do get next DCT coefficient from cover image if DCT ≠ 0 and DCT ≠1 then get next LSB from message replace DCT LSB with message LSB end if insert DCT into stego image end while Resmin içine bilgi gizlenmeden önce ve sonraki histogram değerleri.

39 Sıralı ve Rasgele Gizleme
JSteg algoritmasında olduğu gibi sıralı biçimde veri gizlemesi yapılırsa, resmin belirli bölgelerindeki yoğunluklar değişir. Histogramdaki bozulmanın önlenmesi için veri rasgele gizlenmelidir.

40 OutGuess Niels Provos tarafından geliştirilen bu algoritmada, DCT katsayıları seçilirken, girilen şifre ile sözde-rasgele seçim yöntemi uygulanmaktadır. Bir kişi gizleme yöntemini bilse dahi şifreyi bilmeden gizlenen veriye ulaşamamaktadır. X2 testi ile tespit edilememektedir. Ancak geliştirilmiş X2 testi ile resimde oluşan yerel bozulmalar belirlenebilmektedir.

41 OutGuess (devam) Input: message, shared secret, cover image
Output: stego image initialize PRNG with shared secret while data left to embed do get pseudo-random DCT coefficient from cover image If DCT ≠ 0 and DCT ≠1 then get next LSB from message replace DCT LSB with message LSB end if insert DCT into stego image end while

42 F5 Algoritması Bahsedilen her iki yöntem de DCT katsayılarının en önemsiz bitinin değiştirilmesi mantığıyla çalışmaktadır. Andreas Westfeld, bu şekilde çalışan steganografik algoritmalar üzerinde bir değişiklik yaparak F5 algoritmasını ortaya koymuştur. F5 algoritmasında, DCT’de en önemsiz bit değiştirilmek yerine matrix kodlaması (matrix encoding) denilen bir sistemle, en önemsiz bitin mutlak değeri alınarak bu değiştirilmektedir. F5 algoritması ile veri gizleme, histogram analizi veya herhangi bir X2 testi ile belirlenememektedir. Bu algoritma da, OutGuess algoritması gibi bir şifreye göre veri gizlemektedir.

43 F5 Algoritması (devam) Input: message, shared secret, cover image
Output: stego image initialize PRNG with shared secret permutate DCT coefficients with PRNG determine k from image capacity calculate code word length n←2k – 1 while data left to embed do get next k-bit message block repeat G←{n non-zero AC coefficients} s←k-bit hash f of LSB in G s←s ⊕ k-bit message block if s ≠0 then decrement absolute value of DCT coefficient Gs insert Gs into stego image end if until s = 0 or Gs ≠ 0 insert DCT coefficients from G into stego image end while

44 Matrix Kodlaması Ron Crandal tarafından veri gizleme etkinliğini arttırmak amacıyla ortaya konmuştur. Gizlenecek mesaj uzunluğu ve ortamın büyüklüğüne göre uygun bir k değeri hesaplanması mantığına dayanır.

45 F5 Algoritması (devam) F5 DCT katsayılarını azalttığı için, ardışık katsayılar toplamı artık değişmez değildir. Bu sebeple, X2 testi ile tespit edilemez. F5 ile JPEG resimlere veri gizlerken, JPEG dosyalar zaten sıkıştırılmış olduklarından ve F5 ile tekrar sıkıştırılma yapıldığından histogram analizi ile de tespit edilmesi oldukça zordur. Çünkü, F5 ile histogramın simetrik ve tekdüze yapısında bozulma olmaz.

46 Karşılaştırma


"LSB Yöntemini Kullanan Algoritmalar ve Programlar" indir ppt

Benzer bir sunumlar


Google Reklamları