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..
Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi
İhtiyacınız var [email protected] adresine mail atarak Bizimle iletişime geçebilirsiniz.
– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri
İ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..
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…
Merhaba ben bu konuyla ilgili bazi arasdirmalar yapiyorum fakat bazi anlamadigim noktalar var. Mesale gizli goruntu paylasim shemasi kurmak icin ilk önce gizli görüntünün matris değerleri gereklidir fakat bu değerler nasil elde edilir bir turlu bulamiyorum eger yardimci olursaniz sevinirim.