SHA-1 (Secure Hash Algorithm 1)
Tarihçe ve Genel Bakış
SHA-1 algoritması, ABD Ulusal Güvenlik Ajansı (NSA) tarafından tasarlanmış ve 1995 yılında NIST (National Institute of Standards and Technology) tarafından standart olarak yayınlanmış bir kriptografik özet fonksiyonudur. SHA-1, MD5'ten sonra daha güvenli bir alternatif olarak geliştirilmiştir. Herhangi bir boyuttaki veriyi alıp 160-bitlik (20 byte) sabit uzunlukta bir hash değeri oluşturur.
Çalışma Prensibi
SHA-1 algoritması aşağıdaki adımları takip eder:
- Girdi mesajına dolgu eklenerek uzunluğun 512 bitin katı olması sağlanır
- Mesaj 512 bitlik (64 byte) bloklara bölünür
- Her blok için 80 raund işlem uygulanır:
- İlk olarak, 5 adet 32-bitlik (A, B, C, D, E) 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
- Tüm bloklar işlendikten sonra A, B, C, D ve E değişkenlerinde tutulan değerler birleştirilerek 160 bitlik hash değeri elde edilir
Güvenlik Durumu
Önemli Güvenlik Uyarısı
SHA-1, 2005 yılından bu yana güvenlik açıkları nedeniyle kriptografik amaçlar için güvensiz kabul edilmektedir. 2017 yılında, araştırmacılar "SHAttered" isimli ilk pratik çakışma saldırısını geliştirmiş ve aynı hash değerini üreten farklı PDF dosyaları oluşturabilmiştir. Google, Microsoft ve Mozilla gibi büyük şirketler, SHA-1 sertifikalarını 2017 yılında kullanımdan kaldırmıştır. Güvenlik gerektiren uygulamalarda SHA-256 veya SHA-3 gibi daha güvenli hash algoritmaları kullanılmalıdır.
Kullanım Alanları
SHA-1 şu alanlarda kullanılabilir (güvenlik gerektirmeyen):
- Dosya bütünlüğü kontrolü (güvenlik kritik olmayan uygulamalarda)
- Veri deduplication
- Git gibi sürüm kontrol sistemlerinde
- Eğitim ve tarihsel karşılaştırma amaçlı çalışmalarda
- NOT: Parola hashleme, dijital imzalar veya sertifikalar gibi güvenlik kritik uygulamalarda kullanımı önerilmez!
SHA-1 vs MD5
Özellik | SHA-1 | MD5 |
---|---|---|
Hash Boyutu | 160 bit (20 byte) | 128 bit (16 byte) |
Güvenlik | Zayıf (MD5'ten daha güvenli) | Çok Zayıf |
Hız | MD5'ten biraz daha yavaş | Daha hızlı |
İlk Çakışma | 2017 | 2004 |