Crypto 101 - Notlarım | |||||
a) XOR Operatörü / Kapısı Kriptolojiyi anlamak için XOR operatörü / kapısı önemlidir. b) XOR Operatörü / Kapısı Nasıl Çalışır? XOR (⊕) operatörü şu şekilde işler: 0 ⊕ 0 = 0 0 ⊕ 1 = 1 1 ⊕ 0 = 1 1 ⊕ 1 = 0 Yani
vermektedir. c) XOR Operatörü / Kapısı ile Şifreleme
d) Simetrik Anahtar ile Şifreleme Nedir? Simetrik Anahtar ile Şifreleme (symmetric-key encryption) bir plain-text verinin Alice ve Bob arasında gidip gelmesi süresince aynı anahtarın kullanılıyor olması anlamına gelir. Diğer bir deyişle şifreleme için kullanılan anahtar aynı zamanda deşifreleme işleminde de kullanılmaktadır. İletişimde gizlilik bu aynı anahtarın Alice ve Bob harici kimse tarafından bilinmiyor olmasıyla ayakta durur. e) XOR Operatörünün / Kapısının Özellikleri
Tüm bu kurallar bir arada kullanılacak olursa a ⊕ b ⊕ a = b olduğunu ispatlayalım.
Soru :
Cevap:
Yani a ⊕ b ⊕ a ifadesinin b değerine eşit olduğunu görüyoruz. f) One-Time Pads Nedir? One-time pad 1918 yılında Gilbert Vernam tarafından bulunmuş bir yöntemdir. Kabaca şifreli iletişimde tek kullanımlık olarak üretilen bir anahtarı ifade eder. Eğer sadece bir defa kullanılmak üzere üretilen anahtarda bitler gerçekten rastgele ise ve üretilen bu anahtar sadece ve sadece 1 defa kullanılıyor ise ciphertext’i elde eden saldırganın plaintext’e ulaşması mümkün değildir. g) One-Time Pads (Birden Fazla Anahtar) Neden Gereklidir? One-Time Pads kullanılmadığında - yani simetrik şifrelemede “tek kullanımlık” birden fazla anahtar kullanılmadığında - ciphertext örneklerini elde eden saldırgan ciphertext örnekleri üzerinden anahtarı bilmeden plaintext veriye ulaşabilir. Örneğin Alice ile Bob konuşmalarını simetrik şifreleme ile (yani aynı anahtar ile) ve tek kullanımlık olmayan (defalarca kullanılabilen) anahtar ile yapıyor olsunlar. Eve isimli bir saldırgan ise arada iletişimi dinliyor olsun. Bu durumda her defasında kullanılan aynı anahtar ile şifrelenmiş iki ayrı mesajı sniff’leme ile elde eden saldırgan bu iki şifrelenmiş mesajı birbiriyle XOR’layarak plain-text mesajı elde edebilecektir ve bunu anahtarı bilmeden yapabilecektir. P.O.C şu şekildedir:
Değişkenler:
C1 : CipherText #1 // Şifrelenmiş Mesaj #1 C2 : CipherText #2 // Şifrelenmiş Mesaj #2 P1 : PlainText #1 // Açık Metin Mesaj #1 P2 : PlainText #2 // Açık Metin Mesaj #2 K : Key // Anahtar İspat: Sniff’lenen şifrelenmiş iki mesaj (C1 ve C2) XOR işlemine tabi tutulur. C1 ⊕ C2 = ( P1 ⊕ K ) ⊕ ( P2 ⊕ K ) // Denklem esas parçalarına // ayrılır. = P1 ⊕ P2 ⊕ K ⊕ K // XOR değişme özelliği kul- // lanılır ve sıralama // değiştirilir. = P1 ⊕ P2 ⊕ 0 // XOR sıfırlama özelliği // ile K elimine edilir. // Böylece bilinmesine // gerek yok. = P1 ⊕ P2 // XOR sıfır ile işlem // özelliği ile P1 ve // P2 kalır. Böylece saldırgan şifrelenmiş C1 ve C2 mesajlarını XOR işlemine tabi tutarak plain text P1 ve P2 mesajlarının birleşimini elde etmiş olmaktadır. Bu plaintext mesajların birleşimi durumunu şöyle izah edebiliriz. Örneğin iki ayrı resim (solda MEHMET, sağda INCE BLOG) olsun. Bir python script’i ile soldaki resmi ve sağdaki resmi her defasında kullanılan aynı bir anahtar ile şifreledik diyelim ve iki ayrı şifrelenmiş mesaj (iki ayrı karıncalı görüntü) elde ettik diyelim. Bu şifrelenmiş iki resim (iki ayrı karıncalı görüntü) birbirleriyle bitsel olarak XOR işlemine tabi tutulduklarında açık metin resimlerin birleşimi elde edilecektir. Sonuç olarak şifrelenmiş iki ayrı örnek mesaj XOR’a tabi olduğunda iki mesajın deşifrelenmiş birleşim hali elde edilir ki bu iletişimde gizliliğin kalkması anlamına gelir. h) Random Number Generator (RNG) Random number generator fizik modellemelerinde, mühendislikte, matematiksel bilgisayar çalışmalarında, kriptografide, oyun sunucularında v.b. birçok alanda kullanılır ve önemlidir. RNG kabaca iki türdür:
Yararlanılan Kaynaklar:
|
|||||
Bu yazı 21.08.2024 tarihinde, saat 23:17:36'de yazılmıştır. 23.08.2024 tarihi ve 20:47:41 saatinde ise güncellenmiştir. | |||||
|
|||||
Yorumlar |
|||||
Henüz yorum girilmemiştir. | |||||
Yorum Ekle | |||||