Kriptografi (Şifreleme) Önemli Kavramlar ve Matematik (1 Viewer)

Joined
Sep 1, 2018
Credits
55
Rating - 0%
(Alıntıdır)
Lütfen like atmayı unutmayın :)

View hidden content is available for registered users!
Konuda bahsedilen başlıklar:

1)
View hidden content is available for registered users!
Kriptolojinin tanımı.

2) Bazı basit kriptografi yöntemleri.

3) Kriptoloji hakkında kavramların kısa açıklamaları.

4) Kriptosistemler.

5) Birbirine karıştırılan kelimeler ve doğru anlamları.

6) Kriptoloji alanında kullanılan matematiksel teoremler ve kısaca açıklamaları. (İstek olursa, detaylı olarak başka konular yazabilirim.)


Not: Örnek olarak gösterdiğim tüm şifreler, Base64 ile kodlanmıştır.


18itl003_lightweight_2_cryptography.png



Kriptoloji Nedir ?
Kriptoloji, şifre bilimidir.
Askeri kurumlarda, devletler arası iletişimde, özel kurumlar içinde, kişiler arasındaki mesajlarda vb. alanlarda kullanılır.


Kriptoloji Neden Kullanılmalıdır ?

İletilen mesajın üçüncü kişiler tarafından müdahale edilmemesini sağlamak.


Kriptoloji = Kriptografi + Kriptoanaliz

Kriptografi: Şifreleme

Kriptoanaliz: Şifreli dosyayı analiz etme

temel_kriptoloji_ve_uygulamalari_b.jpg


Bazı basit ve herkes tarafından bilinen şifreleme yöntemleri

2. Dünya Savaşı
’nda; Nazi Almanyası, İngilizler’e karşı Enigma cihazını kullanarak tüm mesajları şifrelemişlerdir.

120209_1801_EnigmaMakin4.jpg



Roma İmparatoru Sezar’ın Sezar Şifrelemesi

Azer.gif


Sezar Şifreleme: Harfleri alfabetik sırada x birim kadar öteler. (İleri veya geri)


ROT13: Sezar yönteminin sayılarla ifade edilen şeklidir.

rot13.png


1) Her harfin, sıfırdan başlayarak sırasıyla sayı olarak karşılığı yazılır.

2) Kelimeye karşılık gelen sayılar yazılır ve ötelenecek sayı kadar hepsine eklenir.

3) Her bir sayı, alfabedeki en büyük sayının modu olarak yazılır.

4) En sonunda elde edilen sayıların harf karşılığı yazılır.


Not: x^y ifadesi, bilgisayarda x üssü y olarak kullanılır.


RSA Şifreleme

RSA algoritması, birazdan bahsedeceğim matematik işlemlerine ihtiyaç duyduğumuz bir algoritmadır. Eğer mod alma işlemini bilmiyorsanız bu kısmı atlayıp, konu bittikten sonra bu algoritmaya tekrar dönebilirsiniz.

* Açık anahtarlı şifreleme yöntemidir.


1) p ve q aralarında asal iki tamsayı seçilir.

2) n = p*q işlemi yapılır.

3) f = (p-1)*(q-1)

4) 1 ile f arasında olacak şekilde bir e sayısı seçilir. (e ve f aralarında asal olmalı)

5) d*e = 1 mod(f) değerini sağlayan d değeri bulunur.

6) Şifreli Metin = (açık metin)^e mod(n) ve Açık Metin = (şifreli metin)^d mod(n)


* Açık anahtarlar: n ve e ‘dir.

* Gizli anahtarlar: n ve d ‘dir.


Örnek:

1) p = 2357, q = 2551 asal sayıları seçilir.

2) n = p*q = 2357*2551 = 6012707

3) f = (p-1)*(q-1) = 2356*2550 = 6007800

4) e, 1 ile f arasında ve gcd(e,f | = 1) olacak şekilde; e = 3674911 belirleyelim.

5) e*d = 1 mod(f) olan d değeri bulunur.

6) "Ters mod alma" = "Inverse mod calculator" (İnternet üzerinden yapılabilir) : d = 422191

7) Açık metin = 523467 olsun,

8) Şifreli Metin = (açık metin)^e mod(n) = 3650502

9) Açık Metin = (şifreli metin)^d mod(n) = 523467


0-ioTdmQeEZ3sp0XiG.jpg



Kavramlar

Blok Şifreleme
: Şifrelenecek metni belli boyutlarda bloklara ayırıp, ayrı ayrı şifreleyip birleştirme.

Akan Şifreleme (Stream Ciphers) : Seçilen anahtarın her harfini, düz metnin her harfi ile şifreleme. (Sırayla mod(2) ile toplama (XOR))

Gizli Anahtarlı (Simetrik) Şifreleme: Bir adet gizli anahtar kullanılarak şifrelenir.

simetrik-sifreleme.png


Açık Anahtarlı (Asimetrik) Şifreleme: Genel anahtar (Public Key) ile şifrelenir. Gizli anahtar (Private Key) ile deşifre edilir. (2 anahtar kullanılır)

asimetrik-sifreleme.png


Kriptosistemler

Tanım
: Bir kriptosistem (P,C,K,E,D) beşlisinden oluşur.

Alfabe (A) : Sonlu sayıda eleman kümesi.

Örnek: A={0,1}

Plaintext (P) (Açık Metin)
: Alfabedeki elemanlardan oluşan sonlu sayıdaki eleman *****.

Örnek: Cyber-Warrior

Cipher Text (C) (Şifreli Metin)
: Alfabedeki elemanlardan oluşan ama açık metinden farklı bir dizilişe sahip olan sonlu eleman dizisidir.
Örnek: Q3liZXItV2Fycmlvcg==

Key Space (K) (Anahtar Uzayı): Alfabedeki elemanlardan oluşur. Şifreleme için kullanılan anahtardır.
Örnek: CW

Encrytion
: P açık metnini, C şifreli metnine çevirir.
Decryption: C şifreli metnini, P açık metnini geri çevirir.

resized_cf539-ec7f9481sibersaldiri.jpg


Kriptosistemlerin Sınıflandırılması

3 farklı şekilde sınıflandırma yapılabilir:



1) Açık Metinden Şifreli Metine

a) Yerine Koyma: Bir karakterin şifrelenip aynı yerine koyulması.

b) Yer Değiştirme: Bir karakterin yerini değiştirme ya da şifreleyip yerini değiştirme.


2) Anahtara göre sınıflandırma

a) Simetrik (Gizli, geleneksel)

b) Asimetrik (Açık)


3) Şifreli metini işleme yöntemine göre

a) Blok Şifreleme

b) Dizi İşleme (Akan Şifreleme)


resized_cf539-ec7f9481sibersaldiri.jpg



Matematiksel işlemler kısmına geçmeden önce, birbirine karıştırılan birkaç kavramın aslında doğru anlamlarının ne olduğundan bahsetmek istiyorum.



Parola ve Şifre. Çoğu insanın birbiri yerine kullandığı bu kavramlar aslında birbirinden farklı şeylerdir:

Parola
: Bir sisteme girerken kullandığımız, harflerden, sayılardan ve yeri geldiğinde özel işaretlerden oluşan, gizli tuttuğumuz sözcüklerdir.

Şifre: Bir verinin, farklı algoritmalar kullanılarak oluşturulan verilerdir (bu algoritmaların bazılar hakkında yazdığım konuları inceleyebilirsiniz). Şifreler genelde bir anlam ifade etmezken, parolalar kendimizce anlamlıdır.


Hashing, Encryption ve Encoding: Bu üç kavram da birbirine karışabildiği için tek tek inceleyelim:

Hashing
: Belirli algoritmalar amacıyla verilerin doğruluğunu sağlarlar ve bu algoritmalar ile oluşturulan hasler geri döndürülemez özelliktedir. Örneğin; MD5, SHA1 en çok bilinen hashing algoritmalarıdır.

Encryption (Şifreleme): Anahtar kullanılarak verilerin şifrelenmesi işlemidir. Şifrelenmiş veriler, yine aynı anahtar kullanılarak geri döndürülebilir. Örneğin; RSA, DES, AES en çok bilinen encryption algoritmalarıdır.

Encoding (Kodlama): Verinin, kodlama algoritmaları ile bir formattan başka bir formata dönüştürülmesi işlemidir. Bu sebeple gizlilik sağlamak. Örneğin; Base64, ROT13, Sezar en çok bilinen encoding algoritmalarıdır.

Salting: Türkçesi “Tuzlama” olan bu kavram, şifreleri Brute Force gibi saldırılardan korumaya yarıyor. Salting, açık metnin veya oluşturulan şifrenin sonuna bir veri eklenerek yapılır.

Salting Örnek 1: Q3liZXItV2Fycmlvcg==CW (Şifrenin sonuna eklenerek)

Salting Örnek 2
: Q3liZXItV2FycmlvckNX (Açık metnin sonuna eklenip şifrelenerek)


Birbirine karıştırılan bu önemli kavramları da öğrendiğimize göre, matematik kısmına geçebiliriz.


matematik-problemler.jpg



Matematik (Sayılar Teorisi)

Buradan sonrası, temel matematik bilgisine sahip fakat yeterli düzeyde bilgisi olmayanlar içindir. Kriptografi alanında matematiksel fonksiyonlar çok kullanıldığı için (özellikle asal sayılarla ilgili), bu konulara değinmek istedim.

suslu_cizgi.png


Modüler Aritmetik

x = y mod(z): y’nin, z’ye bölümünden kalan, x’dir.


a = k * n + r olsun,

r = a mod(k) = a mod(n)

(a+b) mod(n) = [a mod(n) + b mod(n)] mod(n)

Kısa mod alma: x^1, x^2 ... 1 olana kadar yazılır üsse bölünür.

suslu_cizgi.png


EBOB (GCD): En büyük ortak bölen.

EKOK (LCM): En küçük ortak kat.

suslu_cizgi.png


Fermat Teoremi

Tanım
: a tamsayı, p asal sayı olsun,

a^p = a mod(p)

Tanım: gcd(a,p) = 1 olsun,

a^(p-1) = 1 mod(p)

suslu_cizgi.png


Öklid Teoremi

Aritmetiğin esas teoremi (Asal çarpanlara Ayrıma)

Öklid
: a büyüktür b olsun,

a = b.q1+r1 ve b = q2.r1+r2

r1 = q3.r2+r3 ve r2 = q4.r3+r4 ... r(n-1) = q(n+1).rn+r(n+1)

r(n+1) = gcd(a,b)

* (Bölen = Bölünen, Kalan = Bölen , Kalan=1 olana kadar)

suslu_cizgi.png


Ters Mod Alma

97.x = 1 mod(127) olsun,

Öklid teoremi: 7 = 2.3+1 | 7+2.(-3) = 1

(Teoremde tersten ilk işleme kadar aynısını yap: 127+97(-1) = 30)

En son denklemdeki bölen (2) yerine üstteki denklem yazılıp dağıtılır. Tek tek hepsinde yapılır.

x = 55 olarak bulunur

suslu_cizgi.png


Euler Totient

Tanım
: Bir sayıdan küçük, o sayı ile asal olan sayıların adedini verir.

n sayısı asal ise, p-1 tanedir.

n = p*q olsun,

p ve q asal ise (p-1)*(q-1)

suslu_cizgi.png


Eratosthenes Kalburu (The Sieve of Eratosthenes)

Bir sayının asal olup olmadığını tespit eder.

1) Sayının karekökü alınır ve aralığı bulunur.

Sayı, Kök(131) olsun; kök(131) sayısı, 11 ile 12 arasındadır.

2)
11‘den küçük sayılardan herhangi bir sayı (asal) 131‘i bölemiyorsa sayı asaldır.

3) 11‘den küçük asal sayıların katları silinir. Kalan sayılar asal sayılardır.

suslu_cizgi.png


Çin Kalan Teoremi

Tanım
: Bir sayının başka sayının bölümlerinden kalanları bildiğimiz bu sayıyı tespit edebiliriz.
 

Users who are viewing this thread

Top