logo RankiaTürkiye

Hash Fonksiyonu Nedir?

Hash fonksiyonu, kripto para dünyasında işlem güvenliği için kullanılan, sabit uzunlukta sonuçlar üreten bir kriptografik algoritmadır. Tek yönlüdür ve veri koruma sağlar.
temsili hash fonksiyonu

Bu makalede, kripto paralar için oldukça önemli bir konumda olan "hash fonksiyonu nedir?" sorusuna cevap arayacağız.

Hash fonksiyonu, herhangi bir rastgele bloğu sabit uzunlukta “n” karakterden oluşan yeni bir diziye dönüştürmekle görevli matematiksel bir algoritmadan oluşan bir kriptografik işlevdir.

Yani, hash fonksiyonu, girilen orijinal veri miktarından veya ilgili dosyanın boyutundan bağımsız olarak her zaman aynı boyutta bir sonuç elde edilmesini sağlar. Kripto para dünyasında bu fonksiyon, özellikle işlem güvenliği için sıklıkla kullanılır.

Bu tür algoritmaların ana özelliği, bir hash'in herhangi bir girdiyi aynı sayıda basamaktan oluşan bir çıktıya dönüştürebilmesidir. Genel olarak bu basamak sayısı “n” ile karakterize edilir. Başka bir deyişle, “yaz tatili şarkısı” ifadesi veya “Ahmet sütlü kahveyi sevmez” cümlesi bir hash fonksiyonuna girildiği zaman aynı uzunlukta bir şifrelenmiş dizi elde edilir.

Hash fonksiyonunun sonucunun üçüncü bir kişi tarafından çözülemeyeceğini belirtmek gerekir. Fonksiyon, sadece okunamaz bir kod olarak çıktı verir.

Ayrıca, bu çıktılara tersine mühendislik yapılamaz. Yani sonuç veya çıktı (hash değeri olarak da adlandırılır) elde edildikten sonra, girilen verileri (girdi) tekrar dönüştürmek mümkün değildir. Bu, kahve çekirdeklerini öğüttüğünüzde ve onları tekrar orijinal şekline dönüştüremediğiniz bir eyleme benzer. Bu özelliğe tek yönlülük denir.

Bununla birlikte, aynı girdi iki kez girilirse, aynı sonuç elde edilir. Bu nedenle, orijinal veriler biliniyorsa, hash tarafından üretilen kod doğrulanabilir.

Hash Fonksiyonu'nun Öne Çıkan Özellikleri

Hash fonksiyonunun aşağıdaki özellikleri ön plana çıkmaktadır:

  • Çarpışmalardan arındırılmıştır. Yani iki farklı girdi ile aynı çıktı elde edilemez.
  • Bir bilgiyi koruma fırsatı sunar.
  • Veri ihlalini tespit etmeyi ve indirilen bir dosyanın bütünlüğünü doğrulamayı sağlar.
  • Her zaman aynı uzunlukta bir çıktı elde edileceğini biliriz. Bu özelliğe determinizm denir.
  • Büyük harfler bile çıktının sonucunu değiştirebilir.

Hash Fonksiyonu'nun Tarihsel Gelişimi

Hash terimi ilk kez 60 yıldan daha eski bir tarihte kullanılmıştır. 1953 yılında, IBM çalışanı H. P. Luhn, aynı yılın Ocak ayında yazdığı bir notta, İngilizce'de doğramak ve karıştırmak anlamına gelen hash terimiyle bir benzetme yapmıştır.

Terimin yaygın olarak kullanılabilmesi için ise yaklaşık 10 yıl geçmesi gerekti.

Hash Fonksiyonu Ne İçin Kullanılır?

Bu sıkça sorulan bir sorudur ancak her şeyin bir nedeni vardır. Hash fonksiyonu, belirli bir karakter sayısında bir veri kümesini standartlaştırma amacıyla oluşturulmuştur. Bu da taleplere göre işlenir veya yorumlanır. Örneğin, isimler, telefonlar ve adresler gibi bir bilgi kümesini, veri işlemesini kolaylaştıran belirli bir karakter sayısına dönüştürmek mümkündür.

Blockchain ve kripto paralarda ise, hash önemli bir role sahiptir çünkü belirli verileri aynı karakter sayısında standartlaştırmaktan sorumludur. Bitcoin'de ise 256 bit hash algoritması olarak da bilinen SHA-256 adlı bir algoritma kullanılır.

  • SHA-256 algoritmasının herhangi bir uzunluktaki dizeleri 64 karakterlik sabit bir dizeye dönüştürdüğünü belirtmek gerekir.

Ayrıca, hash algoritması, Bitcoin madencilerinin kullandığı Proof-of-Work (İş Kanıtı) olarak adlandırılan karmaşık matematiksel problemleri çözme mekanizması içinde yer alır.

Bu kullanım alanlarına ek olarak hash'in kriptografik bir fonksiyon olarak uygulanması, sahtecilik olarak sınıflandırılan harcamaların çoğaltılması gibi eylemleri engellemeyi amaçlar. Ayrıca, hash şifrelerin depolanmasını da korur.

Algoritma içinde çoğaltılamayan sabit bir sayı olduğundan, çoğaltma ile ilgili sahtekarlıkları önler ve herhangi bir dosyanın kimlik doğrulamasına katkıda bulunur. Bu, bir blok zincirindeki bir dosya her değiştiğinde, hash'in de otomatik olarak değişeceği ve her değişiklik olduğunda aynı olacağı anlamına gelir.

Bundaki amaç ise blokchain'i oluşturan blokların tutarlılığını sağlamaktır çünkü hash her zaman önceki dosyalarla bir bağlantı korur.

👉‍‍ Blockchain hakkında derinlemesine bir inceleme için bu yazımızı inceleyebilirsiniz: Blockchain Nedir? Nasıl Çalışır?

Hash Algoritmasının Diğer Kullanım Alanları

Hash'in, blockchain için öneminin yanı sıra, diğer kullanım alanları da şu şekildedir:

  • Veritabanı Yönetimi: Hash ile uzun metinler daha kısa kodlarla korunabilir. Bu da veriler daha verimli bir şekilde depolanabilmesine olanak tanır.
  • Şifre Oluşturma: Yeni bir kullanıcı hesabı oluştururken şifreler bir hash değeri ile ilişkilendirilebilir. Bu şekilde, hesaba giriş yapmak istendiğinde, girilen şifre hash'e dönüştürülür ve saklanan hash değeri ile karşılaştırılır. Aynı şekilde, kullanıcı şifresini kurtarmak isterse, yeni anahtar için başka bir hash değeri oluşturulacaktır.
  • Hassas verilerin depolanması: Hash'in üçüncü şahıslar için okunamaz bir sonuç verdiğini yukarıda belirtmiştik. Bu nedenle veri hırsızlığı durumunda hash ile şifrelenen bu veriler kullanılamaz.

Şifreleme ve Hash Fonksiyonu Arasındaki Fark Nedir?

Şifreleme , üçüncü şahıslar için okunamaz hale getirmek amacıyla bir veri kümesini dönüştürme sürecidir.

  • Şifreleme ve hash fonksiyonun arasındaki fark, birincisinin iki yönlü, ikincisinin ise tek yönlü olmasıdır.

Yani, şifreleme ile veriler çözülebilir ve orijinal şekline geri dönebilir ancak, hash fonksiyonu ile, daha önce açıkladığımız gibi, bu mümkün değildir.

Hash Örneği

Aşağıda SHA-256 fonksiyonu ile elde edilmiş iki hash değeri örneğini inceleyebiliriz:

GirdiÇıktı
Sonbahar şarkısı524238f919d914f4ca8960f8a3567daf9571d9bca0cc3c7ec39fb2583b8e1338
Ahmet sütlü kahveyi sevmez6b0dcdd243629d141ddd0e7b6850b829185716ee3faa4441d3891a09e210433b

İlginizi çekebilecek makaleler:

Reklam
İlgili makaleler