Sözlük

Kriptografik Hash Fonksiyonu

Moderate

Kriptografik hash fonksiyonları, değişken boyutlu işlem girişinden sabit boyutlu hash değeri oluşturur.

Kriptografik Hash Fonksiyonu Nedir?

Kriptografik hash fonksiyonu, değişken uzunluktaki gelişigüzel veri dizisini, "hash" ismi verilen sabit uzunlukta ve belirli biçimdeki bu çıktıya dönüştürmek için kullanılan algoritmadır. Bu algoritma, belirli tekrarlanabilir işlemlerden meydana gelir.

Hash fonksiyonunun en basit örneklerinden biri, çok haneli bir sayıdaki rakamları tek haneli çıktı elde edene kadar toplamaktır. Örneğin girdi verisi 49 ise 4 ve 9 toplanır. Elde edilen 13 değerindeki birler ve onlar basamağındaki 3 ve 1 sayıları toplanarak 4 çıktısı elde edilir. Girilen sayının uzunluğu ne olursa olsun çıktı daima tek haneli olacaktır.

Örneğini verdiğimiz bu algoritma iyi sayılabilecek seviyede değildir. Zira hash fonksiyonunun işlevlerini etkin biçimde yerine getirebilmesi için belli başlı özelliklere sahip olması gerekir:

  • Herhangi girdinin çıktısını hesaplamak kolay, ancak işlemi tersine çevirmek ve bilinen çıktının girdisini hesaplamak neredeyse imkansız olmalıdır;
  • Determinist: Algoritmaya aynı girdi eklendiğinde daima aynı çıktı üretilmelidir;
  • Karışıklığa dirençli: İki farklı girdinin aynı çıktıyı üretme ihtimali bulunmamalıdır;
  • Çığ etkisi: Girdideki tek verinin değişmesi, çıktıyı belirgin biçimde değiştirmelidir.

Hash fonksiyonlarının birçok kullanım durumu mevcuttur. Örneğin, bilgisayarda uzun süre saklanan dosyalarının bütünlüklerini halen koruduğunu saptamak veya rastgele işlevler oluşturmak için uygulanabilir.

Ayrıca, SHA-256 hash fonksiyonu kullanan Bitcoin (BTC) gibi İş İspatı tabanlı kripto para birimlerinin madencilik işlemlerinde önemli bileşendir. Blockchain üzerine yeni blok eklemek ve yeni oluşturulan BTC ödüllerini elde etmek için madencilerin belirli kritere uygun biçimde hash değeri üretmesi gerekir.

Hash verilerinin rastgele olması ve herhangi girdiye ait çıktının hash fonksiyonu çalıştırmadan tahmin edilememesi, madencilerin yeni Bitcoin oluştururken gerekli miktarda iş gücü harcadıklarını kanıtlamaları açısından kritik öneme sahiptir.