Merhaba Değerli Arkadaşlar bu yazımda sizlere son günlerde yaptığım uzun uğraş sonucu bitirdiğim Secret Sharing (Sır Paylaşımı) projemi anlatacağım aynı zamanda bunu anlatırken internette bu konuda açık bir şekilde yayınlanan ilk yazılı kaynak olması bakımından da haklı bir gurur yaşayacağım.

Çünkü ben kendim 2 gün boyunca internette türkçe kaynak araştırdım bu konuda ancak bulamadım. Belki bu yazımdan sonra sizlerde veri güvenliği alanında böylesi güzel ve ilgi çekici problemlerden uğraşıp türkçe eser olarak yaptıklarınızı paylaşırsınız.

Bu uygulama Çok katmanlı bir yapıdan oluştuğu için elimden geldiği kadarıyla tüm Adımlarını paylaşacağım. Şimdi Bakalım meşhur Secret Sharing nedir neden kullanılır??

Shamir Yöntemiyle Secret Sharing

Secret Sharing yöntemi ilk defa 1979 yılında Shamir ve Blakley tarafından ortaya atılmıştır.Bu yönteme aynı zamanda ( k,n ) eşik şemasıda denmektedir. Secret Sharing metodu Ses ve Text veriler üzerinde de uygulanabildiği gibi görüntü üzerinde de uygulanabiliyor biz bu uygulamamızda görüntü üzerinden Secret Sharing yaptığımız için uygulama adımlarını da yine görüntü dosyaları üzerinden anlatacağım.

 Bu yöntemin ana fikri orijinal bir resmi n tane parçaya ayırmak ardından da bunu n tane insana paylaştırmaktır.En az k tane resim bir araya geldiğindeyse orijinal görüntü elde edilmelidir.Şimdi Thien ve Lin adı verilen 2 tane araştırmacının Shamirin yöntemini kullanarak oluşturdukları Gizlilik paylaşımı şemasını inceleyelim.

Thien Ve Lin Gizlilik Paylaşım Şeması

 Thien ve Lin adlı 2 araştırmacı Shamir in ortaya attığı Gizlilik paylaşımı şemasını kullanarak ( k,n ) eşik tabanlı görüntü paylaşımını ortaya atmışlardır.Bu yöntemin ana fikri |S| boyutundaki P adlı resimden n tane paylaştırılmış görüntü elde edebilmek için (k-1). Dereceden bir polinom elde etmektir. O polinomun matematiksel olarak ifade edilmiş şekli aşağıdadır.

Sx (i,j) = P ( ik+1, j) + P( ik+2, j)x +P( ik+3,j)x2 +……+P( ik+k,j)xk-1  (mod p)

Bu yöntemde oluşturulacak olan Gizli görüntülerin boyları orijinal görüntünün 1/k sı büyüklükte olmalıdır.Görüntü n tane parçaya ayrıldıktan sonra en az k tanesi bir araya geldiğinde orijinal görüntü tekrar elde edilmelidir.

Görüntüler n parçaya ayrıldıktan sonra k tanesinin bir araya gelmesiyle orijinal görüntünün tekrar elde edilmesi için Lagrange İnterpolation yöntemi kullanılmaktadır.İşte yöntemin matematiksel ifadesi:

 

Örneğin elimizde şu polinom olsun:

Ve bu polinoma ait olan görüntüyü 6 parçaya ayırmış olalım.6 parça içerisinden 3 tane parçayı birleştirerek görüntüyü elde etmek istersek her bir nokta ve ona karşı düşen polinomda ki değeri şöyle olur.

Biz bu noktalar içerisinden herhangi 3 taneyi alalım onlar şu noktalar ve karşı düştüğü değerler olsun:

Bu 3 noktaya karşı düşen Lagrange interpolation değerleri şunlar olacaktır.

 

Şimdi bu 3 değerden hareket ederek ilk durumu oluşturabiliriz yani orijinal görüntüye karşı düşen değeri bunun için gerekli fonksiyon şu olur:

Bu toplam sembolünü matematiksel olarak  açtığımızda ve gerekli değerleri yerine koyduğumuzda karşımıza şu polinom gelicektir:

 

Bu polinomu düzenlediğimizde son sonuç önceki ilk polinom olacaktır (o da aşağıda verilmiştir) ve buda işlemimizin doğru olduğuna dair bir ispat teşkil etmektedir.

 

Bunun dışında Lagrange İnterpolation yönteminin yerine Lineer Denklem sistemini kullanarak ta sonuca varabiliriz ki o yöntemde şöyle olmaktadır.

(k,n) eşik değerli bir görüntü için k değerimiz 3, n değerimiz 6 olsun bu durumda eğer ilk 3 noktayı seçersel karşımıza şöyle bir lineer denklem sistemi gelmektedir.

X+y+z=S1

X+2y+4z=S2

X+3y+9z=S3

Olmaktadır bunu da lineer denklem sistemine dökersek karşımıza şu ifade çıkacaktır.

 

Bu lineer denklem sisteminde S1,S2 ve S3 değerleri parçalanmış görüntülerimizin herbir değerini temsil eder orijinal görüntüyü elde etmek içinse ortadaki matriste bulunan A,B ve C değerlerini bulmamız gerekmektedir. Bu değerleri bulmak için matematikten de bilinen bir yöntemi uygulayacaz şöyle ki ilk matris X matrisi ikinci matris Y matrisi olsun ve sonuncu matris te Z matrisi olsun.X ve Z matrisi biliniyor Y matrisinin değerini bilinen matrislerden elde etmek için X-1 . Z =Y Formülünü kullanacağız yani X matrisinin tersini Alıp Z matrisiyle çarpacağız. X matrisinin tersini Cramer Yöntemiyle bulacağız bir sonra ki yazımda da sizlerle Cramer Yöntemini ve diğer uygulamanın geri kalan kısmını paylaşacağım Şimdilik Esen Kalın..

MEHMET SALİH DEVECİ

BİLGİSAYAR MÜHENDİSİ

Reklamlar
yorum
  1. Aslı dedi ki:

    İnanılmaz teşekkür ederim Mehmet Bey, ingilizce kaynakları araştırmadan önce Türkçe olarak anlamak istemiştim konuyu, bana çok yardımcı oldunuz gerçekten..

    • BİLGİSAYAR MÜHENDİSİ dedi ki:

      Ben teşekkür ederim Aslı hanım Yardımım dokunmuşsa ne mutlu bana … Türkçe kaynak sıkıntısını hepimiz çekmekteyiz böyle Türkçe kaynakların artması dileğiyle…

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s