Enigma ve 2. Dünya Savaşı

2. Dünya Savaşı’nda Enigma şifreleme cihazını yaygın olarak kullanan Almanlar, savaşta ciddi bir üstünlük elde etmişlerdi. Savaşın içinde müttefiklerin Enigma şifrelerini kırması ile savaşın seyri tamamen değişti. Müttefikler savaşta büyük avantaj elde etti.

enigma
20. yüzyılın başlarında Arthur Scherbius adlı Alman bir mühendis tarafından geliştirilen Enigma, özellikle bankalardaki ticari gizliliği sağlayacak, rotorlu bir kripto cihazıdır. Enigma; muamma, bilmece anlamına gelir. Scherbius cihazın patentini aldı ve cihaz İsviçre, İtalya, İspanya gibi ülkelerde kullanıldı. Enigma’nın yıldızı ise Alman donanmasında parlayacaktı. Özellikle Versay Antlaşması’nın oluşturdu içe kapanıklığı gidermek için yeniden var olma mücadelesine girişmişlerdi. Alman donanmasının tam da Enigma gibi ucuz, taşınabilir,kolay kullanılabilir bir kripto cihazına ihtiyacı vardı. İlk olarak Alman donanması (Kriegsmarine) ardından ise  Alman Gizli Servisi (Abwehr), Alman Kara Kuvvetleri (Wehrmacht) ve Alman Hava Kuvvetleri (Luftwaffe), gizli haberleşme için Enigma’yı kullandı.

Enigma makinesi üç temel parçadan oluşmaktadır.

1.    Rotor

2.    Yansıtıcı birimi

3.    Fiş Paneli

 

Enigma elektromekanik bir cihazdır. Üzerinde 26 tane tuş ve bunun üst kısmında ise 26 tane ışıklı pano yer alır. Operatör bir tuşa bastığında bastığı tuşun şifrelenmiş karşılığı bu ışıklı panoda belirir.Tuşa her basıldığında en baştaki rotor bir 1/26 oranında dönüyor ve tüm permütasyonlar değişmiş oluyordu.Örneğin A harfini şifrelediğimizi varsayalım tekrardan A harfi aynı permütasyonla şifrelemek için 3 rotorun da bir tam tur dönmesi gerekiyor, yani 26*26*26=17576 harf şifrelememiz gerekiyor. Enigmanın bir diğer özelliği ise involüsyon olmalarıydı, yani B harfi karşı tarafa G diye gidiyorsa G harfi de B olarak gidiyordu.

Üçüncü parça olan fiş paneli ise tuşların yer değiştirilmesinde kullanılıyordu, yani kablo B ve G tuşlarının bulundu uçlara bağlanırsa bu iki harf yer değiştirmiş gibi davranıyordu.

enigmafispaneli

                                                        Enigma fiş paneli

 

Ticari olarak satılan Enigma çoktan kırılmıştı ama Almanların tasarladığı Enigma hala kırılamamıştı. Alman Enigma’sını ilk kıranlar Polonyalılar oldu. 1930’lu yıllarda en iyi matematikçileri bir araya getirip şifre kırma okulu kurdular. Bu okuldaki en başarılı üç matematikçi -Marian Rejewski, Henryk Zgalski ve Jerzy Rozicki Enigma’yı kırmayı başardı. Polonya’nın işgalinden sonra kriptoanalistler İngiltere ve Fransa’ya kaçtılar. İngiltere, bu kriptoanalistlerden çok şey öğrendi ve 8000 kişilik karargah kurup Alman şifrelerini çözdüler. Bu karargahta en dikkat çeken kişi ise Alan Turing’di. Alan Turing yoğun olarak çalışarak yeni bir şifre kırma cihazı geliştirdi.

 

Bu cihaz bir ton ağırlığındaydı ve Enigma rotorlarını taklit ediyordu. Enigma’dan tam 52 kat hızlıydı ve üzerinde onlarda Enigma simülasyonunu aynı anda çalıştırıyordu. İngilizler bu cihazlardan 200 tane ürettiler ve yarım milyon Alman mesajını çözdüler. Almanlar her gece yarısı anahtarları değiştiriyorlardı öğleye doğru ise bu anahtarlar İngilizlerin eline geçmiş oluyordu. Bu anahtarları elde etmek çok zor olmadı. Çünkü karşı tarafta mesajı alacak kişiye açık mesajlar göndermek gerekiyordu ve bunlar genellikle hava raporları ya da askeri terimler oluyordu.

 

Bu konuyu ele alan tavsiye ettiğim film The Imıtation Game(Yapay Oyun)

http://www.imdb.com/title/tt2084970/

Yaralandığım kaynaklar

http://www.gokhanunal.net/enigmanin-sifresi/

https://tr.wikipedia.org/wiki/Enigma_makinesi

http://bilgisayarkavramlari.sadievrenseker.com/2009/12/02/enigma-makinesi-enigma-machine/

İzinsiz SMS ve Aramaları Şikayet Edin

Daha önce burada bahsettiğim 6563 sayılı Elektronik Ticaretin Düzenlenmesi Hakkında Kanun 1 Mayıs 2015 tarihinde yürürlüğe girdi. Ama bazı sorumsuz firmalar 1 mayıs tarihinden sonra da spam sms e-posta atmaya devam ettiler. Bakanlık bu tür firmaların şikayet etmek için internet üzerinden bir şikayet sistemi kurdu.Kurulan sistem üzerinden spam sms,e posta veya aramaları şikayet edebiliyorsunuz.

[alert-success]Şikayet Adresi; tiss.gtb.gov.tr[/alert-success]

Peki nasıl şikayet edeksiniz?

Aslında yapmanız gereken çok basit tiss.gtb.gov.tr adresine giriyoruz

tis

  • Tc Kimlik numaramızı
  • Doğum tarihimizi
  • Cep telefonu numaramızı

giriyoruz. Cep telefonumuza gelen doğrulama kodunu girdiğimizde aşağıdaki ekran bizi karşılayacak.

tis2

Yapacağımız şikayet türünü seçtikten sonra devam ediyoruz.

  • Kişisel Bilgiler
  • Şikayete Konu Ticari Elektronik İleti Hakkında Bilgiler
  • Şikayetin Konusu
  • Gelen Ticari Elektronik İletinin Ekran Görüntüsü (jpg/png/gif formatında)

Kısmında bulunan bilgilerimizi de giriyoruz.

Bakanlık ise bize;adrese tebligat ya da e posta yolu ile gerçekleştiği işlemin sonucunu bildiriyor. Artık spam sms gönderenleri birkaç dakika içinde şikayet edebiliyoruz.

C Programlama Dili – Fonksiyonlar

Programlama dillerinin en önemli konularından birisi de fonksiyonlardır.Program içinde bir işlemi birden fazla yapacaksak bunu her seferinde yazmak yerine fonksiyon içinde bir kez tanımlarız ve gerektiğinde fonksiyonu çağırırız.Ayrıca fonksiyonlar programın derli toplu olmasında ve yaptığımız hataların daha kolay tespit edilmesinde bize yarar sağlarlar.

 

7.1)Fonksiyon Çeşitleri ve Fonksiyon Oluşturma

 

7.1.1)Değer döndürmeyen ve parametre almayan fonksiyonlar

Bu tip fonksiyonlar dışarıdan herhangi bir parametre almazlar ve çağrıldıkları yere geri değer döndürmezler.Ayrıca bu fonksiyonlara dışarıdan parametre gönderilemediği için genellikle sabit bir işleve sahip olurlar.

7.1.2)Değer döndürmeyen ve parametre alan fonksiyonlar

Bu tip fonksiyonlar çağrıldıkları yere değer döndürmezler ama dışarıdan parametre alırlar.

Yukarıda değindiğim gibi fonksiyonları kullanırken dikkat etmemiz gerekenler:

  • Fonksiyonu tanımlama : donus_tipi fonksiyon_adi(parametreler) şeklinde olmalıdır.Biz değer döndürmeyen ve parametre alan fonksiyonları incelediğimiz için donus_tipi yerine void yazdık parametre kısmına ise n değerini yazdık.
  • Fonksiyon çağırma: fonksiyonu çağırırken ise fonksiyon adımızı ve parantez içinde göndereceğimiz parametreyi yazdık.
  • Fonksiyon prototipi:Bu konuda ise dikkat etmemiz gereken husus prototipimiz main() fonksiyonundan önce tanımlamalıyız ya da fonksiyonumuzu main() fonksiyonundan önce yazmalıyız.

 

Girdiğimiz terim sayısını 5 kabul edersek çıktı:

[alert-success]1 1 2 3 5[/alert-success]

7.1.2)Değer döndüren ve parametre alan fonksiyonlar

Bu tip fonksiyonlar çağrıldıkları yere değer döndürürler.Buradaki en önemli nokta ise return ifadesidir.

return ifadesi

Daha önce gördüğümüz gibi değer döndürmeyen fonksiyonların başına void ifadesi koyuyorduk.Değer döndüren fonksiyonlarda ise fonksiyonda geri döndürülecek değere göre bir ifade kullanmalıyız.Örneğin fonksiyonumuz tam sayı döndürecek ise int karakter döndürecek ise char ifadesi kullanmalıyız.

Girilen sayının tek ya da çift olduğunu bize bildiren program