MD5 Hash Algoritması

MD5 (Message Digest Algorithm 5)
Tarihçe ve Genel Bakış

MD5 algoritması, Ron Rivest tarafından 1991 yılında tasarlanmış kriptografik bir özet fonksiyonudur. İlk olarak, MD4'ün yerini alarak daha güvenli bir alternatif olarak geliştirilmiştir. MD5, herhangi bir boyuttaki veriyi alıp 128-bitlik (16 byte) sabit uzunlukta bir hash değeri oluşturur.

Çalışma Prensibi

MD5 algoritması aşağıdaki adımları takip eder:

  1. Girdi mesajına dolgu eklenerek uzunluğun 512 bitin katı olması sağlanır
  2. Mesaj 512 bitlik (64 byte) bloklara bölünür
  3. Her blok için dört aşamalı bir işlem uygulanır:
    • F fonksiyonu (0-15 adımları)
    • G fonksiyonu (16-31 adımları)
    • H fonksiyonu (32-47 adımları)
    • I fonksiyonu (48-63 adımları)
  4. Tüm bloklar işlendikten sonra A, B, C ve D değişkenlerinde tutulan değerler birleştirilerek 128 bitlik hash değeri elde edilir
Güvenlik Durumu
Önemli Güvenlik Uyarısı

MD5, 2004 yılından bu yana güvenlik açıkları nedeniyle kriptografik amaçlar için güvensiz kabul edilmektedir. Araştırmacılar, MD5 için etkili çakışma saldırıları geliştirmiş ve aynı hash değerini üreten farklı girdiler oluşturabilmiştir. Güvenlik gerektiren uygulamalarda SHA-256 veya SHA-3 gibi daha güvenli hash algoritmaları kullanılmalıdır.

Kullanım Alanları

MD5 şu alanlarda kullanılabilir:

  • Dosya bütünlüğü kontrolü (güvenlik kritik olmayan uygulamalarda)
  • Veri deduplication
  • Checksum hesaplamaları
  • Veri tanımlama
  • NOT: Parola hashleme veya sertifika imzalama gibi güvenlik kritik uygulamalarda kullanımı önerilmez!
Matematiksel Temel

MD5 algoritması, aşağıdaki dört adet mantıksal fonksiyonu kullanır:

  • F(X,Y,Z) = (X AND Y) OR ((NOT X) AND Z)
  • G(X,Y,Z) = (X AND Z) OR (Y AND (NOT Z))
  • H(X,Y,Z) = X XOR Y XOR Z
  • I(X,Y,Z) = Y XOR (X OR (NOT Z))
MD5 Hash Uygulaması
MD5 Hash Sonucu
Bit Uzunluğu: 128 bit
Hexadecimal Karakter Sayısı: 32 karakter
İşlem Adımları