Show simple item record

dc.contributor.advisorTöreyin, Behçet Uğur
dc.contributor.authorAlbasrawi, Suhad Fakhri Hussein
dc.date.accessioned2020-12-07T10:03:45Z
dc.date.available2020-12-07T10:03:45Z
dc.date.submitted2017
dc.date.issued2018-08-06
dc.identifier.urihttps://acikbilim.yok.gov.tr/handle/20.500.12812/128422
dc.description.abstractSteganografi veri güvenliğini sağlamak için kullanılan bir teknik olup Yunanca kökenli bir kelimedir ve iki kelimeden oluşur: çatı veya kapatılmış anlamına gelen stegos ve yazmak anlamına gelen grafik. Bu teknik, gerçekleşen iletişimin asıl içeriğini saklama sanatı ve bilimidir. Steganografi kullanımı sayesinde, şüphe uyandırmayacak bir bilgi içerisine gizli bir mesaj yerleştirmek ve bunu kimsenin varlığından haberdar olmayacağı bir biçimde göndermek imkanını sağlar. Steganografi, içerisine yerleştirildiği veride büyük bir değişiklik yapmadan dışarı alınamayan gizli haberleşme yöntemleri sağlar. Saldırgan tespit edecek bir yöntem bulamadığı sürece yerleştirilen bilgi gizli kalacaktır.Birçok insan kişisel, tıbbi veya başka nedenlerden dolayı görüntü değişimi yapmak istemekte ancak başka kişiler tarafından (üçüncü taraflar) görülmek istememektedir, çünkü bu durum mahremiyetin ihlalidir. Bu nedenle, hem kayıt esnasında hem de gönderimi yaparken güvenlik gerekmektedir. Bu sorunu çözmek adına mevcut tez içerisinde, gizli görüntü verilerinin dijital kapak resimleri içerisine yerleştirilmesi için modern bir steganografik algoritma tanıtılmaktadır. Önerilen yöntem iki aşamadan oluşmaktadır.Birinci aşama yerleştirme aşamasıdır. Öncelikle sıkıştırılamayacak bilginin miktarını öğrenebilmek adına kapak resmi ve gizli resmin entropisini hesaplayarak başlıyoruz. Kapak resmi için gizli bir dalgacık dönüşümü kullanıyoruz, ve belli bir eşik değer üzerinden birçok katsayı sıfıra ayarlanıyor (dalgacık dönüşümündeki eşiği gereksiz katsayıların belirlenmesi için kullandık ve bu nedenle eşikleme yöntemi gizli haritanın belirlenmesi için bir yöntem olarak kullanılacak). Gizli resim için Fractal Image Compression -FIC (Oransal Görüntü Sıkıştırma) yöntemi kullanıyoruz. Ortaya çıkan sonuç bir grup afin dönüşüm olacaktır. Sonrasında bu sonucun Huffman kodunu alıyoruz. Gizli resmi Huffman kodu ile sıkıştırdıktan sonra veriyi özel bir şekilde saklamak önemlidir çünkü kodlayıcının çıkışı bir dizi 1 ve 0'dır ve bu nedenle bu serinin 8 bit gruplara dönüştürülmesi ve hafıza kısmına normal bir biçimde 8 bit ikili numara olarak saklanması gerekir. Ayrıca, kodu çözme işlemi için gerekli olan kod sözlüğünün de kayıt edilmesi gerekmektedir. Yine sözlük, oluşturulan koda bağlı olarak farklı uzunluklara sahip 1 ve 0 gruplarından meydana gelmektedir ve bu kodlar, gizli resim afin dönüşümündeki veri sembollerinin olasılığının bir temsilidir.Yerleştirme aşamasında, gizli resimden bir gizli vektör sentezlenir, bir başka deyişle gizli resmin çıkışı olan bilgi grubu `gizli vektör` adını verdiğimiz oluşumu meydana getirir. Gerekli olan bilgilerden bir tanesi stream serisinin uzunluğu ve 8 ile bölünüp bölünmediğidir. Eğer bölünüyorsa, gizli vektöre başka bir bayt (8 bit) eklenir. Gizli vektör içerisinde yer alan ikili stream, stream'in hiç kalan olmadan 8 ile bölünebilmesini sağlamak için eklenmesi gereken sıfır bit miktarını belirtmektedir. Eğer kalan yoksa, bu bayt sıfır değerini içermektedir. Baytın eklenmesi kodlanmış veri ve sözlükten sonradır. Sonrasında gizli vektör yeniden ölçeklendirilir (kapak resmi için stego resme karşı en yüksek PSNR'i elde etmek için, bir başka deyişle stego resmin kapak resme benzer olabilmesi için tüm gizli vektörü maksimum değerine bölüp eşik değeri ile çarpıyoruz, maksimum değer dalgacığın eşik değerine eşit veya daha düşüktür, bu nedenle dalgacık tersine çevrildiğinde kapak resmi ya hiç değişmeyecek ya da çok az değişecektir) ve sonrasında da sıfırlanmış dalgacık katsayıları içerisine yerleştirilir. Yeniden ölçeklendirme işlemi eşik değerini geçmemelidir, ki bu sayede sonradan hesaplabilir.İkinci aşama çıkarma işlemidir. Dalgacık dönüşüm yolu ile kapak resmi ayrıştırılır. Dalgacık katsayıları için eşik değeri hesaplanır. Sonrasında (eşik değerinin altında olan) önemsiz katsayılar için arama başlatılır. Gizli vektörümüzü sakladığımız konumları bulabilmemiz için aynı eşik değerin bulunması gerekmektedir (gizli vektörü çıkartmak için eşiklemeyi kullanıp gizli haritayı belirlemek). Gizli vektör bulunduğunda normal değerine tekrar ölçeklendirmek için önce eşik değerine bölünür sonrasında da dalgacığın en yüksek konumunda saklanan maksimum değeri ile çarpılır ve bu sayede değer tüm aralık boyunca yayılır ve vektör analizi başlatılır. Bu analizle birlikte Huffman kodu çıkarılır ve ilk şekli olan bir ikili stream şeklinde tutulur. Sonrasında sözlük çıkarılır. Sözlük de aynı şekilde, her grubun kodlandığı sembole karşılık gelen bir hücrede tutulduğu bir dizi ikili bitten oluşur. Bunun anlamı şudur ki, ilk ikili model sıfır sembolünün kodudur. Bir Huffman kod çözme işlemi gerçekleştirilmiştir. Bu işlemin hemen ardından gizli resmi gerçek resme mümkün olduğunca benzer şekilde tekrar oluşturabilmek adına fraktal resim yineleme işlemi gerçekleştirilir. Gizli resmin kapak resme yerleştirilmesi için önerilen steganografi algoritması çok farklı kapak resimleri ve gizli resimler üzerinde denenmiştir. Yüksek sıkıştırma oranı, yüksek çözünürlük, yüksek güvenlik ver resmi saklama kapasitesi anlamında bu işlem oldukça iyidir. Eşik değeri, gizleme haritasını belirlemek ve çıkartma işlemi için bir yöntem olarak kullanılmıştır. Ve ayrıca eşik değeri kullanıldığında işlem çok daha güvenilir hale gelmektedir. Sıkıştırma ve entropi arasında tersine bir ilişki vardır, bir başka deyişle dijital resmin entropi ölçüsü azaldıkça sıkıştırma oranı artmaktadır. Test edilmiş olan farklı gizli resimlerin Kapak resmi ve Stego resminin PSNR'si 39 ila 62 arasında değişmiş olup korelasyon 0.995914 ila 1.0000 arasında gerçekleşmiş ve sıkıştırma oranı da %29 ila %356 arasında değişmiştir. Çıkarılan resmilerin kalitesi yüksek olmuştur. Çıplak gözle bakıldığında kapak ve stego resmi arasında fark ayırt edilemez düzeydedir. Bu yöntemin dezavanatajları arasında ise zaman bulunmaktadır. Çünkü yüksek kaliteye sahip bir sonuç elde edebilmek için çok sayıda işlem yapmak gerekmektedir. Tekrar boyutlandırma, rotasyon ver flipping gibi manipülasyon saldırılarına karşı yapılan steganografi testleri flip ve rotasyon ile bunların kombinasyonları saldırılarına karşı dayanıklılık olduğunu göstermiştir. Ancak yeniden boyutlandırma saldırısı testi başarısız olmuştur. Genel olarak elde edilen sonuçlar mahremiyeti korumak adına bu yöntemin etkin, güçlü ve güvenli olduğunu göstermektedir. fractal ve Huffman yöntemlerinin beraber kullanımı sıkıştırma oranını daha da arttırır. Gizli vektörü mümkün olduğunca küçük boyutta tutabilmek adına steganografi yüksek sıkıştırma oranı gerektirir.Dalgacık kullanarak ayrıştırma yaptıktan sonra bir dijital resmin yüksek frekanslı parçaları içerisinde gizli bilgilerin depolanması, bu bilgilerin insan gözü ile görülebilmesini çok zorlaştırır. Bu tür bir tekniğin kullanımı sayesinde çok sayıda önemsiz katsayı elde edilir. Bu önemsiz katsayılar, görünen resmi çok bozmadan mümkün olduğunca çok miktarda gizli bilginin yerleştirilmesini sağlar. Yerleştirme işlemi esnasında hesaplanan belirli bir eşik değerinin kullanılması bir resmin içerisindeki gizli bilgilerin çıkartılmasını daha zor hale getirir. Eşik değeri, ortalama katsayı değeri kullanımından daha fazla konum oluşturmada etkinliği gözlemlenmiş olan katsayı değerinin standart sapması ile hesaplanır. Başka bir resim aynı haritayı oluşturamaz. Harita, kapak resmine bağlı olarak bir yandadır, gizli resme bağlı olarak da diğer yandadır. Daha fazla güvenliği sağlayacak doğru haritalamayı belirlemek kolay değildir.Quad tree (Dördün Ağaç), kodlama yaparak dönüştürmek, bir eşik değer bulmak ve bunu gizlemek gizli bilgiyi doğru çıkartmayı, hata tamamen yok etmeden çıkartmayı çok zorlaştırır. İki kez dönüştürülmüş olan (fraktal ve Huffman ile) gizli bilgiye göre harita oluşturmak, gizli bilginin tespit edilmesi ve çıkartılmasını çok zorlaştırır.Damgalama (watermarking) ve steganografi hedefleri arasında tercih yaparken her zaman için ödün verilecektir. Bir denge üçgeninde kapasite, güvenlik ve sağlamlık üç hedeftir, ve bu üç hedeften herhangi ikisini maksimize ederken diğer hedef minimize olur. Bir başka deyişle, Steganografi algoritmaları genellikle bilgi mesajını çıkarırken veya modifiye ederken yüksek güvenlik sağlamak zorunda kalmazken, Watermarking yöntemleri ise gizli mesajı çıkarırken veya modifiye ederken çok sağlam olmak zorundadır. Bizim algoritmamızda, yüksek güvenlikli olan bilgiyi saklarken kapasite ve kabul edilebilir sağlamlık arasında bir denge kurduk.Genel olarak, saldırılara karşı direnç gösterilip tersine çevrilebilir ve bu nedenle stego korunarak çıkartma işlemi başarıya ulaşır. Bu durum tespit ve geometrik saldırılar (rotasyon, flipping vs.) yolu ile kendini gösterirken görüntü işleme saldırıları da ciddi bir başarı oranı göstermektedir. Gamma. Tersine filtre kullanmak sureti ile tersine çevrilebildiği için bileme (sharpening) saldırısı da çok yüksek bir başarı oranına sahiptir. Görüntünün renklerinde beklenmedik değişimler olup dalgacık dönüşümü etkilendiğinde yapılan saldırı ve bıraktığı etkilerin farkına varılabilir. Dalgacık dönüşümü olduğunda gizli vektörün konumu bulunamaz ve gizli mesajı çıkartmak imkansız hale gelir. Resme ses de eklenebilir. Bunun için görüntüye bir spot eklenir ve bunun boyutu değiştirilir. Bu spotun boyu çok fazla büyük olsa bile başarı oranı yüksek olur. Spot eklemek görüntüyü etkiler ve boyutu büyüdükçe PSNR oranı düşer ancak buna rağmen gizli mesaj çıkartılabilir.
dc.description.abstractThis thesis proposes a novel steganographic algorithm for embedding secret image data into digital cover images. The proposed method consists of two stages. The first phase is the embedding. We start by calculating the entropy for cover image and secret image to assess the amount of information that is not compressible. We use discrete wavelet transform for cover image, and via a certain threshold value many coefficients are set to zero. We used the threshold in the wavelet domain to identify insignificant coefficients, so thresholding will be used as a method to determine the hiding map. We use Fractal Image Compression (FIC) for secret image which yields the outcome as a group of affine transformations, and then take Huffman code the result.After compressing the secret image information with Huffman code, it's necessary to store the data in a special way, because the output of the encoder is a stream of 1's and 0's, hence the stream must be converted into 8-bit-long chunks and stored. In addition, the code dictionary which is needed for the decoding process, must also be stored. Again, the dictionary is a group of 1's and 0's changing in length depending on the code generated, which, in turn, is a representation of the probability of the data symbols in the secret image as affine transformations.In the embedding stage, a secret vector is synthesized from the secret image. In other words, the group of information that is output from secret image makes up the so called `secret vector`. A necessary piece of information is the length of the stream and whether it is divisible by 8. If so, another byte (8 bit) is added to the secret vector. The secret vector contains the binary stream which specifies the number of zero bits added to complete the stream to make the length of the code a multiple of 8. If there is no remainder, this byte contains the zero value. The byte is added after encoded data and the dictionary. Then secret vector is rescaled to get the highest PSNR for the cover image versus the stego image.The second phase is the extraction. The cover image is decomposed by using wavelet transform. Threshold value is calculated for the wavelet coefficients. Then a search for insignificant coefficients (less than threshold value) is initiated. The same threshold value should be guaranteed to find the same locations where we stored our secret vector. When the secret vector is found, it is rescaled back to its normal value by dividing it with the threshold value then multiply it with maximum value which is followed by Huffman decoding. Then just after this step, the fractal image iterations are carried out to rebuild the secret image as close as possible to the original image.The proposed algorithm of steganography to embedding secret image in cover image was tested over different cover images and secret images. The scheme performs well in terms of compression ratio, resolution and security. The threshold value was used as a method to determine the hiding map and to extraction. And by using the threshold value, the process becomes more secure. PSNR values for Cover image and Stego image for different secret images were ranging from 39 to 62, and the correlation was ranging from 0.995914 to 1.0000. The compression ratio was ranging between 29% to 35.6%. Results of extracted images were of high quality. Disadvantages associated with this method is that the time, due to a lot of from processing be made to obtain high quality. Results demonstrate its effectiveness, robustness and security.en_US
dc.languageEnglish
dc.language.isoen
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rightsAttribution 4.0 United Statestr_TR
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/
dc.subjectBilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontroltr_TR
dc.subjectComputer Engineering and Computer Science and Controlen_US
dc.titleSubband decomposition and fractal image compression based steganography
dc.title.alternativeAltbant ayrıştırma ve fraktal imge sıkıştırma tabanlı steganografi
dc.typemasterThesis
dc.date.updated2018-08-06
dc.contributor.departmentBilişim Uygulamaları Anabilim Dalı
dc.identifier.yokid10174643
dc.publisher.instituteBilişim Enstitüsü
dc.publisher.universityİSTANBUL TEKNİK ÜNİVERSİTESİ
dc.identifier.thesisid488061
dc.description.pages101
dc.publisher.disciplineDiğer


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

info:eu-repo/semantics/openAccess
Except where otherwise noted, this item's license is described as info:eu-repo/semantics/openAccess