# SHA-256 Gerçekte Nedir?

> Cuadernos Lacre · Kavram · 19 Mayıs 2026
> https://solo2.net/tr/defterler/articulos/sha-256-gercekte-nedir.html

Altmış dört karaktere sığan ve orijinal metindeki tek bir virgül bile hareket etse tamamen değişen matematiksel bir parmak izi. Neden ona dijital mühür mumu damgası diyoruz.

---

## Teknik ismin ardındaki basit fikir

Tek bir yuvası ve tek bir ekranı olan bir makine hayal edin. Yuvadan bir metin giriyorsunuz: bir kelime, bir cümle, koca bir roman. Ekranda birkaç an sonra tam olarak altmış dört karakterlik bir dizi beliriyor. Biz profesyonel okuyucular buna *hash* veya *kriptografik özet* diyoruz; genel okuyucu içinse buna şimdilik metnin matematiksel parmak izi diyebiliriz, tıpkı parmak izinin bir insan için olduğu gibi.

Aynı metni iki kez girerseniz, makine her iki seferde de aynı parmak izini gösterir. Biraz farklı bir metin girerseniz —yer değiştirmiş tek bir virgül, küçük harfe dönüşen bir büyük harf— makine ilkinden tamamen farklı bir parmak izi gösterir. Benzer değil: bambaşka. Bu iki özellik bir arada —belirlenimcilik (determinism) ve hassasiyet— basit fikri oluşturur. SHA-256 hakkındaki diğer her şey, bunları düzgünce yerine getiren mekanizmadır.

Makinenin ne yapmadığını en baştan söylemekte fayda var. Metni şifrelemez. Onu gizlemez. Onu saklamaz. Makine metne bakar, parmak izini hesaplar ve metni unutur. Parmak izi, onu üreten metnin yeniden oluşturulmasına izin vermez; sadece aday bir metin verildiğinde, orijinaliyle eşleşip eşleşmediğini kontrol etmeye yarar. Bu yüzden buna *tek yönlü* bir özet diyoruz: gidilir ama dönülmez.

## Bir hash şifreleme ile aynı şey değildir

Kafa karışıklığı yaygındır ve bunu gidermek gerekir: şifrelemek (encrypt) ve hash'lemek farklı işlemlerdir. Şifrelemek, bir metni sadece anahtar sahibinin orijinal formuna döndürebileceği şekilde dönüştürmekten ibarettir. Hash'lemek ise metnin bir parmak izini üretmektir ki orijinal metin bu izden asla geri kazanılamaz, anahtarlı veya anahtarsız. İlki tasarım gereği geri döndürülebilirdir (reversible); ikincisi ise tasarım gereği geri döndürülemezdir (irreversible).

Pratik sonucu önemlidir. Bir uygulama "şifrenizi şifreli olarak saklıyoruz" dediğinde, o şifreyi çözecek anahtara sahip biri vardır — her durumda uygulamanın kendisi. Bir uygulama "şifrenizi hash'lenmiş olarak saklıyoruz" dediğinde, uygulamanın kendisi istese bile orijinal şifreyi okuyamaz; sadece sizin yazdığınız şifrenin tekrar aynı parmak izini üretip üretmediğini kontrol edebilir. İkinci model, doğru yapıldığında, şifre saklamak için ilkine göre çok daha tercih edilebilirdir. "Doğru yapıldığında" ifadesinin neden sadece SHA-256'dan fazlasını gerektirdiğini ileride göreceğiz.

## Bir kriptografik hash'i yararlı kılan dört özellik

*Kriptografik* sıfatını hak eden bir hash fonksiyonu şu dört özelliği karşılar:

1. Belirlenimcilik (Determinism). Aynı girdi her zaman aynı parmak izini üretir.
2. Çığ etkisi (Avalanche effect). Girdideki küçük bir değişiklik, öncekine görünür bir benzerliği olmayan, tamamen farklı bir parmak izi üretir.
3. Tersine çevrilmeye karşı direnç. Bir parmak izi verildiğinde, onu üreten metni bulmak hesaplama açısından mümkün değildir.
4. Çakışma direnci (Collision resistance). Aynı parmak izini üreten iki farklı metin bulmak hesaplama açısından mümkün değildir.

«Hesaplama açısından mümkün değildir» ifadesi «matematiksel olarak imkansızdır» anlamına gelmez. Bunu başarmanın zaman, enerji ve para maliyetinin, makul ölçüde mevcut olan tüm hesaplama kapasitesinin toplamını katbekat aştığı anlamına gelir. SHA-256 için bu sınır, özel donanımlarla yapılan en iyimser yaklaşımlarda bile binlerce trilyon yıl ile ölçülür. Bu da okuyucu için pratik anlamda «mümkün değil» ile aynı şeydir.

## Özel olarak SHA-256

İsmi her şeyi anlatıyor. SHA, *Secure Hash Algorithm* (Güvenli Hash Algoritması) kelimelerinin kısaltmasıdır. 256 sayısı parmak izinin bit cinsinden boyutunu gösterir: iki yüz elli altı bit, yani otuz iki bayt; onaltılık (hexadecimal) sistemde gösterildiğinde okuyucunun artık tanıdığı o altmış dört karakterdir. Standart, bu tür fonksiyonları normalleştiren ABD kuruluşu NIST tarafından 2001 yılında SHA-2 ailesinin bir parçası olarak yayınlanmıştır; standardın mevcut sürümü olan FIPS 180-4, 2015 tarihlidir.

Boyutlar bir anlık durup düşünmeyi hak ediyor. İki yüz elli altı bit, iki üzeri iki yüz elli altı farklı değere izin verir: yetmiş sekiz ondalık basamaklı bir sayı, gözlemlenebilir evrendeki tahmini atom sayısından birkaç kat daha büyüktür. Dünyadaki her metin —her kitap, her e-posta, her mesaj— bu değerlerden birine düşer. İki farklı metnin tesadüfen çakışma olasılığı pratik amaçlar için sıfırdan farksızdır.

## Kodda nasıl görünür?

## Neden ona mühür mumu damgası diyoruz?

On beşinci yüzyıldan on dokuzuncu yüzyıla kadar Avrupa yazışmalarında mektubu mühür mumu (lacre) kapatırdı. Erimiş bir balmumu damlası, üzerine bastırılan bir mühür ve mektup benzersiz bir şekilde işaretlenmiş olurdu. İçeriği kararlı bir gözetlemeciden korumazdı —kağıt ışığa tutularak okunabilir, mühür mumu kırılabilirdi— ama kanıtlardı. Kapanıştaki herhangi bir değişiklik, alıcıya kağıdı açmadan önce bile görünür olurdu. Mühür mumu hasarı engellemezdi; onu ifşa ederdi.

Her Cuaderno gövdesinin SHA-256'sı dijital versiyonda aynı işlevi görür. Makalenin yayınlandığı an ile okuduğunuz an arasında tek bir kelime bile değişse, metnin altındaki onaltılık damga artık elinizdeki metnin SHA-256'sı ile eşleşmez. Beş satırlık kodu olan her okuyucu bunu kontrol edebilir. Yayın, damga onu ele vermeden tarihini yeniden yazamaz. Hasara karşı korumaz; onu doğrulanabilir kılar.

## Bir hash ne değildir?

Bazen SHA-256'dan ona ait olmayan dört kullanım beklenir:

1. Şifreleme. Bir hash özetler; gizlemez. Eğer metnin okunamamasını istiyorsanız onu hash'lemeniz değil, şifrelemeniz gerekir.
2. Yazarı doğrulamak. Bir hash metni kimin yazdığını söylemez, sadece hangi metnin hash'lendiğini söyler. Yazarlıkla ilişkilendirmek için hash'in üzerinde sadece hash'in kendisi değil, kriptografik bir imza gerekir.
3. Şifreleri saklamak. Burada anlaşılması gereken bir tuzak var. SHA-256 çok hızlı olacak şekilde tasarlanmıştır —bu birçok şey için iyidir ama bunun için kötüdür. Özel donanıma sahip bir saldırgan, sizinkini bulana kadar bir SHA-256 hash'ine karşı saniyede milyarlarca şifre deneyebilir. Şifreleri saklamak için, *tuz* (her kullanıcıya özel rastgele bir veri, aynı şifreye sahip iki kişinin aynı hash'e sahip olmasını engeller) ile birleştirilmiş Argon2, scrypt veya bcrypt gibi kasıtlı olarak yavaşlatılmış anahtar türetme fonksiyonları kullanılmalıdır.
4. Hash'i yazar kimliği olarak okumak. Öyle değildir. Bir hash içeriği tanımlar. Eğer iki kişi SHA-256 ile *merhaba* kelimesini hash'lerse, ikisi de aynı özeti elde eder — ve bu bir kusur değil, temel özelliktir: eğer özetler farklı olsaydı, yayınlanan ile alınan arasındaki eşleşmeyi kontrol edemezdik.

## Günlük hayatınızda SHA-256 nerede karşınıza çıkar?

Siz görmeseniz de SHA-256, internette her gün kullandığınız şeylerin büyük bir kısmını ayakta tutar. Bitcoin blok zinciri, her bloğun SHA-256'sını bir sonrakine zincirleyerek inşa edilir; geçmiş bir bloğu değiştirmek sonraki tüm zincirin yeniden hesaplanmasını zorunlu kılar. Dünyanın yarısının kodlarını versiyonladığı sistem olan Git, her onayı (commit) içeriğinin tamamının SHA-256'sı (yeni sürümlerde) veya selefi SHA-1 (eski sürümlerde) ile tanımlar. Bir web sitesine girdiğinizde kimliğini doğrulayan HTTPS sertifikaları, ilişkili bir SHA-256 parmak izi taşır. Yazılım indirmeleri, dosyanın yolda değiştirilmediğini doğrulamanız için genellikle geliştirici tarafından yayınlanan bir SHA-256 ile birlikte gelir. Ve dediğimiz gibi, her Cuadernos Lacre'nin altında.

## Profesyonel okuyucu için

Sistemlere karar veren veya onları denetleyenler için dört operasyonel hatırlatma:

1. Hash şifreleme değildir. Eğer bir tedarikçi teknik dokümantasyonunda bu iki terimi karıştırıyorsa, tam olarak ne demek istediğini sormakta fayda vardır.
2. Şifreleri saklamak için asla tek başına SHA-256 kullanılmamalıdır. SHA-256 bu iş için fazla hızlıdır (*Bir hash ne değildir* bölümündeki 3. maddeye bakınız). Mevcut standart Argon2id'dir: tasarım gereği yavaştır, sunucu kapasitesine göre yapılandırılabilir, kullanıcı başına farklı rastgele bir *tuz* ile birleştirilir.
3. Belgelerin —sözleşmeler, dosyalar, arşivler— bütünlüğü için SHA-256 referans standart olmaya devam etmektedir. AB'deki nitelikli zaman damgası hizmetlerinin kullandığı algoritmadır.
4. Uzun süreli koruma (on yıllar) için SHA-256'nın yanına bir SHA-3 veya SHA-512 hesaplayıp arşivlemek de faydalıdır; kriptografik ihtiyat, asırlık arşivlerde tek bir fonksiyona dayanmamanızı önerir.

Dünyanın en ayrıntılı domino devresini kurduğunuzu hayal edin: binlerce taş, onlarca çatal, mekanik köprüler ve tüm odayı geçen rampalar, parça parça özenle yerleştirilmiş.

İlk taşa bir dokunuş yaparsanız, zincir hassas ve tekrarlanabilir bir sıra ile düşer. Aynı kurulum, aynı başlangıç dokunuşu → tekrar tekrar düşen taşların aynı final deseni.

İşte ilginç olan şudur: Başlamadan önce tek bir taşı yarım santimetre yana kaydırın ve tekrar dokunun. Etkinleşmesi gereken bir rampa hareketsiz kalır, bir köprü düşmez, farklı bir çatal tetiklenir. Yerdeki taşların son deseni, ilkiyle karşılaştırıldığında tamamen tanınmaz haldedir.

SHA-256 matematiksel olarak bu devredir. Yazdığınız metin, taşların başlangıç konumudur. Algoritma, şelaleyi serbest bıระกัน dokunuştur. Ve sonuç — *hash* dediğimiz şey — her şey durduğundaki zeminin donmuş fotoğrafıdır. Orijinal metinden tek bir virgülü değiştirin, fotoğraf radikal bir şekilde farklı olacaktır. İşte bu kadar basit ve bu kadar çarpıcı.

---

*Bu makalenin altına geri dönerseniz, altmış dört karakterlik onaltılık bir damga göreceksiniz. Bu, az önce okuduğunuz metnin bu dildeki SHA-256'sıdır. Eğer makaleyi çevirseydik damga başka olurdu; İspanyolca versiyonundaki bir kelime değişseydi İspanyolca damga değişirdi. Damga içeriği korumaz —bunun için başka araçlar vardır— ancak onu benzersiz bir şekilde tanımlar. Ve bu, kulağa ne kadar mütevazı gelse de, yayın zincirinin hiçbir adımının söylenenleri fark edilmeden değiştirememesi için yeterlidir. Geri kalan her şey —şifreleme, imzalama, kimlik belirleme— bu basit fikrin üzerine inşa edilir.*

## Kaynaklar ve ek okumalar

- NIST — *FIPS PUB 180-4: Secure Hash Standard (SHS)*, Ağustos 2015. SHA-256 dahil SHA-2 ailesinin resmi spesifikasyonu.
- RFC 6234 — *US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)*, IETF, Mayıs 2011. Uygulayıcılar için normatif versiyon.
- Ferguson, N.; Schneier, B.; Kohno, T. — *Cryptography Engineering: Design Principles and Practical Applications* (Wiley, 2010). 5. ve 6. bölümler hash fonksiyonlarını ve bunların meşru ve gayrimeşru kullanımlarını kapsar.
- Nakamoto, S. — Bitcoin: A Peer-to-Peer Electronic Cash System (2008). Blokları yapı gereği değişmez bir yapıda birbirine zincirlemek için SHA-256 kullanımının pratik örneği.
- 910/2014 (eIDAS) sayılı AB Tüzüğü — nitelikli zaman damgalayıcılarının çerçevesi. SHA-256, AB'de düzenlenen nitelikli elektronik imzalar ve mühürler için referans fonksiyondur.
- Zig'deki referans uygulama: Dilin resmi deposunda std.crypto.hash.sha2.Sha256 (*github.com/ziglang/zig* → lib/std/crypto/sha2.zig). Solo2'nin aslında kullandığı optimize edilmiş ve denetlenmiş versiyondur. Ekin öğretici uygulamasıyla karşılaştırmak için yararlıdır.

---

*Cuadernos Lacre · Menzuri Gestión S.L. yayını · R.Eugenio tarafından yazıldı · Solo2 ekibi tarafından düzenlendi.*
*https://solo2.net/tr/defterler/*
