Dersin Amacı: |
Kod-Tabanlı Şifreleme, quantum-sonrası şifrelemenin alt alanlarından biridir. Kuantum bilgisayarlar ve Shor algoritması ile, kuantum algoritmalara dirençli kod-tabanlı kriptosistemlerin popülaritesi artmıştır. Dersin temel amacı, kodlama teorisi ile şifreleme bilimi arasındaki bağlantıyı tanıtmaktır. |
Dersin İçeriği: |
Klasik kodlama teorisi, kod çözme (dekodlama) problemi, BCH kodlar, Reed Solomon kodlar, LDPC kodlar, Goppa kodlar, şifreleme biliminin temelleri, açık anahtarlı şifreleme, McEliece şifrelemesi, Neiderreiter şifrelemesi, Shor algoritması, saldırılar ve olası onarımlar, Sidelnikov-Shestakov saldırısı, Ayırt edici saldırılar, information-set dekodlaması, rastgele bir lineer kodun şifrelenmesi. |
Hafta |
Konu |
Ön Hazırlık |
1) |
Klasik kodlama teorisinde temel tanımlar, sonlu cisimler ve lineer (doğrusal) kodlar, üreteç ve kontrol matrisleri, dual kodlar, ağırlık ve uzaklıklar. |
Ders Kitabı |
2) |
Yeni kod inşası, kodların denkliği, kod parametreleri için üst ve alt sınırlar. |
Ders Kitabı |
3) |
Devirli kodlar, üreteç polinomları, üreteç ve kontrol matrisleri, devirli kodlar ile dekodlama. |
Ders Kitabı |
4) |
BCH kodlar, BCH kodlar ile dekodlama, Reed Solomon kodlar. |
Ders Kitabı |
5) |
Reed Solomon kodlar, ikinci dereceden kalan sınıfı kodları. |
Ders Kitabı
|
6) |
Goppa kodlar. |
Ders Kitabı
|
7) |
Sayılar teorisine giriş, asallar, asallık testi, aritmetiğin temel teoremi, Euler, Fermat ve Wilson teoremleri. |
Ders Kitabı
|
8) |
Ara Sınav |
|
9) |
Klasik şifreleme (kriptografi) biliminde temel tanımlar, şifre, şifreli metin, bir kriptosistemin matematiksel ifadesi, modüler aritmetik tabanlı bazı temel şifreleme sistemleri (doğrusal şifreleme, Hill şifrelemesi). |
Ders Kitabı |
10) |
Açık anahtarlı şifreleme. |
Ders Kitabı |
11) |
McEliece kriptosistemi, Niederreiter kriptosistemi. |
Ders Kitabı |
12) |
Mesaj saldırıları. |
Ders Kitabı |
13) |
Anahtar saldırıları. |
Ders Kitabı |
14) |
Berger-Loidreau, rastgele bir lineer kodun şifrelenmesi, LDPC ve MDPC. |
Ders Kitabı |
Ders Notları / Kitaplar: |
For coding theory:
1. Coding Theory: A First Course, San Ling, Chaoping Xing
2. Fundamentals of Error Correcting Codes, V. Cary Huffman and Vera Pless
For cryptography:
1. Elementary number theory, cryptography and codes—Baldoni
2. Mathematics in Cyber Research, Chapter 2 Cryptography, Gretchen L. Matthews and Aidan W. Murphy
|
Diğer Kaynaklar: |
For coding theory:
1. Coding Theory: A First Course, San Ling, Chaoping Xing
2. Fundamentals of Error Correcting Codes, V. Cary Huffman and Vera Pless
For cryptography:
1. Elementary number theory, cryptography and codes—Baldoni
2. Mathematics in Cyber Research, Chapter 2 Cryptography, Gretchen L. Matthews and Aidan W. Murphy
|
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Bilgisayar Bilimi ve Mühendisliği alanında bilimsel araştırma yaparak geniş ve derin bilgilere ulaşma, değerlendirme, yorumlama ve uygulama becerisi. |
4 |
2) |
Sınırlı ya da eksik bilgiyi kapatmak ve uygulamak için bilimsel yöntemleri kullanma ve farklı disiplinlerin bilgilerini bütünleştirme kabiliyeti. |
4 |
3) |
Bilgisayar Bilimi ve Mühendisliği problemlerini kurgulayabilme, problemleri çözmek için yöntemler geliştirebilme ve çözümde yenilikçi yöntemler kullanabilme. |
4 |
4) |
Yeni ve/veya orijinal fikirler ve algoritmalar geliştirme becerisi; sistem, bileşen veya süreç tasarımında yenilikçi çözümler geliştirmek. |
4 |
5) |
Bilgisayar Mühendisliğinde uygulanan güncel teknikler ve yöntemler ve bunların kısıtları hakkında geniş bilgi sahibi olma kabiliyeti. |
3 |
6) |
Analitik modelleme ve deneysel araştırma tasarlama ve uygulama, süreçte karşılaşılan karmaşık durumları çözme ve yorumlama becerisi. |
2 |
7) |
Bir yabancı dili (İngilizce) en az Avrupa Dil Portföyü seviyesinde sözlü ve yazılı iletişimde kullanabilme kabiliyeti. |
3 |
8) |
Çok disiplinli ekiplerde liderlik etme, karmaşık durumlara çözüm geliştirme ve sorumluluk alma kabiliyeti. |
4 |
9) |
Toplumsal, yasal, etik ve ahlaki değerlerin bilincinde olmak ve bu değerler çerçevesinde araştırma ve uygulama çalışmaları yapabilmek. |
3 |
10) |
Bilgisayar Bilimi ve Mühendisliği alanında yeni ve gelişmekte olan uygulamalar hakkında farkındalık ve bunları inceleme ve gerekirse öğrenme kabiliyeti. |
5 |