SHA-256 Hash Algoritması

SHA-256 (Secure Hash Algorithm 256-bit)
Tarihçe ve Genel Bakış

SHA-256, SHA-2 (Secure Hash Algorithm 2) ailesinin bir üyesidir ve 2001 yılında ABD Ulusal Güvenlik Ajansı (NSA) tarafından tasarlanmıştır. NIST (National Institute of Standards and Technology) tarafından standart olarak yayınlanan SHA-2 ailesi, SHA-1'in güvenlik açıklarına karşı geliştirilmiştir. SHA-256, herhangi bir boyuttaki veriyi alıp 256-bitlik (32 byte) sabit uzunlukta bir hash değeri oluşturur.

Çalışma Prensibi

SHA-256 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 64 raund işlem uygulanır:
    • İlk olarak, 8 adet 32-bitlik (A-H) değişken başlangıç değerleriyle tanımlanır
    • Her raund için mesaj bloğu ve sabit değerler kullanılarak değişkenlerin değerleri güncellenir
    • Bitsel işlemler, kaydırmalar ve aritmetik işlemler kullanılır
  4. Tüm bloklar işlendikten sonra A-H değişkenlerinde tutulan değerler birleştirilerek 256 bitlik hash değeri elde edilir
SHA-256'nin Güvenlik Özellikleri
Güvenlik Özellikleri

SHA-256, günümüz standartlarına göre güvenli kabul edilmektedir ve yaygın olarak kullanılmaktadır. SHA-1 ve MD5'teki güvenlik zaafiyetlerinin üstesinden gelmek için tasarlanmıştır. 256 bitlik çıktı uzunluğu, brute-force saldırılarına karşı yüksek direnç sağlar (2^256 olası değer). Bu algoritma için henüz pratik bir çakışma (collision) saldırısı bulunmamıştır.

Kullanım Alanları

SHA-256 şu alanlarda yaygın olarak kullanılmaktadır:

  • Dijital imzalar ve SSL/TLS sertifikaları
  • Parola hashleme (güvenlik protokollerinde)
  • Dosya bütünlüğü kontrolü ve doğrulama
  • Blok zinciri teknolojileri (Bitcoin ve diğer kripto paralar)
  • Güvenli iletişim protokolleri
  • Veri deduplication ve depolama sistemleri
SHA-256 vs Diğer Hash Algoritmaları
Özellik SHA-256 SHA-1 MD5
Hash Boyutu 256 bit (32 byte) 160 bit (20 byte) 128 bit (16 byte)
Güvenlik Yüksek Zayıf Çok Zayıf
Hız Daha yavaş Orta Hızlı
Bilinen Çakışma Yok Var (2017) Var (2004)
Yaygın Kullanım Yüksek güvenlik gerektiren uygulamalar Tarihsel uygulamalar (artık önerilmiyor) Güvenlik gerektirmeyen uygulamalar
SHA-256 Hash Uygulaması
SHA-256 Hash Sonucu
Bit Uzunluğu: 256 bit
Hexadecimal Karakter Sayısı: 64 karakter
İşlem Adımları