Aynı zamanda SHA kısaltması tarafından da bilinen güvenli bir karma algoritması, kriptografik olarak güvenli olduğu düşünülen bir karma algoritmasıdır. Bir kez güvenli bir karma algoritma ile elde edilen orijinal veriler, tipik olarak, uygun bir miktarda hesaplama gücü ile yeniden oluşturulamaz. Güvenli karma algoritmalar, dijital imzalar dahil olmak üzere iletilerin kimliğini doğrulamak için sıklıkla diğer algoritmalarla birlikte kullanılır.
Bazı ağ yönlendiricileri ve güvenlik duvarları doğrudan donanımlarına güvenli karma algoritmalar uygular. Bu, veri paketlerinin verimlilik üzerinde sınırlı bir etki ile kimliğinin doğrulanmasını sağlar. Birçok açık kaynaklı uygulama da dahil olmak üzere güvenli karma algoritma yazılımı da mevcuttur. ABD Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) ve Kanada İletişim Güvenliği Kuruluşu (CSE) birlikte Şifreleme Modülü Doğrulama Programını (CMVP) yürütmektedir. Bu resmi program, hassas uygulamalar için güvenli karma algoritma uygulamalarının doğru çalışmasını onaylar.
ABD hükümeti en az altı güvenli karma algoritmayı standartlaştırdı. SHA-0 ve SHA-1, 1990'larda geliştirilen en eski enkarnasyonlardı. 2000'li yıllarda geliştirilen SHA-2 serisi, SHA-224, -256, -384 ve -512'yi içeriyordu. Bunlar, farklı içeriğe sahip iki belgenin genellikle iki benzersiz karma değer kümesi üreterek karma çarpışmalardan kaçınması için tasarlanmıştır.
İlk olarak 1993 yılında NIST tarafından yayınlanan SHA-0 algoritması, önemli bir zayıflık bulunduktan sonra hızla durduruldu. 1995 yılında SHA-1 ile değiştirildi; bu, SHA-0'ın açıklanmayan sorunlarına yönelik ekstra bir hesaplama adımı içeriyor. Her iki algoritma da 160-bit "özet" e 2 64 -1 bitlik bir mesaja sahiptir. Her ikisi de işlemlerinde 512 bitlik bir blok büyüklüğü ve 32 bitlik bir kelime büyüklüğü kullanır.
SHA-1 bazı yaygın İnternet protokollerinde ve güvenlik araçlarında kullanılır. Bunlar IPsec, PGP, SSL, S / MIME, SSH ve TLS’yi içerir. SHA-1 ayrıca, sınıflandırılmamış hükümet belgeleri için koruma planının bir parçası olarak da kullanılır. Özel sektör, bu güvenli karma algoritmayı bazı hassas bilgiler için de kullanmaktadır. 2010 yılında genel devlet kullanımından emekli olması planlanmaktadır.
SHA-224, -256, -384 ve -512, NIST tarafından 2001 ve 2004 yılları arasında yayınlanmıştır. SHA-224 ve SHA-256, aynı blok, sözcük ve SHA-1 ile aynı zamanda maksimum giriş mesajı boyutlarını kullanır. Buna karşılık, SHA-224 224 bitlik bir özet üretirken, SHA-256 256 bitlik bir özet oluşturur. SHA-384 ve SHA-512 blok büyüklüğünü 1024 bit'e, kelime büyüklüğünü 64 bit'e ve maksimum giriş mesajı uzunluğunu 2 128 -1 bite yükseltir. SHA-384 tarafından üretilen özet 384 bit uzunluğundadır, SHA-512 özeti 512 bit içermektedir.
SHA-0 ve SHA-1 gibi, SHA-2 ailesi ABD Ulusal Güvenlik Ajansı (NSA) tarafından tasarlanmıştır. Her ne kadar ciddi kusurlar SHA-2'de kamuya açıklanmamasına rağmen, NIST bir sonraki güvenli karma algoritmasını geliştirmek için bir rekabet başlattı. SHA-3 olarak adlandırılacak olan bu yeni algoritmanın 2012 yılında bir kamuoyu girişleri koleksiyonundan seçilmesi muhtemeldir. Mevcut algoritmalara dayanarak yeni bir tasarım olması bekleniyor.


