Hashing (Hash) Nedir?

Bugün sizlerle birlikte nedir, ne değildir sorularımıza devam edeceğiz ve ‘Hashing Nedir?’ sorusuna cevap bulmaya çalışacağız.

Hashing, bir matematiksel fonksiyonu kullanarak bir karakterler dizisi yani hash dizisi oluşturmaktır. Bu karakter dizileri aşırı güvenlidir ve mesajları güvenli bir şekilde göndermemizi sağlar.

Kriptografik Hash Fonksiyonları

Kriptografik hash fonskiyonları, bir hash’ın ekstra güvenli spesifik türleridir ve kriptografi için mükemmellerdir. Aşağıda size sıralayacaklarımız ise bahsi geçen hash fonksiyonlarının sahip oldukları özelliklerdir:

Belirleyici – Belirli bir giriş yani input değeri için her zaman tam hash değeri üretilmelidir.

Bilgisayarlar açısından verimli – Bilgisayarların hash’ı hızlı bir şekilde geri döndürebilmeleri gerekir. Çoğu bilgisayar bir hash fonksiyonunu saniyenin bir fraksiyonunda işleyebilir.

hashing nedir

Ön plan saldırılarına direnç – Hash fonksiyonu giriş yani input değeri hakkında hiçbir bilgi vermemelidir.

Çarpışma direnci – Hash fonksiyonlarında aynı çıkışı yani output’u üreten iki tane input’a sahip olmanın imkansız ve ekstrem derecede zor olması gerekir. Input değeri herhangi bir uzunlukta ve karakterde olabileceği için bu değer için oluşabilecek olasılıklar sonsuzdur. Outputlar ise belirli bir uzunluğa sahiptir. Bu nedenle de belirli sayıda olasılıkları barındırırlar. Dolayısıyla, birden fazla input değerinin aynı output’u doğurması mümkündür. Çarpışma direnci yeterince güçlü değilse çarpışmalar bir ‘birthday attack’ yoluyla bulunabilir.

Birthday attack’ dediğimiz şey, olasılık teorisinin arkasındaki matematikten yararlanan ataklardır. Bir örnek vermemiz gerekirse, doğum günü örneğini yüksek ihtimalle duymuşsunuzdur. Çok olası bir durum olmasa da bir odada 27 kişi varsa iki insanın aynı doğum gününe sahip olmasının ihtimali %50’dir.

Peki bunun sebebi nedir?

Bir insanın ‘doğru’ doğum gününe sahip olma ihtimali 1/365’tir. İkinci bir insanın da aynı günde doğmuş olma ihtimali de 1/365’tir. İki kişinin de aynı gün doğmuş olma olasılığını bulmak için ikisinin olasılığını çarpmamız gerekir. Bu nedenle, 365 farklı doğum günü varsa 365 tane ihtimal var demektir. Yani, eşleşmenin %50 şansla olması için rastgele seçilmiş 23 insana denk gelen 365’in karekökü alınır.

Bu teori hashing’e uygulanırsa teknik olarak şunu elde ederiz; hiçbir hash fonksiyonu çarpışmaya dirençsiz değildir. Ancak bunun gerçekleşmesi de uzun zaman alır.

hashing nedir

Blockchain’de Hashing Nedir? Bitcoin SHA-256 Algoritması

Bitcoin bir blockchain üzerinde çalışır ve ‘SHA-256’ hashing algoritmasını kullanır. Bitcoin için hash fonksiyonları 3 ana işlev için kullanılır:

Madencilik – Madenciler bir yapbozu çözmek için yarışırlar. Her bir madenci çoktan bildiği bloklardan bilgi alır ve bunların dışında bir blok oluşturur. Algoritmadan gelen output hedef numaradan daha küçükse geçerli olarak kabul edilir ve network’ün geri kalanı tarafından kabul edilebilir. Bundan sonra da madencilerin bir sonraki bloğu yaratma hakları olur.

Blokları birleştirme – Daha fazla güvenlik için blockchain’deki her blok bir öncekiyle birleştirilir. Bu, hash pointer denen bir diğer değişkenin adresini saklayan değişkenler tarafından sağlanır. Basite indirgemek gerekirse, her bir blok blockchain’deki bir önceki bloğun hash sonucunu içerir. Bu da blockchain’in geçmişinin kolayca takip edilebildiğinden emin olur ve zararlı bir bloğun eklenmesi ihtimalini ortadan kaldırır.

Anahtarlar yaratma – Bir kripto para gönderip almak için bir özel bir de genel anahtara ihtiyacınız vardır. Bu iki anahtar ise birbirine bir hash fonksiyonu ile bağlıdır. Bu, ortak anahtarınıza dayanarak özel anahtarınızı kimsenin çözememesini sağlamak için önemli bir bileşendir.

Hashing’in Önemi

Hash fonksiyonu kripto paralara yüksek düzeyde güvenlik sağlar. Teoride online olan her şeyin hacklenebileceği mantığı olsa da hash fonksiyonu son zamanlarda var olan maksimum zorluk seviyesini ortaya koyar.

Sıkça Sorulan Sorular

Hash mantığı nedir?

Hashing, sabit büyüklükte bir çıktı yaratma sürecidir. Bunu çeşitli büyüklüklerdeki girdiler üzerinden yapar. Bu işlemi yürütebilmek için ise hashing algoritmalarını kullanır.

Hashing ne için kullanılır?

Ekstra güvenlik için kullanıldığı söylenebilir. Bunlar bir kod dizisi olduğu için kırılması çok daha zordur ve çeşitli diğer düzeylerde de avantajlar sağlarlar.

SHA-256 algoritması nedir?

Bitcoin blockchain’inin kullandığı hashing algoritmasına verilen isimdir.

Sorumluluk Reddi

Sitemizde yayınlanan her içerik, iyi niyet çerçevesinde kaleme alınmıştır ve genel manada bilgi vermek amacıyla yazılmaktadır. Sitemizden edindiği bilgiler ışığında, okuyucunun yaptığı her hamle, çok net bir şekilde kendi riskidir ve siteyle bir ilgisi yoktur. Kripto Para Okulu’nda ana amacımız, oldukça kaliteli bilgiler paylaşmaktır. Okuyucularımızın işine yarayacak eğitici ve öğretici içerikleri hazırlamak için yoğun bir mesai harcıyoruz. Bu standardı korumak ve daha da iyi içerikler hazırlamak için, iş ortaklarımız; yazılarımızda yer alarak bize bir komisyon ödemesi yapabilir. Ancak bu komisyonlar, kesinlikle tarafsız, dürüst ve eğitici içerikleri oluşturma sürecimizi negatif etkilemeyecektir.