Görüntü Şifreleme

Transkript

Görüntü Şifreleme
Görüntü Şifreleme
İsmet Öztürk
Gebze Institute of Technology
Computer Engineering Department, May 2003
Özet
Bu araştırmayı yapmamdaki amacım resim şifreleme/deşifreleme ve kriptoanalizi konularında
yapılan güncel çalışmaları tek bir dokümanda derlemekti. İlk bölümde resim
kriptosistemlerinin karakteristiklerine ve metinle resim verisi arasındaki önemli farklara
değindim. İkinci bölümde çeşitli güncel resim şifreleme yaklaşımlarını ele aldım. Üçüncü
bölümde ise kriptoanaliz konusunu işledim. Dördüncü bölüm ise sonuç bölümüdür.
1. Giriş
Bilgisayar ağlarının önemli konularından biri de önemli bilgilerin yetkisiz kişilere
iletilmemesidir. Bu nedenle şifreleme teknikleri geliştirilmiştir. Birçok şfreleme tekniği kolay
uygulanabilmekte ve bilgi güvenliği alanında geniş bir kullanım alanına sahiptir.
Son on yıldır bilgisayar ağları kullanımı olağanüstü derecede büyümüştür ve büyümeye
devam etmektedir. Neredeyse kurulan tüm ağlar birbirine ve internete bağlanmaktadırlar.
İnternet bilgi otoyolunun ilk somut örneği olarak görülmektedir. Her geçen gün internette
daha fazla bilgi iletilmektedir. İletilen veri sadece metin değil, aynı zamanda ses, resim ve
diğer multimedya’dır. Günlük hayatımızda resimler geniş bir kullanım alanına sahiptir. Fakat
resimleri daha yoğun olarak kullanmaya başladığımızda onların güvenliği de daha çok önem
kazanmaktadır. Örneğin askeri mevzi diyagramlarının, banka binalarının planlarının ve askeri
uygulardan alınan verilerin korunması önemlidir. Günümüz bilgisayar dünyasında resim
güvenliği önemli konulardan biri haline gelmiştir.
Birçok geleneksel ya da modern kriptosistemler text verilerini korumak için tasarlanmışlardır.
Orjinal gizli plaintext, random olarak anlamsız ciphertexte dönüştürülmektedir. Ciphertext
üretildiğinde ya saklanmakta ya da ağda iletilmektedir. Ciphertext alındığında deşifreleme
algoritması kullanılarak orijinal haline dönüştürülmektedir.
Fakat resimler text’den farklıdır. Resimleri direk olarak şifrelemek için geleneksel
kriptosistemlerini (RSA ve DES gibi) kullanabilmemize rağmen bu, iki nedenden dolayı
uygun değildir; ilki resimlerin boyutları text datadan genellikle daha büyüktür. Bu nedenle
geleneksel kriptosistemler resmi direk olarak şifrelemek için daha fazla zamana ihtiyaç
duyarlar. Diğer bir sorun da deifrelenen metnin orjinal metne eş olması zorunluluğudur.
Ancak bu zorunluluk resim verisi için geçerli değildir. İnsan algısının karakteristiklerine göre
resimdeki ufak bozulmalar genellikle kabul edilebilirdir[3].
Dijital resimler genellikle iki boyutlu (2D) diziler olarak ifade edilirler. İki boyutlu diziyi
geleneksel kriptosistemleriyle koruyabilmek için öncelikle bir boyutlu bir diziye
dönüştürülmelidirler. Izgara dizilimindeki resim verisi stream cipher ya da blok cipher
kullanılarak bloklar halinde şifrelenebilir. Resim çok büyük olduğundan resmi direk olarak
şifrelemek/deşifrelemek verimli değildir. İyi bir yöntem, resim sıkıştırma işleminden sonraki
veriyi şifrelemek/deşifrelemektir[3].
1
Resim kriptosistemlerinin karakteristikleri[3]:
Resim şifrelemesini incelemek için öncelikle metin verisiyle resim verisinin arasındaki
uygulama farklarını analiz etmemiz gerekir. Temel olarak resimle metin arasındaki farklar
aşağıdaki gibidir,
1. Ciphertext oluşturulduğunda, ciphertext orjinal plaintexte kayıpsız deşifre edilmelidir.
Fakat cipherimage orjinal plainimage’e çok az kayıpla deşifre edilebilir.
2. Text verisi kelime dizilerinden oluşur. Bu nedenle text verisi direk olarak stream ya da
block cipher’lerle şifrelenebilir. Ancak sayısal resim verileri genellikle iki boyutlu
dizilerle ifade edilirler.
3. Metin verisini şifrelemek için minimum boyut tek bir karakterden tüm bir sayfaya
kadar değişebilir. Ancak resim verisini şifrelemek için minimum boyut bir resimdir.
Bir resim için gerekli minimum alan (örneğin 640x480 piksellik bir resim 38 Kbyte
alana ihtiyaç duymaktadır.) genellikle büyük olduğu için resmi direk olarak şifrelemek
verimli değildir. Resmin boyutu büyük olduğu için iletim zamanını ya da kapladığı
alanı azaltmak için resim sıkıştırma tekniklerine ihtiyaç vardır.
İyi bir bilgi güvenliği sistemi sadece metin türündeki gizli mesajları değil aynı zamanda resim
formatındakileri de koruyabilmelidir. Genel olarak bilgi güvenliği alanında üç temel özellik
vardır; gizlilik, bütünlük ve kullanılabilirlik.
1. Gizlilik: yetkisiz birisi mesajı okuyamamalıdır.
2. Bütünlük: yetkisiz birisi mesajı değiştirmemeli ya da mesajı bozmamalıdır.
3. Kullanılabilirlik: mesajlar yetkili kişilere tam olarak erişilebilir olmalıdır.
Kusursuz bir resim kriptosistemi güvenlik mekanizmalarında esnek olamının yanında aynı
zamanda yüksek performansa da sahip olamlıdır. Bu sebeple yukarıdaki özelliklere ek olarak
resim güvenliği aşağıdaki aşağıdaki özellikleri de sağlamalıdır.
1. Şifreleme sistemi hesaplama bakımından güvenli olmalıdır. Kırmak için çok büyük
hesaplama zamanı gerektirmelidir. Yetkisiz kişiler özel resimleri okuyamamalıdır.
2. şifreleme ve deşifreleme algoritmaları sistem performansını düşürmeyecek kadar hızlı
olmalıdır. Şifreleme/deşifreleme algoritmaları kişisel bilgisayara sahip kullanıcılar
tarafından uygulanabilecek kadar basit olmalıdır.
3. Güvenlik mekanizması mümkün olduğunca geniş kullanım alanına sahip olmalıdır.
Bir kripto sistemini ticari bir uygulama olarak tasarlamak için yaygın kullanım alanına
sahip olamalıdır.
4. Güvenlik mekanizması esnek olmalıdır.
5. Şifrelenmiş resim verisinde fazla büyüme olmamalıdır.
Resim kriptosistemlerinin güvenliğini değerlendirmek için birkaç kriter[3]:
Resim kriptosisteminin güvenliğinin değerlenbirilebilmesi için aşağıdaki 5 saldırı tipi
önerilmiştir. Bunların herbiri kriptoanalistin kullanılan şifreleme algoritmasını bildiğini
varsayar.
1. Cipherimage-only attack: Bu saldırıda yetkisiz kullanıcının ağdan cipherimage’i aldığı
ve K gizli anhtarına sahip olmadığı kabul edilir. Diğer bir deyişle saldırgan, gizli
anahtarı sadece ele geçirilen cipherimage’i kullanarak elde etmelidir.
2. Known-plainimage attack: Yetkisiz kullanıcının birkaç plainimage, cipherimage çifti
ele geçirdiği varsayılır. Kriptoanalist plainimage’leri şifrelemek için kullanılan
2
anahtarı belirlemeli ya da aynı anahtarla yeni şifrelenen cipherimage’leri
deşifreleyecek bir algoritma geliştirmelidir.
3. Chosen-plainimage attack: Bu saldırıda saldırgan, plainimage’leri ve onların
cipherimage’lerini seçebilmektedir. Bu yöntem known-plainimage saldırısından daha
güçlüdür. Çünkü kriptoanalist şifrelemek için bazı özel plainimage’leri seçebilir, bu da
gizli anahtar hakkında daha fazla bilgi verir.
4. Jigsaw puzzle attack: Bu saldırı tipinde saldırgan cipherimage’i daha küçük parçalara
ayırır. Daha sonra kriptoanalist bu parçaları teker teke kırar. Her bir alan
cipherimage’den çok daha küçük olacağına göre herbirini kırmak için gereken
hesaplama zamanı cipherimage’i kırmak için gereken zamandan çok daha azdır. Bu
nedenle jigsaw puzzle saldırısı diğerlerinden çok daha güçlü bir yöntemdir.
5. Neighbor attack: Saldırganın resmin bir parçasını bildiği kabul edilir. Birçok resimde
alan sınırları boyunca değişimler düzgündür. Bu nedenle kriptoanalist bu özelliği
kullanarak komşu alanların sınırlarını daha hızlı bir şekilde seçebilir. Birçok resim
düzgün yapıda olduğu için kriptoanalist resmin bilinen kısmı için komşu pikselleri
elde edebilir ve tim cipherimage’i kırabilir.
Bu doküman 5 bölümden oluşmaktadır. 2. bölümde çeşitli resim şifreleme yaklaşımları, 3.
bölümde kriptoanaliz yöntemleri, 4. bölümde sonuç kısmı ve son bölümde de kaynaklar ele
alınacaktır.
2. Çeşitli Resim Şifreleme Yaklaşımları
a) Sayısal İmza Kullanarak Resim Şifreleme Tekniği[1]
Güvenli resim iletimi için yeni bir teknik önerilmektedir. Orjinal resmin sayısal imzası, orjinal
resmin kodlanmış versiyonuna eklenmektedir. Resmin kodlanması BCH (Bose-Chaudhuri
Hochquenghem) gibi uygun bir hata kontrol kodlaması yöntemiyle yapılmaktadır. Alıcı
tarafında ise kod çözme işleminden sonra sayısal imza kullanılarak resmin doğruluğu
onaylanabilir. Resmin doğruluğunu onaylamak için resmin kodu çözüldükten sonra optik
korelasyon, JTC, VanderLugt geometrisi ya da sayısal korelasyon teknikleri kullanılabilir.
Tekniğin Ana Hatları
Amacımız resmi şifrelemek ve iletimden önce sayısal imzayı resmin içine gömebilmektir.
Burada sayısal imza orjinal kodlanmış mesaja bit düzeyinde eklenerek şifrelemeyi
sağlamaktadır. Alıcı tarafında sayısal imza düzeltilmesi gereken gürültü olarak algılanır.
Sayısal imzayı kurtarabilmek için orjinal resmi kodlamak için bir hata kontrol kodlaması
yöntemi kullanılmalıdır. Hata kodlama yöntemi, gürültü nedeniyle bozulan bitleri
kurtarabilmek için orjinal resme redundancy bilgisini ekler. Bu halde sayısal imzamız, hata
kodlama yönteminden sonra resme eklediğimiz gürültüdür. Ekleme işlemi XOR işlemine
eştir. Orjinal resmimizde hata kodlama yöntemi olarak BCH kullandık. Şifreleme prosedürü
şekil 1’de görülebilir. Orjinal resim kullanılarak sayısal imza hesaplanır. Daha sonra resim
BCH kodlama yöntemiyle kodlanır. Sayısal imza blok düzeyinde kodlanmış resme eklenir.
Sonuç olarak şifrelenmiş resim oluşturulur.
Resim şifreleme sistemi her boyuttaki resim için tasarlandı. Fakat standart algoritmalar
önceden tanımlanmış sabit uzunlukta (genellikle 128 bit) imzalar oluşturmaktadır. Bu nedenle
hata kontrol algoritması resmin boyutuna bağlı olarak seçilmelidir. Eğer resmin boyutu
küçükse daha güçlü bir hata kontrol kodu, büyükse daha zayıf hata kontrol kodu
kullanılmalıdır. Resmin boyutu, hata kontrol kodlaması nedeniyle eklenen redundancy
sebebiyle artmaktadır. Güçlü bir hata kontrol kodu, kodlanmış resmin boyutunu daha çok
3
arttıran redundancy bilgisi ekleyecektir. Şifrelenmiş mesaj iletilmek ya da depolanmak
zorunda olduğundan sadece gerektiği kadar redundancy eklenmesi önemlidir. Fakat daha fazla
redundancy eklemenin de bir avantajı vardır; daha fazla reudundancy içeren resim daha
güvenli olacaktır.
BCH sınıfı kodların, düzeltmesi gereken hata sayısının belirlenebilmesi ve buna göre bir
kodlama şemasının oluşturulabilmesini sağlayan bir özelliği vardır. Sayısal imazanın
eklenmesi şu şekilde olmaktadır; hem kodlanmış resim hem de sayısal imza bloklara ayrılarak
sayısal imza blok düzeyinde eklenmektedir. Blokların boyutu BCH kodunun seçimine
bağlıdır.
Şifreli resmin deşifrelenmesinin blok diyagramı şekil-2 de gösterilmiştir. Alınan mesaj
öncelikle hata kontrol çözücüsüne gönderilmektedir. Bu bölümün görevi sayısal imza
(tasarım) nedeniyle bozulan orjinal resmi kurtarmaktır. Orjinal resim kurtarıldığında sayısal
imza, kurtarılan resim ve şifreli resim kullanılarak elde edilir. Kurtarılan resim kullanılarak
sayısal imzası oluşturulur. Oluşturulan bu imza kurtarılan imza ile korelasyona sokularak bir
karara varılır.
İletilen resmin doğruluğu, kurtarılan sayısal imzayla deşifrelenen resimden elde edilen sayısal
imzanın korelasyonu sonucu kontrol edilebilir. Her resmin sayısal imzası farklı olduğundan
korelasyon tepesi ancak deşifrelenen resimle giriş resminin uyuşmasıyla elde edilebilir. Bu
nedenle sayısal imzalar sadece resmi şifrelerken değil deşifrelenen resmin doğruluğunu
kontrol ederken de kullanılır.
Şekil1 - Şifreleme prosedürünün blok diyagramı
Şekil2 – Deşifreleme prosedürünün blok diyagramı
Simülasyon Sonuçları
Önerilen şifreleme tekniğinin geçerliliği PC Matlab platformunda gerçekleştirilmiştir.
Önerilen yöntem Lena’nın resmi kullanılarak incelenmiştir. Resmin boyutu 256x256 pixeldir.
Sayısal imza eklenmeden önce BCH hata kontrol kodlaması kullanılmıştır. MD5 algoritması
kullanılarak üretilen mesaj özeti Şekil3(b)’de gösterilmektedir. Şifrelenen resim Şekil4
(a)’dadır. Şifrelenen resim hata kontrol kodlamasında eklenen redundancy sebebiyle orjinal
resimden büyüktür. Kurtarılan resim Şekil4(b)’de gösterilmektedir. Şekil5 ise kurtarılan
sayısal imza ile üretilen sayısal imzanın korelasyonunu göstermektedir. Belirgin bir
korelasyon zirvesi görülmektedir. Bu da orjinal resmin değişikliğe uğramadığını
kanıtlamaktadır.
4
Şekil3(a)’da gösterilen resmin bir biti değiştirilerek elde edilen imza ile orjinal resmin
imzasının korelasyonu ise Şekil5(b)’de görülmektedir. Bu şekilde bir korelasyon tepesi elde
edilememektedir. Bu sayede resmin bir biti bile değişse bunu sayısal imzaları karşılaştırarak
anlayabiliriz. Bu özellik, iletilen resmin orjinalliğini doğrulayabilmemizi sağlar.
Şekil3 – (a)Orjinal 256x256 büyüklüğünde yüksek çözünürlüklü Lena Resmi (b) Mesaj özeti
Şekil4 – (a) Şifrelenmiş resim (b) Kurtarılan resim
5
Şekil5 – Kurtarılan imza ile üretilen imzanın korelasyonu (a) Şekil3-a için (b) Bir biti
değiştirilen resim için.
b) SCAN Dilini Kullanarak Kayıpsız Resim Sıkıştırma ve Şifreleme[2]
Binary ve gary-scale resimlerde kayıpsız sıkıştırma ve şifreleme sağlayan yöntemdir.
Sıkıştırma ve şifreleme şeması, SCAN yönteminden elde edilen SCAN desenlerine bağlıdır.
SCAN, hızlı ve çok sayıda scanning path’ler üretebilen biçimsel, dil temelli, iki boyutlu
erişim yaklaşımıdır.
Bir sıkıştırma yönteminin sıkıştırdığı resim, sıkıştırma ve açma algoritmaları gizli tutulduğu
sürece şifrelenmiş olarak kabul edilebilir. Fakat birçok sıkıştırma yöteminin sıkıştırma ve
açma algoritmaları bilinmektedir. Varolan şifreleme algoritmaları da şifreleme algoritmasının
gizliliğine değil de gizli bir anahtara bağlıdır. Bu nedenle hem sıkıştırma hem de anahtar
tabanlı şifreleme yapabilen bir yaklaşıma ihtiyaç duyulmaktadır.
Önerilen sıkıştırma-şifreleme yöntemi verilen binary resmi, resimde kodlanmış olarak bir
tarama yolu belirterek ve bu yol üzerindeki bit dizisini kodlayarak sıkıştırır. Bir resim
üzerindeki tarama yolu, resmin her pikselinden sadece bir kere geçerek elde edilen sıradır.
Sıkıştırma yönteminin temelinde, kodlanmış tarama yolunu ve bu tarama yolundaki
kodlanmış bir dizisini ifade etmek için gereken bit sayısını minimize edecek en optimal veya
uygun tarama yolunu belirleyebilmek yatar. Binary resim sıkıştırıldıktan sonra sıkıştırılan
resmin bitleri yeniden ayarlanarak sıkıştırılmış ve şifrelenmiş resim elde edilir. Bu yeniden
ayarlama işlemi de gizli tutulan bir dizi tarama yolu kullanılarak sağlanır, bu tarama yolları da
şifreleme anahtarını oluşturur.
Sıkıştırma en yakın optimal ya da uygun tarama yolunun belirlenmesini gerektirir. Böyle bir
yolun belirlenmesi verilen resimdeki çok sayıdaki tarama yolunun üretilip araştırılmasını
gerektirir.
SCAN Dilinin Kısa Tanımı
Tanım:
İki boyutlu bir diziyi taramak
den
dizisine bir fonksiyondur.
Diğer bir deyişle iki boyutlu bir diziyi tarama, dizinin her elemanına sadece bir kere erişilerek
elde edilen sıradır. nxn boyutlu bir dizi (nxn)! değişik şekilde taranabilir. Şekil6 4x4 lük bir
dizinin 2 farklı tarama yöntemini göstermektedir.
6
Şekil6 – (a) 4x4lük dizi (b)raster tarama yönyemi (c)diğer bir tarama yöntemi
SCAN dilinin bir grameri, temel bir dizi tarama desenleri, tarama deseni dönüşümleri ve basit
tarama desenlerinden karmaşık tarama desenlerini oluşturmayı sağlayan bir dizi de kuralı
vardır. Şekil7 de gösterildiği gibi 15 temel tarama deseni vardır. Özel uygulamalar için
gerektiğinde bu temel tarama desenleri arttırılabilir ya da azaltılabilir. Tarama desenlerinin 6
çeşit dönüşümleri vardır. Bunlar; kendisi, yatay yansıma, dikey yansıma, 90, 180 ,270 derece
döndürülmeleri ve bunların çeşitli bileşimleri.
Şekil7 – Temel tarama desenleri
7
Örnek SCAN Desenleri
Şekil8 - (a) basit bir I4#Z2 SCAN desenini göstermektedir. Bu dizinin alanı
ayrılmış ve bu alan I inward spiral tarama deseniyle taranmıştır. Her
alana ayrılarak bu lanlar da Z zeta tarama deseniyle taranmıştır.
2
4
2
4
alt alana
alt alan da
2
2
alt
Şekil8 – Örnek SCAN desenleri
8
Sıkıştırılmış Resmin Bileşenleri
Sıkıştırılmış bir resim 5 bileşenden oluşur; (a) resmin boyutu (b) sıkıştırma için yakın ve
optimal bir tarama yolu ya da uygun bir tarama yolu (c) tarama yolundaki 0 ve 1’lerden
oluşan segment sayısı (d) tarama yolundaki ilk bit (e) tarama yolundaki bir dizisi. Her bileşen
bir boyutlu binary string olarak kodlanmıştır. Daha sonra bu bileşenler Şekil9 ‘daki gibi
birleştirilmektedirler. Oluşturulan bir boyutlu string sıkıştırılmış resimdir.
Şekil9 – Sıkıştırılan bir resmin bileşenleri
Şifreleme
Sıkıştırılan resmin bir boyutlu binary string olduğunu anımsayalım. Şifreleme algoritması
n
n
öncelikle şifrelenmiş resmi 2 x 2 ,2 ≤ n ≤ 9 büyüklüğünde bir boyutlu stringlere ayırır.
n
n
boyutundaki her string primary ve secondary anahtarlarla şifrelenir. Şekil10 22x22
büyüklüğündeki bir boyutlu stringin primary ve secondary anahtarlarla şifrelenişini
göstermektedir. Şifreleme işlemi Encrypt() fonksiyonuyla gerçekleştirilmektedir.
2 x2
Şekil10 – Şifrelemenin gösterimi
Sıkıştırılan resmin parçalanması, uzunluklarına göre 8 çeşit bir boyutlu string oluşturabilir.
Her biri için bu boyut 2nx2n 2 ≤ n ≤ 9 dir. Bu nedenle şifreleme algoritması 8 anahtar şiftine
ihtiyaç duymaktadır. Şekil11’de 8 çift primary ve secondary anahtar çiftini içeren dosya
görülmektedir. Dosyanın başından itibaren i. çift 2i+1x2i+1 uzunluğundaki bir boyutlu stringi
şifrelemek için kullanılmaktadır.
9
Şekil11 – Sekiz tane primary-secondary anahtar çiftini içeren dosya örneği
Şifreleme Algoritması
Girdiler: Sıkıştırılmış resim I, sıkıştırılmış resmin boyutu N, sekiz tane primary-secondary
anahtar çiftini içeren dosya F
Çıktılar: Şifrelenmiş resim.
Deşifreleme
Deşifreleme de şifrelemeye benzer, yalnız işlemler tersden yapılır. Deşifreleme Decrypt()
fonksiyonuyla sağlanır. Bu fonksiyon sıkıştırılmış ve şifrelenmiş resmi girdi olarak alır ve
10
çıktı olarak sıkıştırılmış resmi verir. Sıkıştırılmış resim açılarak da orjinal resim elde edilir.
Deşifreleme için de şifrelemede kullanılan sekiz anahtar çifti kullanılmaktadır.
Deşifreleme Algoritması
Girdiler: Sıkıştırılmış ve şifrelenmiş resim J, sıkıştırılmış ve şifrelenmiş resmin boyutu N,
şifrelemede kullanılan sekiz anahtar çiftini içeren F dosyası
Çıktılar: Sıkıştırılmış resim
Şifreleme Anahtarlarının Sayısı
S(n) anahtar dosyasındaki n. Şifreleme anahtarı çifti olsun. S(n), 2n+1 x 2n+1 uzunluğundaki tek
boyutlu stringi şifrelemek için kullanılabilecek anahtar çifti sayısıdır. Buradan S(n) aşağıdaki
formüllerle bulunur;
Tablo1 olası anahtar çiftlerinin sayısının büyüklüğünü göstermektedir. Tablodan da
görülebileceği gibi anhtar çiftlerinin denenerek bulunması çok zordur. Örneğin 16x16
boyutundaki bir resmin anahtar çiftlerinin yarısının bile denenmesi, saniyede 1020 anahtar çifti
deneyebilen bir makinada 1045 yıldan fazla sürmektedir.
11
Tablo1 – Oluşturulabilecek şifreleme anahtarları çiftlerinin büyüklüğü
Şekil12- Gray-scale resimler ve bunların sıkıştırılmış ve şifrelenmiş halleri
c) Ayna Benzeri Resim Şifreleme Algoritması[4]
Etkili bir ayna benzeri resim şifreleme algoritması önerilmektedir. Kaotik sistemden üretilen
binary diziye bağlı olarak resmin pikselleri karıştırılmaktadır. Paralel işlem, yüksek güvenlik
ve bozulmama gibi özelliklere sahiptir. Yerdeğiştirme permutasyonu kategorisinde bir resim
şifreleme algoritmasıdır. Kaotik sistemden oluşturulan binary diziye göre resmin pikselleri
ayna benzeri 4 farklı operasyonla yeniden düzenlenmektedir.
12
Ayna Benzeri Şifreleme Algoritması (Mirror-Like Image Encryption Algorithm)
f MxN büyüklüğündeki resmi göstersin, f( x, y), 0 ≤ x≤ M-1, 0 ≤ y≤ N-1, f resminin (x,y)
pozisyonundaki gray level’ini belirtsin.
Adım1: 1-D kaotik sistemi ve onun başlangıç nokatsı x(0)’ı ve k = 0 ‘ı belirle
Adım2: Kaotik sistemden x(0),x(1),x(2),...... kaotik dizisini oluştur.
Adım3: b(0),b(1),b(2),... binary dizisini x(0),x(1),x(2),... dizisinden oluştur.
Adım4:
Adım5:
Adım6:
13
Adım7:
Adım8: Algoritmayı durdur.
Deşifreleme için sadece 4-7. adımları ters doğrultuda izlemek gerekir. Aynı kaotik binary dizi
vasıtasıyla pikseller üzerinde aynı yerdeğiştirme işlemi 2 kez uygulanırsa orjinal resim elde
edilir.
Önerme1: Kaotik binary dizi dışında şifreleme algoritmasının bilindiğini varsayarsak olası
39453
131072
şifreleme sonuçları
dir. Eğer N=M=256 ise tüm olasılıklar 2
(≅ 10 ) dur.
Kaotik binary dizi önceden belirlenemeyeceğine göre şifrelenmiş resmi çözmek çok zordur.
Bu nedenle MLIE algoritması yüksek güvenlik sağlar.
Şekil13 – MLIE algoritmasının blok diyagramı.
Simulasyon Sonuçları
Simulasyonda 256x256 boyutundaki “Cman” ve “Boat” resimleri kullanılmıştır. 1-D logistic
map fm ( x) = mx(1− x) ve x(0) = 0.75 and m = 3.9 kaotik sistemi kullanılmıştır. Şifreleme
sonuçları Şekil14-(b) ve (d)’de görülmektedir.
14
Şekil14 – (a)Orijinal “Cman” (b)Şifrelenmiş “Cman” (c)Orjinal “Boat” (d)Şifrelenmiş
“Boat”
d) Kaotik Resim Şifreleme Algoritması[5]
Kaotik sisteme dayalı kaotik dizi üretilmektedir. Bu kaotik dizi, binary dizi üretmek için
kullanılır. Bu binary diziye bağlı olarak resmin pikselleri yeniden düzenlenmektedir.
f, MxN büyüklüğündeki resmi göstersin, f( x, y), 0 ≤ x≤ M-1, 0 ≤ y≤ N-1, f resminin (x,y)
pozisyonundaki gray level’i, f’ de aşağıdaki tanımlar vasıtasıyla dönüştürülen resmi ifade
etsin.
Tanım1:
eğer l=0 ise f deki i. satırı (0 ≤ i≤ M-1), p piksel sola, l=1 ise p
piksel sağa döndürmek için tanımlanmıştır.
Tanım2:
eğer l=0 ise f deki j. sütun (0 ≤ j≤ N-1), p piksel yukarıya,
l=1 ise p piksel aşağıya döndürmek için tanımlanmıştır.
Tanım3:
f deki (x,y) pozisyonundaki pikselleri döndürmek için
tanımlanmıştır, öyle ki; x + y = k, 0 ≤ k≤ M + N− 2, eğer l=0 ise aşağı-sol yönünde p piksel,
l=1 ise yukarı-sağ yönünde p piksel döndürmek için tanımlanmıştır.
Tanım4:
f deki (x,y) pozisyonundaki pikselleri döndürmek için
tanımlanmıştır, öyle ki; x− y = k, −( N - 1) ≤ k ≤ M− 1, eğer l=0 ise yukarı-sol yönünde p
piksel, l=1 ise aşağı-sağ yönünde p piksel döndürmek için tanımlanmıştır.
15
Örneğin 5x7 boyutundaki Şekil1-a’daki f resmini ele alalım.
ve
gösterilmektedir.
,
işlemlerinin sonuçları sırasıyla Şekil-15(b), 15(c) ve 15(d)’de
Yukarıdaki tanımlara dayanarak f resmi üzerindeki şifreleme prosedürü aşağıdaki şekilde
açıklanmaktadır.
Chaotic Image Encryption Algorithm(CIE)
Adım1: Kaotik sistemi ve onun başlangıç noktası x(0)’ı, f resminin satır sayısı M, sütun
sayısı N, iterasyon sayısı no, ve a, b, ve g sabitlerini belirle.
Adım2: Kaotik sistemden kaotik x(0),x(1),x(2),..... dizisini üret.
Adım3: Binary b(0),b(1),b(2),.... dizisini x(0),x(1),x(2),... dizisinden üret.
Adım4:
16
Adım 5: Algoritmayı durdur.
4. adım birbiri ardına ardışık döngüler içermektedir. İlk iç döngüde her satırdaki elemanlar
aynı anda sağa ya da sola p piksel taşınabilir. Dahası her satır paralel olarak işlenebilir. İkinci
döngü de her sütun için aşağı ve yukarı yönlerdeki benzer işlemleri içerir. Üçüncü ve
dördüncü döngülerde ise tüm pikseller 45 ve 135 derecelik yönlerde benzer şekilde
işlenmektedirler.
Deşifreleme prosedürü ise algoritmadaki döngüleri ve tanımlanan yönleri tersden izlemekle
sağlanır.
Şekil15 – (a) f (b)
(c)
(d)
17
Önerme1: Üretilen binay dizi hariç şifreleme prosedürünün bilidiğini varsayalım.
Şifrelemenin olası sonuçları
kadardır.
İspat: NxM boyutundaki resmi şifrelemek için kullanılan binary dizideki toplam eleman
sayısı (3M + 3N − 2) × no, ve
farklı şekilde şifreleme olasılığı vardır.
N=256, M=256 ve no = 12 olduğu durumu düşünelim. Binary dizide
15340
2
(≅ 10
4617
) olasılık
3
vardır. Hatta a, b, ve g değerlerinin deçimi de dikkate alındığında bu değer 10 defa
arttırılabilir. Bu hesaplama güçlüğü resmin deşifrelenebilmesini çok zorlaştırır. Bu nedenle
CIE (Chaotic Image Encryption) algoritması yüksek güvenlik sağlar.
Simulasyon Sonuçları
Bu yaklaşımın geçerliliğini göstermek amacıyla 256x256 boyutundaki “Lena” resmi
kullanılmıştır. Uygulanan kaotik sistem 1-D logistic map fm ( x) = mx(1− x) with x(0) = 0.75
and m = 3.9 ‘dur. Binary dizi b(0),b(1),... ise; x(0),x(1),...den 10 x x(k) (k=0, 1, 2, ... için)
olacak şekilde ...... b(8 k+0) b(8 k+1) b(8 k+2) b(8 k+3). b(8 k+4) b(8 k+5) b(8 k+6) b(8
k+7)...‘den elde edilir. no = 12, a = 6, b = 4, and g=2 olarak seçilmiştir.
Şekil16-b’ye göre ite=4 için orjinal resim seçilememektedir. İterasyon devam ederse Şekil16(c)ve(d)’deki şifrelenmiş resimler kaos’tadır. Bu nedenle CIE algoritması orjinal resmin çok
çabuk kaos’a ulaşmasını sağlar.
18
Şekil16 – (a)Orjinal “Lena” resmi (b) ite=4 (c) ite=8 (d) ite=12 için şifrelenmiş sonuçlar.
e) Vektör Kuvantumlama (Vector Quantization - VQ) Temelli Resim Kriptosistemi[3]
VQ, resim sıkıştırması için etkili bir yoldur. Temel olarak; resim sıkıştımadaki en iyi
performans her zaman skalerlerin yerine resim vektörlerinin kodlanmasıyla elde
edilebileceğini belirten Shannon’un rate-distortion teorisinden türetilmiştir.
Resim sıkıştırmak için VQ kullanmanın iki avantajı vardır. İlki VQ için gerekli olan bit-rate
küçüktür. VQ, orjinal resmi codebook’taki bir dizi indise sıkıştırdığı için disk alanı ve kanalın
bant genişliğinden biraz tasarruf edebiliriz. Diğer avantajı ise hızlı deşifreleme prosedürü için
basit bir donanım yapısı vardır.
19
Genel olarak VQ işlemini iki aşamaya ayırıyoruz; vektör kodlama (encoding) ve vektör kod
çözme (decoding). Vektör kodlama kısmı Şekil17-de görülmektedir. Orjinal X resmini
{X1,X2,....,Xm} vektör dizisine ayırmaktadır. Buradaki m, X’deki vektör sayısını ifade
etmektedir. Daha sonra VQ, X’de bu vektörleri ifade edebilmek için uygun codebook’u
seçmektedir. A, {A1,A2,......,An}’den oluşan codebook’u belirtsin. Burada Ai, i=1,2,...,n
codeword’leri, n de codebook’un boyutunu göstersin. Genel olarak her codeword’un boyutu
8x16 bit kadardır.
Her bir Xi resim vektörünü şifrelemek için VQ, uygun bir Aj codeword’ünü Aj ve Xi
arasındaki bozulma (ya da uzaklık) en az olacak şekilde seçmektedir. Aj’ye Xi’ye en yakın
codeword deriz. Burada Aj ve Xi arasındaki bozulma Euclid uzaklığının karesi ile hesaplanır.
Burada Ajl ve Xil, sırasıyla Ajl ve Xil’nin l. bileşenlerinin değerlerini göstermektedirler. Aj’nin
seçiminden sonra VQ Aj’nin j indeksini Xi ile değiştirmek için kullanır.
Vektör decoding kısmında ise VQ aynı A codebook’unu kodlanmış (ya da sıkıştırılmış) resmi
çözmek için kullanır. Her kodlanan indeks için decoder indeks değerine göre codebook’tan bir
codeword seçer. Bu codeword aslında encoder tarafından seçilen en yakın codeword’dür. VQ
decoder, kodlanmış indisler tarafından işaret edilen bu en yakın codeword’leri toplar ve
açılmış (decompressed) X resmini oluşturur.
Şekil17– VQ’da sıkıştırılmış bir resmin şifreleme işleminin blok diyagramı
VQ orjinal resmi, codebook’taki indislerin bir dizisi olarak sıkıştırır. Diğer bir deyişle VQ
orjinal resmi codebook ve bir dizi indisin kombinasyonu olarak dönüştürür. Şemamız VQ’ya
dayandığı için iki veri öğesi iletilmelidir. İlki codebook, diğeri de codebook üzerindeki indis
dizisidir. Bu öğeleri şifrelemek için iki yol vardır. İlki codebook’taki indisleri direk olarak
ticari kriptosistemleri (DES ve RSA gibi) kullanarak şifrelemektir. Direk olarak indis dizisini
şifreleyen resim kriptosisteminin blok diyagramı Şekil17’de görülmektedir. Diğer yol da
codebook’u şifrelemektir. Codebook üzerindeki indis dizisi plaintext formatında
iletilmektedir. Codebook’u şifreleyen resim kriptosisteminin blok diyagramı Şekil18’de
görülmektedir. Aynı codebook’a sahip çok sayıda resim şifreleneceği zaman ikinci yaklaşım
ilkinden daha iyidir.
20
Şekil18 – VQ’da codebook’u şifreleme işleminin blok diyagramı
Bu yeni kriptosistem üç aşamayı içermektedir; şifreleme, iletim ve deşifreleme. Şifreleme
aşamasında orjinal resmi indis dizisine sıkıştırmak için VQ uygulanır. Daha sonra codebook
dağılımı karıştırılır ve codebook’un bu parametreleri simetrik kriptosistemle şifrelenir.
İletim aşamasında codebook’un şifrelenen verisi ve indis dizisi public kanaldan gönderilir.
Gizli anahtar K alıcıya gizli kanaldan gönderilir. K anahtarını iletmek için aslında iki yol
kullanılabilir. İlki gizli kanaldır. Diğeri ise ayrık logaritmaların hesaplama güçlüğüne
dayanmaktadır.
Alıcı şifreli veriyi ve K anahtarını aldığında cipherimage’i hatasız deşifreleyebilir.
Deşifreleme prosedürü şifreleme prosedürü ile simetriktir.
Güvenlik Analizi
Bu yeni resim kriptosistemi plainimage’in bazı önemli parametrelerini simetrik
kriptosistemlerle (DES, FEAL gibi) şifrelemektedir. Ticari uygulamalar için DES geniş bir
kullanım alanına sahiptir. DES güvenli bir gizli anahtarlı kriptosistem olduğuna göre
kriptoanalistler cipherimage’i kıramazlar.
3. Resim Şifreleme Sistemlerinin Kriptoanalizi
a) Binary Resim Şifreleme Şemasının Kriptoanalizi[6]
1998 yılında Chung ve Chang değiştirilmiş SCAN diliyle binary resimleri şifreleyen bir
metod sundular. Scan ağacı yapısının aynı seviyelerine farklı tarama desenleri koyarak ve iki
boyutlu run-encoding (2DRE) tekniğini uygulayarak kendi şemalarının yüksek güvenlik ve
sıkıştırma sağladığına işaret etmişlerdir.
İyi bir şifreleme şeması için şifreleme anahtarının belli bir süre değişmediği kabul etmek
uygundur. Aksi halde anahtar iletimi de ekstra yük getirecektir. Bu kabule dayanarak Chung
ve Chang’ın şeması, farklı resimleri şifrelemek için aynı anahtar kullanıldığı durumlarda
zayıftır. Burada bilinen plaintext saldırısı kullanılacaktır. Yani birkaç plainimage cipherimage
çifti elde ettikten sonra tüm tarama desenleri kombinasyonlarını üretmeden onların şemasını
kırabiliriz.
21
Resim Şifreleme Şeması
Chung ve Chang’ın resim şifreleme şemasının blok diyagramı Şekil19’de görülmektedir.
Chung ve Chang’ın scan quadtree yapısında aynı seviyeye farklı tarama desenleri
uygulanmasını sağlayan değiştirilmiş SCAN dilinden sözedeceğiz. Şifreleme işlemini bir
örenkle göstereceğiz.
Şekil19 – Şifreleme ve deşifreleme şemasının blok diyagramı
Değiştirilmiş SCAN dili
2nx2n boyutlu binary resimiçin SCAN dili (VN,VT,P,S) dörtlüsü ile ifade edilebilir. S
başlangıç sembolü, P üretim kuralları,
nonterminal sembollerin dizisi,
de terminal sembollerin dizisidir (Li quadtree’de i. seviyedeki
farklı tarama desenlerini Rij de Şekil20’de tanımlanan 24 farklı tarama deseninden birisidir).
Her SPk deseni, 2x2 desen penceresi için k. tarama metodunu göstermektedir.
Şekil20 – 24 tarama deseni
Değiştirilmiş SCAN dilinin tanımına göre Şekil21’deki binary resmi Şekil22’deki
quadtree’sine aşağıdaki üretim kuralını uygulayarak şifreleyebiliriz.
22
Şekil21 – 23x23 binary resim
Şekil22 – yandaki resmin quadtree’si
Şekil22’deki quadtree’ye üretim kuralını uyguladıktan sonra oluşan şifrelenmiş quadtree
Şekil23’de gösterilmektedir. Bu şifrelenmiş quadtree üzerinde raster scan metodu
uygulanarak Şekil24’deki şifreli resim elde edilir.
Şekil23 – Şifrelenmiş quadtree
Şekil24
–
Raster
tarama
yöntemiyle
elde
edilen
şifrelenmiş resim
Şu ana kadar Chung ve Chang’ın sunduğu şifreleme yöntemi gösterilmiştir. Şifreleme
işleminden sonra cipherimage, şifrelenen resmi sıkıştırarak elde edilir.
23
Resim Şifreleme Şemasının Kriptoanalizi
2nx2n lik plainimage Pnn ve onun 2DRE tekniğiyle sıkıştırılan cipherimage’i C’yi elde
ettiğimizi kabul edelim. Öncelikle olası şifreleme kuralını bulabilmek için C’yi açmamız
gerekir. m bitlik C’yi açabilmemiz için binary gösterimde her uzunluğu ifade etmek için kaç
bite ihtiyaç duyacağımıza karar vermeliyiz. C’nin en yüksek sıkıştırma oranına sahip
olduğunu ve her uzunluğun l bitlik sabit uzunluklu binary gösterimle ifade edildiğini kabul
edelim. l’yi aşağıdaki prosedürle bulabiliriz;
• C’deki ilk sıfır olmayan biti bul. Burada k. bit olduğunu kabul ediyoruz. (k ≤ 2l)
• L = {l’| l’ m’nin bölenidir, 1 ≤ l’ ≤ k} hesaplanır.
• L’deki her l’ için parçalanmış piksel stringlerinin sayısı s’=m/l’-1 olsun. C’yi s’ ve l’
bilgisiyle açtığımızda bir binary string dizisi elde ederiz. ri de (1 ≤ i ≤ s’) (i+1). binary
string’in decimal gösterimi olsun. rmax, ri’lerin maksimumu olsun. Eğer l’ aşağıdaki
tüm şartları sağlamazsa l’ yü L’den çıkart.
1. l’ = log 2 rmax  +1.
2. r1 > 0, r2 > 0, r3 > 0,..............., rs’ > 0.
3. Açılmış resimdeki siyah piksellerin sayısı Pnn plainimage’indekilere eşittir.
4. Açılmış resimdeki bayaz piksellerin sayısı Pnn plainimage’indekilere eşittir.
Örneğin
2DRE
tekniğini
kullanarak
Şekil24’ün
sıkıştırılmış
gösterimi
{1,4,9,1,22,1,1,1,1,4,6,1,1,8,2,1,1}. Bu gösterimde 22 bölünmüş piksel stringleri arasında
maksimum olanıdır. Yine bu şifrelenmiş gösterimde her eleman l=5 bitle gösterilir. Bu
nedenle sıkıştırılmış şifrelenmiş resmin boyutu m = 5 x 17 = 85 bitdir. C’yi aldıktan sonra
yukarıdaki prosedürü kullanarak l’yi bulabiliriz. Öncelikle C’deki ilk sıfır olmayan bit beşinci
bittir, dolayısıyla k=5 ve L={1,5}. l’=1 olan durumu düşünelim; s’=85/1-1=84 elde ederiz.
C’yi l’=1 ve s’=84 bilgisiyle açtığımızda tüm ri lerin sıfırdan büyük olmadığını görürüz. Bu
sebeple l nin 1 olmadığı sonucuna varırız. İkinci denememizde l’=5 aldığımızda s’=16
bulunur ve açılan resim tüm şartları sağlamaktadır. Öyleyse l’=5 için açılmış şifreli resmi elde
ederiz.
C’yi açma işleminden sonra açılan şifreli resme Enn diyelim. Olası şifreleme kuralı W’yi
aşağıdaki prosedürle bulabiliriz;
• Plainimage Pnn nin Qp quadtreesini oluştur.
• Ters işlemi kullanarak Enn ‘i şifrelenmiş Qe quadtreesini oluşturmak için kullan (Enn,
şifrelenmiş Qe quadtreesinden raster tarama yöntemiyle elde edildiği için).
• Qp ve Qe’nin her düğümü için piksel değerlerinin toplamını hesapla.
• Rij permütasyon kuralını hesapla (1 ≤ i ≤ n, ≤ j ≤ 4i-1).
• Bir tane Rij belirlendikten sonra bu permutasyon kuralını uygulayarak Qe’yi
dönüştürürüz. Bu permutasyon kurallarını toplayarak olası W şifreleme kuralını elde
edebiliriz.
Örneğin Şekil21’deki 23x23 binary resmi P33 plainimage’i ve Şekil24’teki şifrelenmiş resmi de
E33 cipherimage olarak kabul edelim. Şekil25’de gösterildiği gibi bu iki resimden piksel
değerleri toplamıyla birlikte Qp ve Qe quadtree’lerini oluşturabiliriz. Şekil25 (a) ve (b)deki
tree’lerin 1 seviyeleri için sırasıyla Qp{5,0,10,6} ve Qe{5,0,6,10} toplamlarını görebiliriz. Bu
bilgiyi kullanarak 1. seviye için tarama deseninin SP1 ve R11=SP1 olduğunu görüyoruz. R11
belirlendikten sonra yeni Qe Şekil25 (c)de gösterilmektedir. 2. seviyede sırasıya R21,R22,R23
ve R24 hesaplanır. {4,0,1,0} ve {4,0,0,1}i kullanarak R21=SP1 ya da SP3 olduğunu buluruz. R21
i tek başına bulmak için yeterli bilgimiz olmadığı için R21=SP1 | SP3 şeklinde ifade ederiz (“|”
veya anlamına gelmektedir). Bundan sonra yukarıdaki adımları tüm Rijler bulunana kadar
24
rekürsif olarak tekrarlarız. Bu Rijleri toplayarak olası şifreleme kuralı W’yi elde edebiliriz.
Fakat bazı durumlarda Rij permütasyon kuralını tek başına belirlemek için yeterli bilgi
olmayabilir. Bu durumda ikinci bir plainimage cipherimage çiftine ihtiyaç duyulmaktadır.
Şekil25 – Quadtree yapısı (a) piksel değerleri toplamıyla Qp (b)piksel değerleri toplamıyla Qe
(c) R11 belirlendikten sonra Qe
b) Space-filling Curves Temelli Video Şifreleme Şemasının Kriptoanalizi[7]
CRYPTO’87 de Adi Shamir ve Yossi Matias video karıştırma tekniği sunmuşlardır. Bu teknik
resimleri ve resim dizilerini şifrelemek için boşluk doldurma eğrilerini (space-filling curves
SFC) kullanmaktadır. Shamir ve Matias standart kriptografi tekniklerinin resimleri şifrelemek
için yetersiz olduklarını belirtmişlerdir. Bu iddia için üç temel neden vardır;
• İletilen sinyal analogdur,
• İletim hızı çok yüksektir,
• İzin verilen bant genişliği sınırlıdır.
25
Sunulan bu teknikte temel fikir, resmi bir çerçeve arabelleğine koyup resmi pseudo-random
SFC ile taramaktır. Kullanılan algoritmadan bağımsız olarak SFC’ler Şekil26’daki gibi
görünmektedir.
Resim dizilerini şifrelemek için SFC kullanmanın iyi bir fikir olmadığı gösterilecektir. Bu
yaklaşım SFC’yi üretecek algoritmadan bağımsızdır. Sunulan yaklaşım şifrelemenin SFC’ler
kullanılarak yapıldığını ve SFC’yi üretmek için gerekli algoritmadan bağımsızdır. Her bir
çeçeve için şifreleyicinin farklı bir SFC seçtiği kabul edilmektedir. Bu yaklaşım sabit resimler
için SFC kullanımı üzerine bir saldırı yöntemi değildir. Bu tekniği sabit resimlerde kullanmak
olanaksızdır.
Şekil26
Resimlerin Özellikleri
Resim dizilerinin iletimi yaklaşık olarak saniyede 25 çerçeve ile yapılmaktadır. Bu hız dizide
fazla hareket olduğunda gereklidir. Fakat bazen dizide fazla hareket olmaz. Bu durumda aynı
resim ardışıl olarak birkaç çerçeve boyunca iletilir. Burada şifreleyicinin her çerçeve için
farklı bir SFC seçtiğini kabul ediyoruz. Bu da eğer dizide hareket yoksa aynı resmin farklı
SFC’ler tarafından taranacağını belirtir.
Piksel değerleri resimde düzgün bir dağılım göstermemektedirler. Bu durum komşu pikseller
için de geçerlidir. Diğer yandan resimde sadece bir kere bulunan bazı komşu piksel çiftleri
bulunmaktadır. Sadece bir kere görülen bu piksel çiftlerine eşsiz çiftler denilmektedir.
p1 ve p2 noktaları arasındaki uzaklık d(p1,p2) = pv + ph la ifade edilir. Burada pv, p1’le p2
arasındaki dikey nokta sayısı, ph da p1’le p2 arasındaki yatay nokta sayısıdır.
Bu uzaklık formulünü kullanarak eşsiz çiftler arasındaki olabilecek maksimum uzaklığı
hesaplayabiliriz. Bir SFC scan’inde up1 ve up2 eşsiz çiftleri olsun. Bu iki eşsiz çift arasındaki
piksel sayısını n(up1,up2) sayabiliriz. Bu orjinal resimde iki eşsiz çift arasındaki olabilecek
maksimum uzaklıkla aynıdır. Eğer aynı resmin birçok SFC scan’ine sahip olabilirsek daha iyi
bir sonuç alabiliriz. Böylece iki eşsiz çift arasındaki olabilecek maksimum uzaklığı;
dmax(up1,up2) = min n(up1,up2)
26
formulüyle bulabiliriz. Burada min up1 ve up2’yi içeren bütün scan’ler içindir. Eğer iki eşsiz
çift ortak bir piksele sahipse n(up,up2) = 0 olarak tanımlanır.
Kriptoanaliz
Öncelikle resmin farklı scan’lerde eşsiz çiftleri bulmalıyız. Bunu yaparken iki problemle
karşılaşırız. Her iki problem de resmi SFC kullanarak tararken tüm piksel çiftlerinin elde
edilememesinden kaynaklanmaktadır. Yaklaşık olarak orjinal resimdeki çiftlerin yarısını elde
edebiliriz.
SFC scan’de eşsiz çifti gözden kaçırma riski bulunmaktadır. Bu problemi eğer elimizde aynı
resmin birden fazla scan’i varsa aşabiliriz. Eğer aynı resim birden fazla iletilecekse ve
şifreleyici her seferinde farklı bir SFC kullanırsa aynı resmin birden fazla scan’ini elde
edebiliriz. Büyük ihtimalle eşsiz çiftlerden biri bu scan’lerde olacağından eşsiz çiftlerin büyük
çoğunluğunu elde edebiliriz.
Bazı piksel çiftleri resimde birkaç defa görülebilir. Diğer çiftleri gözden kaçırıp SFC scan’de
sadece bir tanesini görebiliriz. Bu durumda bu scan’de bu piksel çifti eşsiz çift gibi
görülebilir. Bu problem de aynı resmin farklı scan’leri kullanılarak giderilebilir.
Kriptoanalizdeki ikinci adım eşsiz çiftler etrafındaki fraklı scan’leri senkronize etmektir.
Farklı SFC’ler eşsiz çiftlerin çevresini farklı şekillerde tararlar. Kriptoanalizin bu kısmında 8
tanesi önemlidir. Bunlar Şekil27 (a) ve (b)’de gösterilmişlerdir.
Şekil27 - (a)
Şekil27- (b)
Eğer Şekil27 (a)’nın en solundaki scan’i bir SFC’de Şekil27 (b)’nin en solundakini de bir
başkasında bulabilirsek eşsiz çiftin üzerindeki iki pikselin değerini bulabiliriz. Eğer Şekil27
(a) ve (b)’nın en sağındaki scan’i farklı iki SFC’de bulabilirsek eşsiz çiftin altındaki iki
pikselin değerini bulabiliriz. Aynı durum aradaki şekiller için de geçerlidir. Eğer eşsiz çiftin
hem üzerindeki hem de altındaki piksel çiftini elde edebilirsek genellikle bu eşsiz çifti
çevreleyen 6 pikseli de bulabiliriz (Şekil28). Bu durum, eşsiz çiftin komşusu olan piksellerin
her birinin 4 farklı değerden birine sahip olmasıyla mümkündür.
27
Şekil 28
Eğer eşsiz çiftin çevresini tamamlamışsak bunları biraraya toplamaya çalışırız. Şekil29’daki
işaretli çiftleri eşsiz çift oluşturuyor mu diye araştırırız. Bu işlem tüm çevre için yapılır.
Eğer bu çiftler arasında eşsiz bir çift bulmuşsak bu iki çevreyi birleştiririz. Bu işlem tüm eşsiz
çiftlerin çevresi araştırılana kadar terkarlanır. Bu bize resmin bazı parçalarını verir.
Şekil29
Bu parçaların biribirinden ne kadar uzakta olduğunu bilemk isteriz. Tam uzaklığı hesaplamak
olanaksızdır. Ama olabilecek maksimum uzaklığı hesaplayabiliriz. P1 ve p2 parçaları
arasındaki uzaklığı; Dmax(p1,p2) = min Dmax(upi,upj) formulü ile bulunur.
Uzaklık bilgisini kullanmadan önce oluşturulan her parçayı genişletmeye çalışırız. Aynı
resmin farklı scan’lerini kullanırız. Bu metod Şekil5’de açıklanmıştır.
Şekil30-(a)’daki gibi bir scan’imiz ve Şekil30-(b)’deki gibi de bir paçamız olsun. Şekil30
(b)’deki piksel1’in hem üzerindeki hem de altındaki piksel piksel3’den farklıdır. Dolayısıyla
piksel3’ü koyabileceğimiz tek yer piksel2’nin sağındaki boş alandır. Bu da parçayı bir miktar
genişletebileceğimiz anlamına gelir. Bu işlem tüm scan’ler ve tüm parçalar için tekrarlanır.
Bu adımdan sonra parçalar birbirine bağlanabilecek kadar genişlemiş olacaklardır.
Şekil30 – (a)
28
Şekil30 – (b)
Şimdi de farklı parçaları birleştirmek için parçalar arasındaki uzaklık kullanılacaktır. Parçalar
arasındaki uzaklığın sıfır olduğu durum Şekil31’de gösterilmiştir.
Şekil31
Şekil31’de farklı iki parçamız var. Parçalar Dmax(p1,p2)=0 uzaklığa sahiptir. (*) ile işaretli iki
piksel, sıfır uzaklığa sahip iki eşsiz çift için her iki parçada da ortaktır. Bu bilgiyi kullanarak
bu iki parçayı 8 farklı şekilde birleştirebiliriz; dört kere 90 derece döndürerek ve aynada
yansıtarak. Eğer iki parçayı birden fazla şekilde bağlayabilme olasılığımız varsa onları
bağlamıyoruz. Burada sadece bir tanesi geçerli olduğu için onları tek parça haline getiriyoruz.
Bu şekilde karşılıklı uzaklıkları sıfır olan bütün parçaları birleştirmeye çalışıyoruz. Bu işlemi
daha büyük uzaklıklar için de deniyoruz.
29
Son iki adım istenildiği kadar tekrarlanabilir. Son adımda bu işlem, hem aynı uzaklık hem de
artan uzaklıklar için yapılabilir.
Resimdeki Eşsiz Çiftlerin Yerleri
Önemli bir soru da resimde eşsiz çiftlerin nerede yeraldığıdır. Tümü eşsiz çiftlerden oluşan
büyük bir parça yaratabildiğimizi düşünelim. Bu durumda resmin neye benzediğini
görebilirmiyiz?
Resmin bir kısmında pikseller hemen hemen aynı değerlere sahip olabilir. Resmin bu
kısmında ya çok az ya da hiç eşsiz çift yoktur. Diğer yandan resmin köşelerden oluşan kısmı
birçok eşsiz çift içerebilir. Şekil32’de “Lena” resmi ve ondaki eşsiz çiftleri gösteren resim
görülmektedir. Resimde önemli ayrıntıları içeren yerlerdeki eşsiz çiftleri bulduğumuzu
görebiliriz.
Şekil32
Tanımlanan algoritmayı kullanarak “Lenna” resminin bir kısmını kırmaya çalıştık. Resim
64x64 piksel boyutundadır. Aynı resmin 25 farklı scan’ini kullandık. Kriptoanalizin sonucu
Şekil33’de görülen dört tane geniş parça ve bazı ufak parçalardır.
Şekil33
30
4. Sonuç
Sayısal imza kullanarak resim şifreleme tekniği her boyuttaki resimle iyi çalışır. Bu şifreleme
tekniğinde resmin boyutuna bağlı olarak hata kontrol kodlaması yöntemi seçilir. Bu özel
kodlama yöntemini bilmeden orjinal resmi elde etmek çok zordur. Eklenen redundacy
yüzünden resmin boyutları da değişmektedir. Bu da resmi kırmayı zorlaştırmaktadır. Ayrıca
kullanılan sayısal imza ile de resmin doğruluğunu kanıtlamak için kullanılmaktadır[1].
SCAN dilini kullanarak kayıpsız resim sıkıştırma ve şifreleme, binary ve gray-scale resimler
üzerinde hem sıkıştırma hem de şifreleme yapan bir yaklaşımdır. Sıkıştırma ve şifreleme
şemaları SCAN metadolojisine dayanmaktadır. Kayıpsız sıkıştırma ve güçlü şifreleme
yaklaşımı onu tıbbi resimleme, multimedya uygulamaları ve askeri uygulamalarda çok yararlı
kılmaktadır. Dezavantajı ise sıkıştıma ve şifrelemenin çok zaman almasıdır[2].
Ayna benzeri resim şifreleme algoritmasında kaotik sistemden üretilen binary diziye bağlı
olarak resmin pikselleri karıştırılmaktadır. Paralel işlem, yüksek güvenlik ve bozulmama gibi
özelliklere sahiptir. Yerdeğiştirme permutasyonu kategorisinde bir resim şifreleme
algoritmasıdır[4].
Kaotik resim şifreleme algoritmasında kaotik sisteme dayalı kaotik bir dizi üretilmektedir. Bu
kaotik dizi, binary dizi üretmek için kullanılır. Bu binary diziye bağlı olarak resmin pikselleri
yeniden düzenlenmektedir. Simulasyon sonuçları bu algoritmanın resmi çok çabuk kaosa
ulaştırdığını göstermektedir[5].
Vektör kuvantumlama kesim kriptosistemi hem sıkıştırma hem de hızlı şifreleme
sağlamaktadır. Bu metotda codebbok’daki veriler karıştırılır ve codebook’un parametreleri
simetrik kriptosistemle şifrelenir[3].
Binary resim şifreleme şemasının kriptoanalizi Chung ve Chang’ın resim şifreleme şemasının
bilinen plaintext saldırısına karşı zayıf olduğunu göstermiştir. Bundan kaçınmak için locality
özelliği yok edilmelidir. Diğer bir deyişle şifreleme algoritması cipherimage’i mümkün
olduğunca kaotik yapmalıdır. Ayrıca şifreleme ve sıkıştırmanın sırası değiştirilmelidir[6].
Space-filling curves temelli video şifreleme şeması kriptoanalizi, resim dizilerini şifrelemek
için space-filling curve kullanmanın uygun olmadığını göstermiştir. “Lenna” örneğinde sonuç
orjinal resmin neye benzediğini tahmin edebilmemizi sağlayacak kadar iyidir[7].
31
5. Referanslar
[1] – Aloha Sinha, Kehar Singh, “A technique for image encryption using digital signature”,
Optics Communications, February 2003
[2] – S.S.Maniccam, N.G. Bourbakis, “Lossless image compression and encryption using
SCAN”, Pattern Recognition, 20 January 2000
[3] – Chin-Chen Chang, Min-Shian Hwang, Tung-Shou Chen, “A new encription algorithm
for image cryptosystems”, The Journal of Systems and Software, 22 August 2000
[4] – Jiun-In Guo, Jui-Cheng Yen, “A new Mirror-Like Image Encryption Algorithm and Its
VLSI Architecture”, National Lien-Ho College of Technology and Commerce, Miaoli,Taiwan
[5] – Jui-Cheng Yen, Jiun-In Guo, “A new Chaotic Image Encryption Algorithm“, National
Lien-Ho College of Technology and Commerce, Miaoli,Taiwan
[6] – Chin-Chen Chang, Tai-Xing Yu, “Crypanalysis of an encryption scheme for binary
images”, Pattern Recognition Letters, 8 February 2002
[7] – Michael Bertilsson, Ernest F. Brickell, Ingemer Ingemarsson, “Cryptanalysis of Video
Encryption Based on Space-Filling Curves”, Linköping University – Sweden, Sandia National
Laboratories - USA
32