BİLGİSAYAR MÜHENDİSLİĞİ (YL) (TEZLİ) (İNGİLİZCE)
Yüksek Lisans TYYÇ: 7. Düzey QF-EHEA: 2. Düzey EQF-LLL: 7. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: 3017002009
Ders İsmi: Code-Based Cryptography
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 6
Öğretim Dili: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Department Elective
Dersin Seviyesi:
Yüksek Lisans TYYÇ:7. Düzey QF-EHEA:2. Düzey EQF-LLL:7. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr.Öğr.Üyesi Recep DURANAY
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

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.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Kolama ve şifreleme bilimlerini ve aralarındaki ilişkiyi anlama.
2 - Beceriler
Bilişsel - Uygulamalı
1) Öğrenilen bilgilerin siber güvenlik gibi uygulamalı alanlarda kullanımı becerisi.
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

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.
2) Yeni kod inşası, kodların denkliği, kod parametreleri için üst ve alt sınırlar.
3) Devirli kodlar, üreteç polinomları, üreteç ve kontrol matrisleri, devirli kodlar ile dekodlama.
4) BCH kodlar, BCH kodlar ile dekodlama, Reed Solomon kodlar.
5) Reed Solomon kodlar, ikinci dereceden kalan sınıfı kodları.
6) Goppa kodlar.
7) Sayılar teorisine giriş, asallar, asallık testi, aritmetiğin temel teoremi, Euler, Fermat ve Wilson teoremleri.
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).
10) Açık anahtarlı şifreleme.
11) McEliece kriptosistemi, Niederreiter kriptosistemi.
12) Mesaj saldırıları.
13) Anahtar saldırıları.
14) Berger-Loidreau, rastgele bir lineer kodun şifrelenmesi, LDPC ve MDPC.

Kaynaklar

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

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

Program Kazanımları
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.
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.
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) 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.
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.
6) Analitik modelleme ve deneysel araştırma tasarlama ve uygulama, süreçte karşılaşılan karmaşık durumları çözme ve yorumlama becerisi.
7) Bir yabancı dili (İngilizce) en az Avrupa Dil Portföyü seviyesinde sözlü ve yazılı iletişimde kullanabilme kabiliyeti.
8) Çok disiplinli ekiplerde liderlik etme, karmaşık durumlara çözüm geliştirme ve sorumluluk alma kabiliyeti.
9) Toplumsal, yasal, etik ve ahlaki değerlerin bilincinde olmak ve bu değerler çerçevesinde araştırma ve uygulama çalışmaları yapabilmek.
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.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
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.
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.
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) 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.
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.
6) Analitik modelleme ve deneysel araştırma tasarlama ve uygulama, süreçte karşılaşılan karmaşık durumları çözme ve yorumlama becerisi.
7) Bir yabancı dili (İngilizce) en az Avrupa Dil Portföyü seviyesinde sözlü ve yazılı iletişimde kullanabilme kabiliyeti.
8) Çok disiplinli ekiplerde liderlik etme, karmaşık durumlara çözüm geliştirme ve sorumluluk alma kabiliyeti.
9) Toplumsal, yasal, etik ve ahlaki değerlerin bilincinde olmak ve bu değerler çerçevesinde araştırma ve uygulama çalışmaları yapabilmek.
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.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Bireysel çalışma ve ödevi
Grup çalışması ve ödevi
Ödev
Proje Hazırlama

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Ödev
Bireysel Proje
Grup Projesi

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ödev 1 % 20
Projeler 1 % 30
Ara Sınavlar 1 % 20
Yarıyıl/Yıl Sonu Sınavı 1 % 30
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 70
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 30
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 3 42
Proje 1 50 50
Ödevler 1 70 70
Ara Sınavlar 1 3 3
Final 1 3 3
Toplam İş Yükü 168