RSA yönteminin çalışmasını açıklarken Fermat’nın küçük teoremini kullanmalarına rağmen genellikle ispatlarda Euler teoremi kullanılır.

Her formula_53 mesajı için ("m") formula_90 "m" formula_91 denkliğinin doğru olduğunu göstermek istiyoruz. "ed" formula_95 1 mod formula_50 olduğunu biliyoruz. Dolayısıyla negatif olmayan bir formula_110 tamsayısı için formula_111 çarpımını formula_112 şeklinde yazabiliriz. formula_53 ve formula_114’nin aralarında asal olduğunu varsayarsak
Son eşitlik Euler teoremi’nin bir sonucudur. Eğer formula_53 ve formula_114 aralarında asal değilse bu argüman doğru olmaz. "m" formula_95 0 mod "p" ve"m" formula_95 0 mod "q" durumları yukarıdaki ispatta olduğu gibi gösterilebilir.

RSA çok büyük tam sayılarla işlem yapmanın zorluğuna dayanan bir tekniktir. Yani, RSA algoritmasını kullanan kişi 2 büyük asal sayı seçer ve bunları saklar. Bu iki asal sayının çarpımı elde edip, random seçtiği başka bir değer ile birlikte ortak anahtar olarak belirler. Ortak anahtarı kullanan başka bir kullanıcı şifreleme yapabilir bu durumda bu mesajın şifresinin çözülüp anlamlı hale getirilebilmesi için ortak anahtar yeterince büyük olduğundan bu büyük sayının ortak çarpanlarının bilinmesi gerekir. Yani aslında RSA çarpanlara ayırma ile birebir ilişkilidir ki bu algoritma açık anahtarlı şifrelemeyi kullanır. Açık anahtarlı şifrelemede (asimetrik şifreleme) açık anahtarla şifreleme ve gizli anahtarla deşifreleme yapılmasını kolayca gerçekleştirilirken; yalnızca açık anahtarı (iki sayının çarpımını ) bilerek gizli anahtarın bulunmasını zor kılar (büyük olan bu sayının çarpanlarının bilinmesi gerekir). RSA 3 basamakta gerçekleştirilir. Bunlar: anahtar üretimi (2 büyük asal sayının çarpımı ve random seçilmiş bir sayı ile ortak anahtar üretilmesi), şifreleme (Oluşan ortak anahtarı kullanan başka bir kullanıcı şifreleme yapabilir) ve şifre çözmedir (Şifrenin çözülmesi için ortak anahtarın çarpanlarının bilinmesi gerekir). Özet olarak; tamamen random olarak ve birbirine yakın iki asal sayı seçilir. Bu sayılar tutulur. Mod n olacak şekilde ; n=p*q ve m(=(p-1)*(q-1) çarpımları hesaplanır. 1<e<m arasında bir e tamsayısı seçilir. Öyle ki e ve m’nin en büyük ortak böleni 1 olsun. Genel üs olarak kullandığımız e ve m sayıları kullanılarak gizli üs d hesaplanır (1<d<m) (Örneğin ed≡1(mod m)). Genel anahtar (n,e) ve özel anahtar (n,d)’dir. p,q ve m değerleri de gizli tutulmalıdır. .NET framework teknolojisinde kullanan RSA algoritmasına bakacak olursak:

Şifrelenmiş ve deşifrelenmiş olan verilerin tutulduğu veri tanımları yapılır.

1024 uzunluğunda RSACryptoServiceProvider sınıfından nesne üretilir.

Aşağıdaki RSAEncrypt metodu veriyi şifrelemeyi sağlar. Metottaki ilk parametre şifrelenecek veridir. Byte array şeklindedir. Metottaki ikinci parametre (RSAalg.ExportParameters(false)) anahtar bilgisinin dışa verilip verilmeyeceğini ifade eder. False olarak değer atanmışsa public anahtar dışa verilir, true olarak değer atanmışsa public ve private anahtarlar dışa verilir. Kodumuzda false olarak değer atandığı için sadece public anahtar dışa verilir. Metottaki üçüncü parametre boolean bir değerdir. Padding mode olarak isimlendirilir. Padding boolean değerinin kullanılması gereklidir çünkü metoda gönderilen verinin şifrelenecek verinin tamamının olup olmadığını bu flag değerinden anlarız. Şifrelenecek veri çok büyük boyutlarda olabilir bu da verinin bloklara bölünmesini gerektirir. Bloklara bölünen verinin tamamının şifrelendiği bu flag değerden anlaşılır. Eğer padding değeri true ise bu halde gelişmiş OAEP 16 kullanılır. Aksi takdirde geleneksel PKCS 1 v1.5 kullanılır.

Aşağıdaki decryptedData metodu veriyi deşifrelemeye sağlar. Metottaki ilk parametre deşifrelenecek veridir. Byte array şeklindedir. Metottaki ikinci parametre (RSAalg.ExportParameters(true))anahtar bilgisinin dışa verilip verilmeyeceğini ifade eder. False olarak değer atanmışsa public anahtar dışa verilir, true olarak değer atanmışsa public ve private anahtarlar dışa verilir. Kodumuzda true olarak değer atandığı için private ve public anahtar dışa verilir. Metottaki üçüncü parametre boolean bir değerdir. Padding mode olarak isimlendirilir. Padding boolean değerinin kullanılması gereklidir çünkü metoda gönderilen verinin şifrelenecek verinin tamamının olup olmadığını bu flag değerinden anlarız. Şifrelenecek veri çok büyük boyutlarda olabilir bu da verinin bloklara bölünmesini gerektirir. Bloklara bölünen verinin tamamının şifrelendiği bu flag değerden anlaşılır. Eğer padding değeri true ise bu halde gelişmiş OAEP 16 kullanılır. Aksi takdirde geleneksel PKCS 1 v1.5 kullanılır.




Nizamüddin Ahmed Paşa

Mahmudoğlu Nizamettin Ahmed Paşa padişah Orhan Gazi saltanatında, takriben 1331-1348 yılları arasında vezir-i azamlık yapmış bir Osmanlı devlet adamıdır.

İlmiye sınıfından vezirliğe yükselmiştir.





Karından bacaklılar

Karından bacaklılar (Gastropoda), hayvanlar (Animalia) alemine ait yumuşakçalar (Mollusca) şubesinin en kalabalık sınıfını oluşturan canlılardır.

Gastropoda deyince salyangozlar akla gelir. Çoğu denizlerde, bir kısmı tatlı ve acı sularda, bir kısmı da karada yaşar. Vücutları helezoni bir kabukla örtülü veya çıplaktır. Kaslı düz ayaklarıyla zemine sürünerek yürürler. Başlarında iki çift anten (dokunaç) bulunur. Uzun çiftlerin üzerinde bir çift göz mevcuttur. Çoğunun ağızlarında "radula" denen dişli bir dil bulunur. Suda yaşayanlar manto boşluğundaki tüy veya yaprak şeklindeki solungaçlarıyla, karada yaşayanlar hava ile solunum yapar. Bir delikle dışarı açılan manto boşluğunun tabanı zengin bir damar ağına sahiptir. Akciğer vazifesi gören manto boşluğuna giren havanın oksijeni, osmozla (geçişme) kan damarlarına geçerek gaz alışverişi yapılır.

Çoğu otçuldur. Az bir kısmı ise etçil olup, canlı veya ölmüş hayvanlarla geçinirler. Çok azı da parazittir. Salyangozların bir kısmı ayrı eşeyli, çoğu ise erdişili (hermafrodit)dir. Böyle bireylerde hem erkek hem de dişi üreme organları mevcuttur. Erdişi olanlar karşılıklı birbirini döller veya biri erkek diğeri dişi görevi yapar. Karadakiler, yumurtalarını toprak içine açtıkları çukurlara bırakır. Suda yaşayanlar yumurtalarını jelatinsi bir torba veya kılıf içinde su bitkilerine yapıştırır. Çoğunda metamorfoz (değişim) olmayıp, yumurtalarından, erginlere benzer yavrular çıkar. Karada yaşayanlar çoğunlukla nemli bölgelerde barınır. Kabuklu olanlarına salyangoz, kabuksuzlara sümüklüböcek denir. Mantar, ot ve sebze ile beslendiklerinden bazen bahçelere dadanarak büyük zararlar yaparlar.
Bostanlara ziyanları ise daha fazladır.

1. Prosobranchia (Solungaçları önde olan salyangozlar) 
2. Subclassis (alt sınıf): Opistobranchia (Solungaçları arkada olan salyangozlar) 
3. Subclassis (alt sınıf): Pulmonata (Akciğerli salyangozlar) 





Hacı Paşa

Mehmet Hacı Paşa, Orhan Gazi saltanatında, takriben 1348-1359 yılları arasında vezirlik yapmış bir Osmanlı devlet adamıdır.

Hakkında çok fazla bilgi bulunmamaktadır. Öreğin ne doğum, yılı, ne doğum yeri, ne ölüm yılı, ne de ölüm tarihi bilinmemektedir. Vezir Nizammeddin Ahmet Paşa'yı takiben 1348(?)'de Orhan Gazi'nin veziri olmuş; 11 yıl süren bu görevden sonra 1359(?)'da yerine Kayserili Sinanüddin Fakih Yusuf Paşa bu vezirlik görevine geçmiştir.





Açık anahtarlı şifreleme

Açık anahtarlı şifreleme, şifre ve deşifre işlemleri için farklı anahtarların kullanıldığı bir şifreleme sistemidir. Haberleşen taraflardan her birinde birer çift anahtar bulunur. Bu anahtar çiftlerini oluşturan anahtarlardan biri gizli anahtar diğeri açık (gizli olmayan) anahtardır. Bu anahtarlardan bir tanesiyle şifreleme yapılırken diğeriyle de şifre çözme işlemi gerçekleştirilir. Bu iki anahtar çifti matematiksel olarak birbirleriyle bağlantılıdır.

Gizli anahtarın sadece bir sahibi vardır. Gizli anahtara sahip olan taraf gizli anahtar aracılığıyla, kendi açık anahtarıyla şifrelenmiş bilgilerin şifresini çözebilir, kendisine ait sayısal imzaları oluşturabilir ya da kendi kimliğini ispat edebilir (authentication).

Açık anahtar herkesin erişimine açıktır. Anahtarlar birbirlerinden farklı olsalar da, matematiksel olarak birbirleriyle ilişkilidirler. Açık anahtarla, bilgiler sadece gizli anahtarın sahibi tarafından çözülebilecek şekilde şifrelenebilir ya da gizli anahtar sahibinin dijital imzasının ve dolayısıyla kimliğinin doğruluğu kontrol edilebilir.

Açık anahtarlı şifrelemenin uygulanmasında asimetrik anahtar algoritmaları kullanıldığı için asimetrik şifreleme olarak da adlandırılır. Simetrik şifreleme algoritmalarının aksine, asimetrik şifreleme algoritmalarında güvenli bir "ilk anahtar değişimi" ihtiyacı bulunmamaktadır. Bu algoritmaların çalışma şekli anahtarların oluşturulmasını, açık anahtarla şifreleme ve gizli anahtarla deşifreleme yapılmasını kolayca gerçekleştirirken yalnızca açık anahtarı bilerek gizli anahtarın bulunmasını zor kılar. Bu zorluğu anahtarlar arasındaki matematiksel ilişki (öne çıkanları örnekleri çarpanlara ayırma ve ayrık logaritma) sağlar.

Açık anahtarlı şifreleme gayet temel ve yaygınca kullanılan bir teknolojidir. Açık anahtar altyapısı internet üzerinde güvenli haberleşmeyi sağlayan TLS (SSL'in takipçisi) protokolü, güvenli e-posta haberleşmesinde kullanılan PGP protokolü ve dosya şifreleme ve çözmeye yarayan GPG gibi protokollerde kullanılmaktadır.

Eğer bir anahtar mesajı şifrelemede kullanılmış ise, o takdirde şifreyi çözmek için sadece o çiftin diğer anahtarı kullanılabilir. Her ne kadar, açık ve gizli anahtar çiftleri matematiksel olarak birbirlerine bağlı olsalar da, bir anahtardan diğerinin elde edilmesi pratikte mümkün değildir. Bir başka deyişle, bir kişi açık anahtarı bilse de, gizli anahtar kopyalanmaktan ya da değiştirilmekten korunmuş durumdadır. Bu sebeple açık anahtarınızı rahatça herkesin kullanımına sunabilirsiniz, ancak gizli anahtarınızın gizli kalması çok önemlidir. Açık anahtar, gizli anahtar ile imzalanmış mesajın doğrulanmasında veya sadece gizli anahtarın şifresini çözebileceği şekilde mesajı şifrelemede kullanılır. Eğer birisi size şifreli