Enigma Programı - Beta

MegaCrafter

Obsidyen Madencisi
En iyi cevaplar
0
Merhaba. Kasa Programımı belki biliyorsunuzdur. O programı aklımda fikir olmadığı için terk etmiştim. Şimdi yeni bir program yaptım. Bu programın adı Enigma. Enigma'nın ne olduğunu bilmiyorsanız açıklayayım:
Enigma, 2. Dünya Savaşı sırasında Alman Birlikleri'nin mesaj şifrelemek için kullandıkları bir makinedir. Şifreler mesajlanabilir ve aynı şekilde geri döndürülebilirdi. Ancak normal bir şifrelemeden farklı olarak şifreyi geri döndürmek için doğru ayarını bilmeniz gerekiyordu. Bu ayarların da 159 trilyon farklı kombinasyonu vardı. Bu yüzden Müttefik Devletler büyük bir sıkıntı içerisindeydi. Bu şifreleri çözebilmek için dil bilimciler ve matematikçiler toplanıyordu. Bunlardan biri olan Alan Turing, "Christopher" adını verdiği bir şey yaptı. Bu makine 159 trilyon kombinasyonu da deneyerek şifreyi çözebiliyordu. Ancak o zamanın teknolojisi ile bunu zamanında yapamıyordu. Çünkü her gece yarısı Almanlar ayarları değişiyordu ve eski ayarı bilmek bir işe yaramıyordu. Almanların mesajlar içinde benzer terimler kullanması, olasılıkların yarısından çoğunu ortadan kaldırdığı için şifre çözülebilmiştir. Bu makine de Turing Makineleri denilen makinelere ilham kaynağı oldu. Bugün biz bu makinelere "Bilgisayar" diyoruz. Eğer daha fazla bilgi almak isterseniz Yapay Oyun filmini izleyebilirsiniz. Şimdi konumuza geri dönelim.
Kısaca bu program da neredeyse aynı işe yarıyor. 4 Paneli var. Klavye Paneli, Rotor Paneli, Bağlama Paneli ve Dönen Harf Paneli. Klavye Paneli içinde basılan tuş, işlemlerden geçerek size başka bir harf döndürüyor. Dönen Harf Paneli içinde de bu harf gözüküyor. İsterseniz Bağlama Paneli içinden harfleri birbirine bağlayabilir veya Rotor başlama noktalarını değiştirebilirsiniz. Bunların nasıl çalıştığını da anlatıcam. Şimdilik size indirme linkini ve virustotal'i veriyorum.
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

Bazı hataları var tabii ki. Beta dememin bir sebebi vardı. Şimdilik Rotor Başlama Noktaları düzgün çalışmıyor. Çünkü Ana Rotor'dan geri dönülmüyor. Onu da ekliyicem. Ayrıca rotor bağlamaları gerçek rotor bağlantıları ile aynı değil. Üşengeçlik yüzünden ona da bakmadım. Eklerim onları da. Hadi şimdilik görüşürüz.

@Minecraftplayerr Şimdi oldu mu -,-

Klavye üstünden bir harfe basılır. Bu harfi biz A olarak düşünelim. Sonra bağlama paneline bakılır. Eğer bastığımız harf başka bir harfe bağlandıysa o harfe basmışız gibi devam edilir. Mesela eğer biz A harfini Z harfine bağlarsak, Z harfine göre işlem yapacaktır. Sonrasında ise bu harfin 1. rotorda bağlı olduğu pozisyona bakılır. Bu pozisyondaki harfin B olduğunu düşünelim. Sonra bu harfin de 2. rotorda bağlı olduğu pozisyona bakılır. Bunun da H olduğunu varsayalım. Bu harfin de 3. rotorda bağlı olduğu pozisyona bakılır. Bunun da J olduğunu düşünelim. Sonra Ana Rotor denilen yer için de aynı işlem gerçekleşir. Ancak Ana Rotor üstünde hiçbir değişiklik yapılmaz. Bu rotorun amacı bağlantıyı geri döndürmektir. Yani bu rotordan sonra diğer rotor işlemleri tersten yapılır ve yine bağlama paneline dönülür. Buraya kadar dönen harfin bağlı olduğu harfe bakılır ve dönen harf de artık odur.
Not: Eğer aşağıdaki sayfaya girerseniz orada da Enigma'nın daha daha iyi versiyonunu bulabilirsiniz:
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.
 

MegaCrafter

Obsidyen Madencisi
En iyi cevaplar
0
Kodlardan da bir şey anlayamadım :D
Java kodundan mı yoksa isimlerden mi anlayamadın? İsimler enigma isimleri olduğu için biraz karışık gelebilir. Mesela tek bir rotor sınıfı yapıp onun örnekleri ile yapabilirdim. Ama 3 ayrı rotor sınıfı ile daha kolay geldi. Çünkü harf bağlantıları her birinde farklı.
 

Rookies

Demir Madencisi
En iyi cevaplar
0
Enigma simulationa girip PQLFEOVPWRMS ne olduğuna bakarmısınız skadaskd
 

MegaCrafter

Obsidyen Madencisi
En iyi cevaplar
0
"Enigma Makinesi" nedir detaylı bir bilgim veyahut fikrim olmasa dahi genelleştirerek; yazıları şifreleyen bir makine diyebilirim. Kaynak kodlarını inceledim projenin ve fikir fena değil fakat günümüzdeki şifreleme methodları ile kıyaslandığında basit ve kolaylıkla çözülebilir gözüktü gözüme. Projenden bahsedecek olursak "Rotor" dediğin sınıflar cidden komik olmuş, bir tane non-static sınıf ile de aynı işlemi yapabilirdin. Biraz da arayüzden bahsedecek olursak daha iyi bir şey tasarlayabileceğine eminim yeterli Swing bilgin var gibi gözüküyor fena olmayan bir arayüz yapmak için fakat şu anki arayüz pek kullanışlı diyemeyeceğim. İyi forumlar, iyi günler diler yeni projelerini dört gözle beklerim.
Ben o olayı konuya yazdım sanıyordum. Yapabilirdim tabii ki. Ama her program açıldığında Rotor örneği kullanmak biraz garibime gitti.

Ayrıca konuda da bahsettiğim üzere şu an kullandığımız bilgisayarlar, enigmayı çözen makineden ilham aldı. Yani şu anki kullandığımız bilgisayarlar basitçe şifreyi çözebilir.

Dekorasyona fazla önem vermedim. Bir program yaparken benim için önemli olan arayüzü değil mantığıdır. Eğer ilerleteceğim bir program değilse zaten yüksek ihtimalle dekorasyon yapmam bile. Bir tek Kasa Programı için dekorasyon yapmıştım biraz. O da pek güzel değildi ama idare ederdi.

Değerlendirmen için çok teşekkür ederim. Sonunda gerçekten bu işten anlayan biri çıktı! :D
 

TRNW09

Sudan Çıkmış
En iyi cevaplar
0
Classları daha güzel optimize edebilirsin aslında onun dışında türk developer görmek güzel birkaç güne kadar forumda 2 haftadır geliştirdiğim bir sistemi paylaşacağım sizide konuma beklerim
@MegaCrafter
@Karamet

Ayrıca 1. Ve 3. Rotard messagebox çıkmıyor ikide çıkıyor ldldld bendemi sorun var
 

MegaCrafter

Obsidyen Madencisi
En iyi cevaplar
0
Classları daha güzel optimize edebilirsin aslında onun dışında türk developer görmek güzel birkaç güne kadar forumda 2 haftadır geliştirdiğim bir sistemi paylaşacağım sizide konuma beklerim
@MegaCrafter
@Karamet

Ayrıca 1. Ve 3. Rotard messagebox çıkmıyor ikide çıkıyor ldldld bendemi sorun var
MessageBox'lar tam birer işlem olmadıkları için alt tarafta gözükmezler. Pencereler arasında geçiş yaparsan gözükebilir. Onun dışında bende gözüküyor.

O konuya da etiketlersen mükemmel olur.
 

xXDavcerXx

damnant quod non intelligunt.
En iyi cevaplar
1
MessageBox'lar tam birer işlem olmadıkları için alt tarafta gözükmezler. Pencereler arasında geçiş yaparsan gözükebilir. Onun dışında bende gözüküyor.

O konuya da etiketlersen mükemmel olur.
Gerçekten başarılı. GERÇEKTEN. Türkiyede görmek duygulandırdı. Çok teşekkürler. Emeğinin karşılığı alırsın ileride umarım...
 
Üst