Sayfalara Git
Sayfa 135: Konuya Başlarken
Diffie-Hellman Anahtar Değiş Tokuşu ve Mantık Bağlaçları
Kriptoloji ve Diffie-Hellman
Kriptolojinin temel unsurlarından biri olan anahtar değiş tokuşu, iletişim kuran tarafların güvenli bir şekilde şifreleme anahtarları paylaşmalarını sağlar. Bu alanda kullanılan Diffie-Hellman yöntemi, güvenli olmayan kanallar aracılığıyla bir ortak gizli anahtar oluşturulmasına olanak tanır.
Diffie-Hellman anahtar değiş tokuşu yöntemi, şifreleme protokollerinin temelini oluşturarak siber saldırılara karşı koruma sağlar ve hassas verilerin korunmasına yardımcı olur. Bu nedenle gelişmiş şifreleme yöntemlerinin anlaşılması ve uygulanması, ülkemizin siber altyapısını güçlendirmek ve ulusal güvenlik seviyesini artırmak için hayati öneme sahiptir.
Diffie-Hellman Anahtar Değiş Tokuşu Akış Şeması
Diffie-Hellman anahtar değiş tokuşu yönteminde asal sayılar, üslü gösterimler ve kalan bulma gibi matematiksel yapılar kullanılır. Karşılıklı mesajlaşma sırasında Uğur ve Elif'in cihazlarının iletişim güvenliği için kullandığı algoritmanın işleyişi aşağıdaki gibidir.
- Başla
- Asal sayı (p), taban (g) ve özel anahtarları (a, b) belirle
Örnek: p = 17, g = 3, a = 5, b = 7 - A = ga mod p ve B = gb mod p hesapla
A = 35 mod 17, B = 37 mod 17 - A değerini Elif'e, B değerini Uğur'a gönder
- Gizli anahtarları hesapla:
u = Ba mod p, e = Ab mod p - u = e ? → Evet ise güvenli iletişim kurulur, Hayır ise iletişim kurulmaz
- Bitir
p = 17, g = 3, a = 5, b = 7
A = 35 mod 17 = 243 mod 17 = 5
B = 37 mod 17 = 2187 mod 17 = 11
u = Ba mod 17 = 115 mod 17 = 7
e = Ab mod 17 = 57 mod 17 = 7
Sorular
Verilen bilgileri inceleyerek aşağıdaki soruları cevaplayınız ve fikirlerinizi arkadaşlarınızla paylaşınız.
Diffie-Hellman anahtar değiş tokuşu yönteminin güvenli iletişim sağlamada üstlendiği rolü açıklayınız.
Diffie-Hellman yöntemi, iki tarafın güvenli olmayan bir kanal üzerinden ortak bir gizli anahtar oluşturmasını sağlar. Bu anahtar, daha sonra simetrik şifreleme için kullanılır. Yöntemin güvenliği, ayrık logaritma probleminin zorluğuna dayanır. Bu sayede, üçüncü bir kişi (saldırgan) mesajları dinlese bile anahtarı hesaplayamaz ve iletişim gizli kalır.
Diffie-Hellman anahtar değiş tokuşu yönteminde asal sayı ve taban seçiminin önemini açıklayınız.
Asal sayı (p) seçimi: Büyük bir asal sayı kullanılmalıdır (örneğin 2048-bit).
Küçük asal sayılar kırılgan olabilir.
Taban (g) seçimi: p'nin ilkel kökü (primitif kök) olmalıdır.
Bu sayede üretilen değerler tüm grubu kapsar ve tahmin edilmesi zorlaşır.
Yanlış seçimler algoritmayı zayıflatır ve saldırılara açık hale getirir.
Uğur ve Elif'in cihazları hangi matematiksel işlemleri gerçekleştirerek ve mantık bağlaçlarını kullanarak iletişim kurmaya devam eder?
Matematiksel işlemler:
• Üs alma: ga ve gb
• Modüler aritmetik: (değer mod p) kalan hesaplama
• Tekrar üs alma: (gelen değer)kendi anahtarı mod p
Mantık bağlacı:
• u = e → VE (eşitlik kontrolü)
• Eğer u = e VE doğrulama başarılı ise iletişim devam eder.
• Değilse iletişim sonlandırılır veya yeniden başlatılır.
Mantık Bağlaçları ve Niceleyiciler
| Mantık Bağlacı | Sembol | Diffie-Hellman'daki Kullanımı |
|---|---|---|
| VE (ve) | ∧ | u = e VE doğrulama başarılı |
| VEYA (veya) | ∨ | Yeniden dene VEYA iletişimi sonlandır |
| DEĞİL (değil) | ¬ | u ≠ e → ¬(u = e) |
| Hepsi (∀) | ∀ | ∀ mesajlar aynı anahtarla şifrelenir |
| Bazıları (∃) | ∃ | ∃ bir saldırgan anahtarı ele geçirebilir |
Sayfa 136: 10. Uygulama
Bir Önermenin Cebirsel İspatı ve Algoritmik Yaklaşım ile Doğrulanması
1. Soru: Cebirsel İspat
"Her tek tam sayının karesi de tek sayıdır." önermesinin ilk adımı verilen cebirsel ispatını tamamlayınız.
2. Soru: Algoritmik Doğal Dil ve Akış Şeması
Her tek tam sayının karesinin tek sayı olup olmadığını bulan bir algoritmanın işleyişini algoritmik doğal dil ve akış şemasıyla ifade ediniz.
- Başla
- Kullanıcıdan bir tam sayı (x) al
- Eğer x mod 2 = 1 ise (x tek sayıdır):
- karesini hesapla: kare = x * x
- Eğer kare mod 2 = 1 ise: "x tek sayıdır ve karesi de tektir" yaz
- Değilse: "Hata: Tek sayının karesi çift çıktı" yaz
- Değilse: "x çift sayıdır, test yapılmaz" yaz
- Bitir
1: BAŞLA 2: OKU x 3: EĞER x mod 2 = 1 İSE 4: kare = x * x 5: EĞER kare mod 2 = 1 İSE 6: YAZ x, "tek sayıdır ve karesi", kare, "tektir" 7: DEĞİLSE 8: YAZ "HATA: Tek sayının karesi tek olmalıdır!" 9: DEĞİLSE 10: YAZ x, "çift sayıdır" 11: BİTİR
3. Soru: Algoritmayı Test Etme
Elde ettiğiniz algoritmayı -10'dan 10'a kadar olan tek tam sayılar için test ediniz.
| Sayı (x) | x Tek mi? | x² | x² Tek mi? | Sonuç |
|---|---|---|---|---|
| -9 | ✓ | 81 | ✓ | Doğru |
| -7 | ✓ | 49 | ✓ | Doğru |
| -5 | ✓ | 25 | ✓ | Doğru |
| -3 | ✓ | 9 | ✓ | Doğru |
| -1 | ✓ | 1 | ✓ | Doğru |
| 1 | ✓ | 1 | ✓ | Doğru |
| 3 | ✓ | 9 | ✓ | Doğru |
| 5 | ✓ | 25 | ✓ | Doğru |
| 7 | ✓ | 49 | ✓ | Doğru |
| 9 | ✓ | 81 | ✓ | Doğru |
4. Soru: Cebirsel ve Algoritmik Yaklaşım
Elde ettiğiniz algoritmanın işleyişi ile cebirsel ispat adımları arasındaki benzerlik ve farklılıkları açıklayınız.
- Her iki yaklaşım da tek sayı tanımını (2n+1) kullanır.
- Her iki yaklaşım da kare alma işlemini içerir.
- Her iki yaklaşım da tek/çift kontrolü yapar.
- Her iki yaklaşım da ∀ (her) niceleyicisini temel alır.
- Sonuç olarak her ikisi de aynı önermeyi doğrular.
- Cebirsel: Tüm sayılar için genel bir ispat sunar (sonsuz küme).
- Algoritmik: Belirli bir sayı aralığı için test yapar (sonlu küme).
- Cebirsel: Değişkenler ve formüller kullanır.
- Algoritmik: Adım adım işlem akışı ve koşullar kullanır.
- Cebirsel: İspat kesin ve geneldir.
- Algoritmik: Testler deneyseldir ve örneklerle sınırlıdır.
5. Soru: Mantık Bağlaçları ve Niceleyiciler
Cebirsel, sözel ve algoritmik yaklaşım ile ifade edilen ispat sürecinde hangi mantık bağlaçları ve niceleyicilere neden ihtiyaç duyulduğunu açıklayınız.
| Mantık Bağlacı / Niceleyici | Sembol | Kullanım Yeri | Neden Gerekli? |
|---|---|---|---|
| Her | ∀ | "Her tek sayının karesi tektir." | Önermenin tüm tek sayılar için geçerli olduğunu belirtmek için. |
| VE | ∧ | x tek VE x² tek | İki koşulun birlikte sağlanması gerektiğinde. |
| VEYA | ∨ | Sayı tek VEYA çift olabilir | İki durumdan birinin doğru olması durumunda. |
| DEĞİL | ¬ | Sayı tek değilse çifttir | Bir koşulun tersini ifade etmek için. |
| İSE | → | Eğer x tek ise → x² tek | Koşul-sonuç ilişkisini (çıkarım) belirtmek için. |
Sayfa 138: 5. Sıra Sizde
8 ile Bölünebilme – Önerme, İspat ve Algoritma
a) Önerme Yazma ve İspat
Üç basamaklı bir doğal sayının 8'e tam bölünüp bölünmediğini gösteren bir önerme yazıp bu önermenin doğruluğunu ispatlayınız.
(Her üç basamaklı doğal sayı için, sayının 8'e bölünmesi ile son üç basamağının 8'e bölünmesi arasında eşdeğerlik vardır.)
b) Mantık Bağlaçları ve Niceleyiciler
Önermeyi ispatlamak için kullandığınız mantık bağlaçları ve niceleyicilere yönelik çıkarımlarınız ne olur? Açıklayınız.
| Mantık Bağlacı / Niceleyici | Sembol | İspattaki Kullanımı | Çıkarım / Açıklama |
|---|---|---|---|
| Her | ∀ | ∀ x ∈ ℕ (tüm üç basamaklı sayılar) | Önermenin tüm üç basamaklı sayılar için geçerli olduğunu belirtir. |
| Eşdeğerlik | ⇔ | 8 | x ⇔ son üç basamak 8 ile bölünür | İki koşulun birbirine denk olduğunu gösterir (hem gereklilik hem yeterlilik). |
| VE | ∧ | Kuralın hem yüzler, hem onlar, hem birler basamağı için geçerli olması | Tüm basamakların birlikte değerlendirilmesi gerekir. |
| İSE | → | Eğer son üç basamak 8'e bölünüyorsa → sayı 8'e bölünür | Koşul-sonuç ilişkisini (çıkarım) ifade eder. |
c) Akış Şeması
İspat adımlarından hareketle üç basamaklı bir doğal sayının 8'e tam bölünüp bölünmediğini bulan bir algoritmanın işleyişini akış şeması ile ifade ediniz.
1: BAŞLA 2: OKU x // 100 ≤ x ≤ 999 3: sonUc = x mod 1000 4: kalan = sonUc mod 8 5: EĞER kalan = 0 İSE 6: YAZ x, "8'e tam bölünür" 7: DEĞİLSE 8: YAZ x, "8'e tam bölünmez" 9: BİTİR
| x | sonUc = x mod 1000 | sonUc mod 8 | Sonuç |
|---|---|---|---|
| 104 | 104 | 0 | Bölünür ✅ |
| 112 | 112 | 0 | Bölünür ✅ |
| 100 | 100 | 4 | Bölünmez ❌ |
| 111 | 111 | 7 | Bölünmez ❌ |
| 128 | 128 | 0 | Bölünür ✅ |
| 999 | 999 | 7 | Bölünmez ❌ |
Sayfa 138-139: 11. Uygulama
Bir Cebirsel İspatın Algoritmik Yaklaşımla İncelenmesi
1. Soru: Cebirsel İspat
Artanlığın tanımından faydalanarak "∀ a > 0 için f: ℝ → ℝ, f(x) = ax + b şeklinde tanımlı doğrusal fonksiyon artandır." önermesinin doğruluğunu ispatlayınız.
2. Soru: Sözel İfade
Yaptığınız cebirsel ispatın adımlarının her birini sözel olarak ifade ediniz.
- 1. Adım: Bir fonksiyonun artan olması için, iki farklı x değerinden küçük olanın fonksiyon altındaki görüntüsü, büyük olanın görüntüsünden küçük olmalıdır.
- 2. Adım: x₁ ve x₂ olmak üzere iki reel sayı seçelim ve x₁'in x₂'den küçük olduğunu varsayalım.
- 3. Adım: f(x) = ax + b fonksiyonunda x₁ ve x₂'nin görüntülerini hesaplayalım: f(x₁) = ax₁ + b ve f(x₂) = ax₂ + b.
- 4. Adım: Bu iki görüntü arasındaki farkı hesaplayalım: f(x₂) - f(x₁) = a·(x₂ - x₁).
- 5. Adım: a > 0 ve x₂ > x₁ olduğu için a·(x₂ - x₁) çarpımı pozitiftir.
- 6. Adım: f(x₂) - f(x₁) > 0 olduğu için f(x₁) < f(x₂) sonucuna varırız.
- 7. Adım: x₁ < x₂ → f(x₁) < f(x₂) koşulu sağlandığı için f fonksiyonu artandır.
3. Soru: Algoritmik Doğal Dil ve Akış Şeması
Elde ettiğiniz sözel ifadelerden faydalanarak ispatın aşamalarını ifade eden bir algoritmanın işleyişini algoritmik doğal dil ve akış şeması yardımıyla ifade ediniz.
- Başla
- a > 0 olacak şekilde a değerini belirle
- x₁ ve x₂ reel sayılarını oku (x₁ < x₂ olacak şekilde)
- f(x₁) = a·x₁ + b hesapla
- f(x₂) = a·x₂ + b hesapla
- fark = f(x₂) - f(x₁) hesapla
- Eğer fark > 0 ise: "f(x₁) < f(x₂), fonksiyon artandır" yaz
- Değilse: "Hata: f(x₁) ≥ f(x₂), fonksiyon artan değil" yaz
- Bitir
1: BAŞLA 2: // a > 0 olacak şekilde 3: OKU a, b, x1, x2 // x1 < x2 4: fx1 = a * x1 + b 5: fx2 = a * x2 + b 6: fark = fx2 - fx1 7: EĞER fark > 0 İSE 8: YAZ "Fonksiyon artandır" 9: YAZ fx1, "<", fx2 10: DEĞİLSE 11: YAZ "Hata: Fonksiyon artan değil" 12: BİTİR
4. Soru: Mantık Bağlaçları ve Niceleyiciler
Cebirsel, sözel ve algoritmik yaklaşım ile ifade edilen ispat sürecinde mantık bağlaçları ve niceleyicilere neden ihtiyaç duyulduğunu açıklayınız.
| Mantık Bağlacı / Niceleyici | Sembol | İspattaki Kullanımı | Neden Gerekli? |
|---|---|---|---|
| Her | ∀ | ∀a > 0, ∀x₁, x₂ ∈ ℝ | Tüm pozitif a değerleri ve tüm reel sayı çiftleri için geçerliliği belirtir. |
| İSE | → | x₁ < x₂ → f(x₁) < f(x₂) | Koşul-sonuç ilişkisini (çıkarım) ifade eder. |
| VE | ∧ | a > 0 VE x₂ > x₁ | İki koşulun birlikte sağlanması gerektiğinde. |
| DEĞİL | ¬ | ¬(f(x₁) ≥ f(x₂)) | Artanlık koşulunun tersini ifade etmek için. |
| Cebirsel Yaklaşım | Sözel Yaklaşım | Algoritmik Yaklaşım | Kullanılan Mantık Yapısı |
|---|---|---|---|
| ∀a > 0 | "Her pozitif a değeri için" | a > 0 kontrolü | ∀ (Niceleyici) |
| x₁ < x₂ → f(x₁) < f(x₂) | "x₁ küçükse f(x₁) de küçüktür" | EĞER x₁ < x₂ İSE | → (İSE) |
| a > 0 ∧ x₂ > x₁ | "a pozitif ve x₂ büyük" | VE bağlacı ile kontrol | ∧ (VE) |
| f(x₂) - f(x₁) > 0 | "Fark pozitif" | fark > 0 kontrolü | Karşılaştırma |
Sayfa 140: Alıştırmalar
Çarpımı Sıfır Olan İki Gerçek Sayı – İspat ve Algoritma
Önerme
"Çarpımı sıfır olan iki gerçek sayıdan en az biri sıfırdır."
∀ x, y ∈ ℝ, (x · y = 0 → x = 0 ∨ y = 0)
a) Cebirsel İspat
Önermenin doğruluğunu ispatlayınız.
b) Sözel İfade ve Mantık Bağlaçları
Yaptığınız cebirsel ispatın her bir adımını sözel olarak ifade ediniz. Önermenin doğruluğunu ispatlamak için kullandığınız mantık bağlaçları ve niceleyicilere yönelik çıkarımlarınız ne olur? Açıklayınız.
- İki gerçek sayı x ve y olsun ve çarpımlarının sıfır olduğunu varsayalım.
- Eğer x sıfır değilse, denklemi x'e bölebiliriz.
- Bu durumda y = 0 bulunur.
- Eğer y sıfır değilse, benzer şekilde x = 0 bulunur.
- Dolayısıyla çarpım sıfır ise sayılardan en az biri sıfırdır.
- ∀ (Her): Tüm x, y reel sayıları için önerme geçerlidir.
- → (İSE): x·y = 0 ise x = 0 veya y = 0'dır.
- ∨ (VEYA): x = 0 veya y = 0'dır.
- ∧ (VE): x ≠ 0 ve x·y = 0 → y = 0
- ¬ (DEĞİL): x ≠ 0 (x'in sıfır olmaması durumu)
c) Algoritmanın İfade Edilmesi
Elde ettiğiniz sözel ifadelerden faydalanarak ispatın aşamalarını ifade eden bir algoritmanın işleyişini sözde kod, algoritmik doğal dil ve akış şeması yardımıyla ifade ediniz.
1: BAŞLA 2: OKU x, y 3: EĞER x = 0 VEYA y = 0 İSE 4: YAZ "Önerme doğru (en az biri sıfır)" 5: DEĞİLSE 6: carpim = x * y 7: EĞER carpim = 0 İSE 8: YAZ "HATA: x ve y sıfır değil ama çarpım sıfır" 9: DEĞİLSE 10: YAZ "Önerme bu durumda doğrulanamaz" 11: BİTİR
- Başla
- Kullanıcıdan x ve y gerçek sayılarını al
- Eğer x = 0 veya y = 0 ise: "Önerme doğru: En az biri sıfırdır" yaz
- Değilse: çarpım = x · y hesapla
- Eğer çarpım = 0 ise: "Hata: x ve y sıfır değil ama çarpım sıfır" yaz
- Değilse: "Önerme doğrulanamadı" yaz
- Bitir
| Mantık Bağlacı / Niceleyici | Sembol | İspattaki Kullanımı | Algoritmadaki Karşılığı |
|---|---|---|---|
| Her | ∀ | Tüm x, y ∈ ℝ | Herhangi bir giriş değeri |
| İSE | → | x·y = 0 → x = 0 ∨ y = 0 | EĞER...İSE |
| VEYA | ∨ | x = 0 ∨ y = 0 | VEYA bağlacı |
| VE | ∧ | x ≠ 0 ∧ y ≠ 0 | VE bağlacı |
| DEĞİL | ¬ | ¬(x = 0) → x ≠ 0 | DEĞİL (ters kontrol) |