3DES (Üçlü DES), 1978 yılında IBM tarafından geliştirilmiş olan bir şifreleme algoritmasıdır. Brute Force saldırılara karşı koymakta zorlanan DES (Data Encryption Standard-Veri Şifreleme Standardı) algoritmasının üzerine geliştirilmiştir.
Özellikleri:
- Çift yönlü çalışır. Şifrelenmiş veri geri çözülebilir.
- DES şifrelemesinin 3 kere art arda yapılması şeklinde çalışır.
- DES şifreleme yöntemine göre 3 kat daha yavaş çalışır.
- Şifreleme yapmak için uzunluğu 24 bayt olan bir anahtar kullanılır. Her bayt için 1 eşlik biti vardır. Dolayısıyla anahtarın uzunluğu 168 bittir.
- Veri, 3DES anahtarının ilk 8 baytı ile şifrelenir. Sonra veri anahtarın ortadaki 8 baytı ile çözülür. Son olarak anahtarın son 8 baytı ile şifrelenerek 8 bayt bir blok elde edilir.
- Algoritmanın akış diyagramı aşağıdaki gibidir.
Avantajları:
- Çift yönlü çalıştığından şifreli bir şekilde veriler saklanabilir, istenildiği zaman geri çağrılarak şifresi çözülebilir.
- Bilgisayarın donanımsal açıklarını kapatır. (örnek: VPN, veri haberleşme ağları)
Dezavantajları:
- Güvenlik tamamen kullanılan anahtara dayanmaktadır. Anahtarın zayıflığı, şifrenin çözülmesini kolaylaştırır.
- Daha gelişmiş bir algoritmaya sahip olan AES (Advanced Encryption Standard-Gelişmiş Şifreleme Standardı) şifreleme yöntemine göre 6 kat daha yavaş çalışır.
Kullanıldığı Yerler:
- Bankacılık sistemi
- Ciddi güvenlik programları
- Elektronik ödeme sistemi (kredi kartıyla internetten alışveriş yapma)
3DES, yavaş yavaş ortadan kalkmaktadır. 3DES’in yerine AES (Gelişmiş Şifreleme Standardı) almaktadır.
.NET Teknolojisi ile 3DES Şifreleme
.NET teknolojisi ile yazılım geliştirenler, herhangi bir veride şifreleme yapmak için .NET Framework içerisinde yer alan System.Security.Cryptography kütüphanesini kullanmaktadırlar. Bu kütüphane içerisinde yer alan fonksiyonlar sayesinde, yazılımcı istediği platformda güvenli bir şekilde veri şifreleme ve şifre çözümleme yapabilmektedir. Yazılım geliştiricinin 3DES algoritmasını kullanarak şifreleme yapabilmesi için TripleDESCryptoServiceProvider sınıfını kullanması gerekmektedir. Bununla ilgili bağlantıda yer alan uygulama incelenebilir.