Anasayfa / C#.Net / 3Des (Triple Des) Şifreleme Uygulaması
Bu yazımda, 3DES (Triple Des) algoritmasının çalışma mantığını kısaca anlattıktan sonra C# ile bir şifreleme ve şifre çözme uygulaması yapacağız.

3Des (Triple Des) Şifreleme Uygulaması

Bu yazımda, 3DES (Triple Des) algoritmasının çalışma mantığını kısaca anlattıktan sonra C# ile bir şifreleme ve şifre çözme uygulaması yapacağız.

3Des algoritması, Des algoritmasının ardarda üç kez çalıştırılması ile elde edilmiştir. O yüzden 3DES algoritmasına geçmeden önce, DES algoritması hakkında kısa bilgi vermekte fayda var. DES algoritması block cipher mantığına göre çalışır, yani veriler bir anahtar yardımıyla bloklar halinde şifrelenir. Anahtar ne kadar uzunsa şifreyi çözmekte o kadar zor olacaktır. Des algoritmasında anahtar uzunluğu 56 bittir. Bu anahtar özellikle günümüz işlemci hızları göz önüne alındığında, brute force saldırılarına belli bir süre dayanabilir. Bu nedenle artık bu algoritma yerini 3DES ve AES algoritmalarına bırakmıştır.

IBM firması, DES algoritmasının eksikliklerini, yeni bir şifreleme algoritması tasarlamadan gidermeye çalıştı. Öncelikle DES algoritmasının en zayıf noktası olan Sbox açıkları giderildi. Ardından bu algoritma ardarda üç defa işleme konarak, 3DES algoritması oluşturuldu. 3DES algoritması çift taraflı çalışır yani şifrelenen veri, bir anahtar yardımıyla tekrar çözülebilir. Anahtar 24 byte uzunluğundadır. Hesaplarsak 24×8 =192 bit eder, her byte’in 1 biti eşlik biti olarak kullanıldığından 192-24=168 bit elde edilir. Yani DES’teki 56 bitlik anahtarın tam tamına 3 katı bir anahtar uzunluğu elde edilmiş olur. Bu algoritmanın dezavantajı ise, Des işlemi 3 kez yapıldığı için üç kat daha yavaş çalışmasıdır. Günümüzde halen bankacılık, elektronik ödeme sistemi, yazılım anahtarı oluşturma gibi yerlerde kullanım alanı bulmaktadır.

Şimdide uygulamamızı nasıl yapacağımıza gelelim.

Uygulamamız şu şekilde çalışacak. Bir metni şifreleyerek bilgisayarımızdaki bir dosyaya kaydedeceğiz. Sonra bu dosyadan şifreli metni alıp, şifresini çözerek tekrar metnimizin ilk halini elde etmeye çalışacağız.

İşlemleri gerçekleştirmek için Sifreleme adından bir sınıf oluşturdum. Sınıfın içerisinde ki sifrele ve sifrecoz adındaki iki adet metod işlemleri gerçekleştiriyor.

Öncelikle uygulamamıza şifreleme ve dosya işlemleri için gerekli olan üst satırdaki namespaceleri eklemeyi unutmayın. Kodların açıklamalarını kod aralarına açıklama olarak ekledim.

Sınıfımız hazır şimdi bir form yardımıyla şifreleme işlemini nasıl yapacağımızı anlatayım. Aşağıdaki formu oluşturuyoruz. Çalışma mantığı şu şekilde olacak. TextBox’a  şifrelenmesini istediğimiz metni yazacağız ve şifrele düğmesine tıkladığımızda metnimiz şifrelenerek “C:” dizini içerisine sifreli.txt dosyası içerisine kaydedilecek.

triple des uygulama
3Des Şifreleme Uygulaması

Bu işlemleri yapacak olan kodları Şifrele düğmesine tıklayarak yazalım.

Şifreleme işlemi yapıldı. Şifrelenmiş dosyamızı kontrol edelim.
3des Şifreleme
Şiftelenmiş Metin
Dosyamız oluşturulmuş textbox’a “kutlay” yazdığımda bu şekilde şifreli hale gelmiş. Şimdi şifreyi çözerek metnin ilk halini elde edelim. Şifrelerken kullandığımız anahtarın aynısını, şifreyi çözmek için kullanacağız. Zaten şifrelemenin mantığıda bu değil mi?
Şifre çöz buttonuna tıklayarak aşağıdaki kodları yazıyoruz.
Kodlamada ve adımlarda bir yanlışlık yapmadıysanız uygulamanın sorunsuz şekilde çalışması lazım. Kodları geliştirerek,  istediğiniz uygulamaya uyarlayabilirsiniz. Konuyla ilgili sorularınızı yorum olarak alta yazarsanız  cevaplayabilirim.

İlginizi Çekebilir!

c# müzik çalar yapımı

C# ile Müzik Çalar Yapımı

Bu dersimde Windows’un kendi müzik çaları olan Windows Media Player’ ı C# içerisin de kullanarak ...

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir