Kriptografi Matematiksel Temel
Kriptografi büyük ölçüde tek yönlü veya tuzak kapısı fonksiyonları kavramına dayanır. Bu, bir yönde hesaplanması zor, ancak diğer yönde hesaplanması kolay bir süreçtir. Örneğin bir bilgisayar için büyük sayıları çarpmak, büyük sayıların çarpanlarını belirlemekten çok daha kolaydır. Bu, RSA algoritmasının temelidir. Algoritmanın basitleştirilmiş bir versiyonu aşağıda gösterilmiştir:
| KEY GENERATION p = a random prime number q = a random prime number N = p * q r = (p – 1) * (q – 1) K = a number which equals one when modded by r and can be factored e = a factor of K that doesn’t share factors with N d = another factor of K that doesn’t share factors with N Your public key is N and e Your private key is N and d ENCRYPTION ciphertext = (cleartext**e)%N DECRYPTION cleartext = (ciphertext**d)%N EXAMPLE p = 7 q = 13 N = 7 * 13 = 91 r = 72 K = 145 (because 145%72 = 1) e = 5 d = 29 Public Key = 91, 5 Private Key = 91, 29 cleartext = 72 (‘H’ in ASCII) ciphertext = (72**5) %91 = (encrypted using N and e) cleartext = (11**29) %91 = (decrypted using N and d) |
RSA'yı kırmak için N'yi iki asal sayıya çarpanlarına ayırabilmeniz gerekir. Basit örneğimizde önemsiz olsa da, RSA için önerilen mevcut anahtar boyutu olan 1400 ondalık basamaklı bir sayıyı çarpanlarına ayırmanın ne kadar zor olacağını hayal edin. Algoritmanın yalnızca üs alma, çarpma ve modül aritmetiği gerektirdiğini fark edeceksiniz. Hiçbir noktada anahtar oluşturmak, şifrelemek veya şifreyi çözmek için büyük bir asal sayıyı çarpanlarına ayırmanız gerekmez. Bu işlemi yalnızca anahtarlar olmadan geriye doğru çalışmaya çalışıyorsanız gerçekleştirmeniz gerekir.
Eliptik eğrilere dayanan başka benzer tek yönlü fonksiyonlar da mevcuttur. Eliptik bir eğri boyunca hareketin bir başlangıç ve bitiş noktasına ve basit bir algoritmanın birkaç iterasyonuna göre tanımlanabileceği ortaya çıktı. Başlangıç noktasını, bitiş noktasını ve kaç iterasyon yapıldığını biliyorsanız başlangıç koşullarını yeniden oluşturabilirsiniz. Tek bildiğiniz başlangıç ve bitiş noktasıysa, başlangıç koşullarını belirleyemezsiniz.
Önceki Ders: Kriptografi Anahtarlar
Sonraki Ders: Kriptografi Hash'ler
Yorumlar
Yorum Gönder