_15 değeri hesaplanabilir (formula_16 işareti bitiştirme işlemini bildirmektedir). Bu özellik kullanılarak kriptografik özet fonksiyonlarından yararlanan basit doğrulama yöntemlerini kırmak mümkündür. HMAC yapısı bu sorunun üstesinden gelmek üzere tasarlanmıştır.

İdeal koşullarda daha sıkı özelliklerin sağlanması istenir. Özetleri birbirine benzeyen iki farklı mesaj bulmanın imkansız olması veya bir özetin mesaj hakkında hiçbir bilgi vermemesi beklenir. Bu koşulları sağlayan bir kriptografik özet fonksiyonu mümkün olduğunca rastsal fonksiyon olarak davranırken, aynı zamanda da deterministik ve verimli bir şekilde hesaplanabilir olmalıdır.

CRC32 ve diğer döngüsel artıklık denetimi algoritmaları çok daha zayıf gereksinimleri karşılamak üzere tasarlanmış olup kriptografik özet fonksiyonu olarak kullanılmamalıdır. WEP şifreleme standardı, mesaj bütünlüğünü denetlemek için kriptografik özet fonksiyonu yerine bir CRC algoritması kullanması nedeniyle saldırılara karşı savunmasız kalmıştır.

Pratik kriptografi uygulamalarında zorluk, sistemin güvenliği önemli olduğu sürece sisteme saldıracak düşmanların sistemi kıramayacakları bir derece olarak tanımlanır. Tanıma göre güvenlik ihtiyacı uygulamanın niteliğine göre değişebilmektedir. Düşmanların harcayacağı çabanın uygulamanın kırılmasıyla elde edilecek değer ile orantılı olduğu kabul edilebilir. Sistemi kırmak için gereken çaba özetin uzunluğu ile çok hızlı bir şekilde artmaktadır. Dolayısıyla özet uzunluğunu birkaç on bit artırarak, sistemi kırmak için gerekli çabayı binlerce kat artırmak mümkündür. Bu durum da sistemi kırmayı elde edilecek değere göre verimsiz hale getirecektir.

Teorik anlamda zorluk matematiksel olarak tanımlanmıştır. Asimptotik polinom zamanda kırılamayan bir güvenlik sistemi kırılması zor olarak kabul edilebilir. Bu tür tanımlar ispatlanabilir güvenlik açısından önem taşısa da pratiklikten uzak olabilmektedir. Teoride yavaş kabul edilen üstel zamanlı bir algoritma pratikte sistemi kırmak için yeterince hızlı çalışıyor olabilir. Benzer şekilde teoride hızlı kabul edilen polinom zamanlı bir algoritma pratikte çok yavaş olduğu için kullanılamayabilir.

Güvenli özetlerin önemli kullanım alanlarından birisi mesaj bütünlüğü doğrulamasıdır. Bir mesajda (veya dosyada) değişiklik olup olmadığı, gönderim veya bir başka olaydan önce ve sonra hesaplanan özetlerin karşılaştırılması ile mümkündür. Çoğu sayısal imza algoritması tüm mesaj yerine yalnızca özetin doğrulamasını yapmaktadır. Özetin özgünlüğünün doğru olması mesajın kendisinin özgün olduğunu gösteren yeterli bir kanıt olarak kabul edilmektedir.

Bir diğer uygulama alanı parola doğrulamasıdır. Güvenlik gereği parolalar açık metin olarak saklanmaz, yalnızca özet değerleri tutulur. Bir kullanıcıyı doğrulanırken, kullanıcının girdiği parolanın özeti sistemde saklanan özet ile karşılaştırılır. Parolaların özeti alınarak saklanması, unutulduğunda veya kaybedildiğinde tekrar bulunamayacağı anlamına gelir. Bu nedenle böyle durumlarda parola bir yenisi ile değiştirilir.

Mesaj özetleri dosya tanımlamada da kullanılabilir. Git, Mercurial ve Monotone gibi kaynak kod yönetim sistemlerinde, dosya içeriği, klasör ağacı gibi çeşitli içeriği tanımlamada SHA-1 özetleri kullanılmaktadır. Kişiden kişiye dosya paylaşım ağlarında da dosyaların hangi kişilerde olduğunu bulmada ve indirilen dosya içeriğini doğrulamada özet değerleri kullanılır.

Özet fonksiyonların en önemli kullanım alanlarından birisi komut çizelgesinde verinin yerini bulmaktır. Özet fonksiyonların özel bir türü olan kriptografik özet fonksiyonları bu amaçla da kullanılabilir. Bununla birlikte, sıradan özet fonksiyonlarına kıyasla hesaplanması daha çok işlem gerektirdiğinden yalnızca güvenliğin ön planda olduğu sistemlerde kullanılmaları daha uygundur.

Kriptografik özet fonksiyonlarının bir başka kullanım alanı sözderastsal sayı üretimidir. Tek bir anahtar veya paroladan yeni anahtarlar ve parolalar türetmek amacıyla da kullanılabilir.

Blok şifreleme yöntemlerini kullanarak özet fonksiyon oluşturmanın birkaç yöntemi vardır. Bu yöntemler blok şifre çalışma kipleri ile benzerlik gösterir. MD4, MD5, SHA-1, SHA-2 gibi iyi bilinen özet fonksiyonları blok şifreleme benzeri bileşenlerden oluşur. Geri besleme mekanizmaları ile fonksiyonun birebir ve örten olması engellenir. SHA-3 finalistleri arasında blok şifreleme ilkelerini kullanan algoritmalar olduğu gibi (Skein, BLAKE) başka tasarımlardan oluşan algoritmalar da vardır (JH, Keccak).

AES gibi standart bir blok şifreleme yöntemi özet fonksiyonlarının içindeki özel blok şifreleme yöntemlerinin yerine kullanılabilir. Böylece gömülü sistemler gibi kısıtlı kaynaklara sahip sistemlerde hem şifreleme hem de özetleme işlemleri en az kod ile yapılabilir. Ancak bu yöntemin verimlilik ve güvenlik açısından bazı sakıncaları da vardır. Özet fonksiyonlarındaki şifreler özetleme için yapılmış olup büyük anahtarlar ve büyük bloklar kullanır. Anahtarı her blok için değiştirebilir ve benzer anahtar akınlarına karşı dirençli olmak üzere tasarlanmıştır. Genel amaçlı blok şifrelerin ise tasarım amaçları farklıdır. AES'in kullandığı anahtar ve blok büyüklükleri uzun özet değerleri üretmek için elverişli değildir. AES şifreleme anahtarın her blok için değişmesi halinde verimsizleşmekte ve benzer anahtar saldırıları özet fonksiyonu olarak kullanıldığında daha az güvenli olmasına neden olmaktadır.

Bir özet fonksiyonu herhangi uzunluktaki bir mesajı sabit uzunlukta bir özet değerine dönüştürebilmelidir. Bu amaçla girdi eşit büyüklükte parçalara bölünür. Her parça ayrı bir tek yönlü sıkıştırma fonksiyonuna girdi olarak verilir. Bu fonksiyonun bir diğer girdisi de kendinden bir önceki fonksiyonun çıktısıdır. Bu şekilde zincirleme bir hesap sonucu özet değeri elde edilir.

Merkle–Damgård yapısı ile oluşturulmuş özet fonksiyonları, çakışmalara ancak kullanılan sıkıştırma fonksiyonunun olduğu kadar dayanıklıdır. Özet fonksiyonunda bulunacak bir çakışma çözümlenerek sıkıştırma fonksiyonunda karşılık gelen çakışma bulunabilir.

Oluşturulan özet fonksiyonunun güvenli olması için mesajın sonuna mesaj uzunluğu eklenir ve özet o şekilde hesaplanır. Aksi takdirde bilinmeyen bir mesajın sonuna başka bir mesaj eklemek suretiyle elde edilecek yeni mesaj için geçerli bir özet hesaplamak çok kolay olacaktır. SHA-1 ve MD5 gibi çok kullanılan özet fonksiyonları da bu yöntemi kullanmaktadır.

Merkle–Damgård yapısı çeşitli uzunluk artırma saldırılarına karşı zayıflık göstermektedir. Zincirleme hesaplama yapısı gereği paralel olarak çalışması da mümkün değildir. Bu nedenlerle farklı yapılarda kurulan yeni özet fonksiyonları tasarlanmaktadır.

Kriptografik özet fonksiyonları diğer kriptografik birimlerin yapılarında kullanılabillir. Kriptografik güvenliği sağlamak için bu tür yapılar oluşturulurken dikkat edilmelidir.

Anahtarlı özet fonksiyonları olarak da adlandırılan mesaj doğrulama kodları özet fonksiyonları kullanılarak oluşturulur. HMAC bu duruma örnektir.

Blok şifrelemenin özet fonksiyonlarında kullanılabildiği gibi özet fonksiyonları da blok şifreleme yapılarında kullanılabilir. Luby-Rackoff yapısı içerisinde kullanılan özet fonksiyonları güvenli olduğu sürece güvenlidir.

Sözderastsal sayı üreteçleri yapısında özet fonksiyonlarını barındıran bir başka kriptografik araçtır. Gizli bir çekirdek değerini bir sayaç ile birleştirip özetlemek suretiyle sözderastsal sayılar elde edilebilir.

Akış şifrelemeyi sabit uzunlukta çıktı üreten özet fonksiyonları ile gerçeklemek mümkündür. Özet fonksiyonları kullanılarak yapılmış sözderastsal sayı üreteçlerinden elde edilen sayılar akış şifrelemede anahtar olarak kullanılabilir.

Birden çok özet fonksiyonunun çıktılarının bitiştirilmesiyle elde edilecek bir özet, çakışma direnci açısından fonksiyonların en dirençlisi kadar dirençli olacaktır. Taşıma Katmanı Güvenliği algoritmasının eski sürümleri özet değeri olarak MD5 ve SHA-1 özetlerini birlikte kullanmaktaydı. Böylece, bu iki özet fonksiyonunun herhangi birinde çakışma bulunması algoritmanın güvenliğini etkilemeyecekti.

Farklı özet fonksiyonlarının Merkle–Damgård yapısı ile zincirleme birbirine bağlanması neticesinde kurulacak bir özet fonksiyonunun çakışma direnci, bileşenlerinin direncinden daha fazla değil, en fazla en dirençlisi kadar olacaktır.

Mevcut birçok özet fonksiyonu bulunsa da bir çoğunda güvenlik açıkları tespit edildiğinden kullanılmamalıdır. Bir özet fonksiyonu doğrudan kırılmamış olsa bile zayıflatılmış bir türevinin kırılmış olması fonksiyona olan güveni azaltır. Ağustos 2004'te SHA-0, RIPE-MD ve MD5 gibi zamanın gözde algoritmalarında bulunan zayıflıklar, bu algoritmalar temel alınarak yapılmış SHA-1, RIPEMD-128 ve RIPEMD-160 gibi algoritmaların güvenliğinde de kuşkuya yol açmıştır.

SHA-0 ve SHA-1 özet fonksiyonları Ulusal Güvenlik Teşkilatı tarafından geliştirilmiştir. Şubat 2005'te SHA-1'e karşı başarılı olan ilk saldırı duyurulmuştur. Bu saldırıya göre, 160 bitlik bir özet fonksiyonunda çakışma bulmak için gereken 2 işlemden daha kısa zamanda, 2 özetleme sonucu çakışma bulunmuştur. Ağustos 2005'te açıklanan bir başka saldırı ile bu sayı 2'e kadar düşmüştür. Yeni uygulamalar SHA-2 gibi SHA ailesinin daha üst düzey fonksiyonlarını kullanarak güvenliği sağlayabilirler. Rastsal özetleme kullanılarak da çakışma akınlarına karşı güvenlik sağlanabilir.

Özet fonksiyonu kullanan uygulamaların uzun dönemde güvenliğini sağlamak adına, SHA-2'nin yerini alacak olan SHA-3 algoritması için NIST'in düzenlediği yarışmanın 2012 yılı içinde sonlanması beklenmektedir.

Sık kullanılan özet fonksiyonlarının bir kısmının özellikleri aşağıdaki çizelgede verilmiştir.

Not: "İç durum", yapı içindeki sıkıştırma fonksiyonu bloklarının çıktısını bildirmektedir. Birçok algoritma özetlenen veri boyutu başta olmak üzere birçok farklı değişken de tutabilmektedir.




UTC+06:30

UTC+06:30, UTC'den (Eşgüdümlü Evrensel Zaman) 6 saat 30 dakika ileri zaman dilimi.





UTC+07:00

UTC+07:00, UTC'den (Eşgüdümlü Evrensel Zaman) 7 saat ileri zaman dilimi.





Mesaj D