eTamga
eTamga Dizin
Türkiye E-İmza & E-Dönüşüm Sağlayıcıları Kataloğu
eTamga Ansiklopedi 📅 Son Güncelleme: ⏱️ 4 dk okuma 🛡️ 2026 GİB / VUK Uyumlu

SHA-256 Secure Hash Algorithm

Gelir İdaresi Başkanlığı teknik kılavuzları, Vergi Usul Kanunu ve UBL-TR standartları referans alınarak doğrulanmıştır.

Tanımı ve Standardizasyon Mimarisi

SHA-256 (Secure Hash Algorithm 256-bit), ABD Ulusal Güvenlik Ajansı (NSA) tarafından tasarlanan ve Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından FIPS PUB 180-4 (Secure Hash Standard) kapsamında yayımlanan, dünyanın en yaygın ve güvenilir kriptografik özetleme (hashing) fonksiyonudur.

SHA-2 algoritma ailesine mensup olan SHA-256; keyfi uzunluktaki herhangi bir girdi verisini (metin, PDF sözleşme, e-fatura XML dosyası veya ikili yazılım paketi) tek yönlü bir matematiksel işlemden geçirerek tam olarak 256 bit (32 Bayt / 64 karakterli onaltılık - hexadecimal dize) uzunluğunda sabit bir kriptografik parmak izine dönüştürür.

Matematiksel Yapısı ve Merkle-Damgård İnşası

SHA-256, klasik Merkle-Damgård blok sıkıştırma mimarisi üzerinde çalışır:

  1. Dolgulama (Padding): Girdi mesajının uzunluğu, sonuna '1' biti ve ardından gerektiği kadar '0' biti eklenerek 512 bitin katı olacak şekilde ($L \equiv 448 \pmod{512}$) genişletilir. Son 64 bite orijinal mesajın uzunluğu yazılır.
  2. Blok Bölümleme: Mesaj her biri 512 bitlik ($16 imes 32$ bit) bloklara ($M_1, M_2, \dots, M_n$) ayrılır.
  3. 64 Tur Sıkıştırma Fonksiyonu: Her 512 bitlik blok, 8 adet 32 bitlik çalışma değişkeni ($a, b, c, d, e, f, g, h$) üzerinde 64 tur boyunca bit düzeyinde mantıksal operasyonlarla işlenir:
    • $Ch(e, f, g) = (e \land f) \oplus ( eg e \land g)$ (Seçim fonksiyonu)
    • $Maj(a, b, c) = (a \land b) \oplus (a \land c) \oplus (b \land c)$ (Çoğunluk fonksiyonu)
    • $\Sigma_0(a) = ROTR^2(a) \oplus ROTR^{13}(a) \oplus ROTR^{22}(a)$
    • $\Sigma_1(e) = ROTR^6(e) \oplus ROTR^{11}(e) \oplus ROTR^{25}(e)$
  4. Başlangıç Sabitleri (K ve H0): İlk 8 asal sayının ($2 \dots 19$) kareköklerinin kesirli kısımlarından 8 başlangıç vektörü, ilk 64 asal sayının küpköklerinin kesirli kısımlarından ise 64 tur sabiti ($K_t$) üretilir.

Temel Kriptografik Güvenlik Kriterleri

  • Tek Yönlülük (Pre-image Resistance - $2^{256}$): Verilen bir SHA-256 özetinden ($H$) orijinal veriyi ($M$) geri elde etmek matematiksel olarak imkansızdır.
  • İkinci Ön-Görüntü Direnci (Second Pre-image Resistance - $2^{256}$): Belirli bir $M_1$ verisi verildiğinde, aynı özeti üreten farklı bir $M_2$ verisi bulmak imkansızdır.
  • Çarpışma Direnci (Collision Resistance - $2^{128}$): Doğum günü paradoksu (Birthday Attack) dahilinde dahi, aynı özete sahip herhangi iki farklı veri bulmak için gereken işlem gücü $2^{128}$ mertebesindedir; bu evrensel ölçekte aşılamaz bir güvenlik bariyeridir.
  • Çığ Etkisi (Avalanche Effect): Girdi verisindeki tek bir bitlik değişiklik (örneğin faturadaki 1 kuruşluk fark veya tek bir boşluk karakteri), üretilen SHA-256 özetinin ortalama %50'den fazla bitini tamamen değiştirir.

5070 Sayılı E-İmza Kanunu ve GİB E-Dönüşümdeki Hayati Rolü

Türkiye'deki dijital dönüşüm mevzuatında SHA-256 birincil zorunlu standarttır:

  • Nitelikli Elektronik İmza (NES): 5070 sayılı Kanun uyarınca imzalanacak PDF veya UDF dokümanının tamamı değil, dokümanın SHA-256 özeti alınır ve bu özet USB token içerisindeki özel anahtarla şifrelenir (CAdES/PAdES).
  • GİB UBL-TR E-Fatura / E-Arşiv: Faturanın XML içeriğindeki <DigestValue> alanı faturanın SHA-256 özetini taşır. Faturada en ufak değişiklik yapıldığında özet tutarsızlığı oluşur ve fatura geçersiz sayılır.
  • E-Defter Beratları: Defter berat dosyasının oluşturulmasında yevmiye defterinin parmak izi SHA-256 ile çıkarılarak Gelir İdaresi'ne tasdik ettirilir.

Linux / macOS CLI ile SHA-256 Kullanımı

# Bir dosyanın SHA-256 özetini alma
sha256sum sozlesme.pdf

# OpenSSL ile özet hesaplama
openssl dgst -sha256 fatura.xml

# Bir metin dizesinin özetini alma
echo -n "e-Tamga Türkiye E-Dönüşüm Rehberi" | sha256sum
Mevzuat İnceleme & Doğrulama: eTamga Editöryal Kurulu (17 Ekim 2026)
GitHub'da İyileştirme Öner