Glossary
İmza (kriptografik)
Yazarlığın kriptografik kanıtı
By Buğra SözeriPublished Updated
Bir kriptografik imza, özel anahtarı ifşa etmeden belirli bir mesajın o özel anahtara sahip biri tarafından üretildiğini kanıtlayan kısa bir bayt dizisidir. İmzayı doğrulamak yalnızca ilgili açık anahtarı (asimetrik algoritmalar için) ya da paylaşılan sırrı (simetrik için) gerektirir.
Temel asimetrik akış (RSA, ECDSA veya Ed25519 kullanarak):
- İmzalayan mesajı özetler (genellikle SHA-256).
- İmzalayan özeti kendi özel anahtarıyla şifreler. Çıktı: imza.
- Doğrulayan, alınan mesajı aynı özet fonksiyonuyla özetler.
- Doğrulayan, imzanın şifresini açık anahtarla çözer. Çıktı: bir özet.
- İki özet eşleşiyorsa imza geçerlidir ve mesaj üzerinde değişiklik yapılmamıştır.
Simetrik imzalar (HMAC), anahtar çifti yerine paylaşılan gizli kullanır. İmzalayan ve doğrulayan her ikisi de gizliyi bilir; her ikisi HMAC(gizli, mesaj) hesaplar ve karşılaştırır. Asimetrikten daha hızlı; yalnızca tarafların birbirine zaten güvendiği durumlarda kullanışlı (üçüncü taraf doğrulama için HMAC istemezsiniz; gizliyi bilen herkes imza sahteciliği yapabilir).
İmzaların çalışma yığınında göründüğü yerler: JWT jetonları (üçüncü segment), TLS sertifika zincirleri, kod imzalama (Apple notarization, Windows Authenticode), Git katkıları ve etiketleri (GPG imzalı), Bitcoin işlemleri, yazılım paket dağıtımı (Linux paket yöneticileri, Homebrew formülleri). Her bağlam imzayı belirli bir algoritma ve anahtar yönetim hikayesiyle bir araya getirir; altta yatan primitif aynıdır.
Kuantum sonrası imzalar ve önümdeki göç: RSA, ECDSA ve Ed25519'ın tamamı, yeterince büyük bir kuantum bilgisayarında Shor algoritmasına karşı savunmasızdır. NIST'in kuantum sonrası şifreleme programı 2024'te üç imza şemasını seçti — ML-DSA (Dilithium), SLH-DSA (SPHINCS+) ve FN-DSA (Falcon) — standart izleme değişimleri olarak. 2048 bit RSA'yı kırabilecek kadar büyük gerçek dünya kuantum makineleri henüz mevcut değil; ancak uzun ömürlü kriptografik sistemler (kök sertifikaları, arşivlenmiş yazılım için kod imzalama anahtarları, onlarca yıl gizli kalması amaçlanan şifreli yedekler) önleyici olarak göç ediyor. Karma imzalar (klasik + kuantum sonrası), tipik geçiş stratejisidir. Kaynak: NIST — Kuantum Sonrası Şifreleme Standardizasyonu.
Çözümlü örnek
"alice'e 100 $ transfer et" mesajını Ed25519 anahtarıyla imzalayın. Birinci adım: mesajı SHA-512 ile özetleyin; 64 baytlık özet üretilir. İkinci adım: Ed25519 algoritması bu özeti, deterministik nonce üretimi (RFC 8032) aracılığıyla 32 baytlık özel anahtarın skaleriyle birleştirir ve 64 baytlık imza (R, s) üretir. Üçüncü adım: 32 baytlık açık anahtara sahip olan herkes, eğri noktasını yeniden hesaplayarak ve sB = R + H(R, A, M) · A denkleminin sağlandığını kontrol ederek doğrulayabilir. İmza küçüktür (64 bayt) ve doğrulama hızlıdır (modern bir CPU'da ~50 µs). Önemli olan Ed25519'ın deterministik olmasıdır — aynı mesajı aynı anahtarla iki kez imzalamak özdeş baytlar üretir. Aynı mesajın RSA-2048 ile imzalanması 256 baytlık imza; P-256 üzerinde ECDSA ise ~71 DER kodlu bayt üretirdi. Algoritma seçimi imza boyutu, doğrulama hızı ve anahtar küçüklüğü arasında denge kurar.
Ne zaman ve neden önem taşır
İmzaların yanlış kullanımı, parola özetlemenin ardından en yaygın kriptografik güvenlik açığıdır. Klasik hatalar: kanonik biçimi belirsiz olan bir JSON blob imzalamak (anahtarları yeniden düzenlemek baytları değiştirir ve imzayı bozar ya da daha kötüsü, saldırganın aynı baytlarla anlambilimsel olarak farklı iki mesaj oluşturmasına izin verir), iki mesaj genelinde tekrarlanan deterministik ECDSA nonce kullanmak (özel anahtarı sızdırır — PlayStation 3 ana anahtarı 2010'da bu yolla çıkarılmıştır) ve beklenen algoritma alanının beklenenle eşleşip eşleşmediğini doğrulamadan imzaları kabul etmek (erken JWT kitaplıklarındaki "alg: none" güvenlik açığı sınıfı). Savunmacı kurallar: algoritmayı doğrulayıcıda sabitleyin, özetlemeden önce mesajı kanonikleştirin (geçici JSON değil COSE/JOSE kullanın), yeni kod için ECDSA yerine Ed25519'ı tercih edin ve tehdit modeli haklı kılıyorsa özel anahtarları HSM'lerde veya donanım destekli güvenli alanlarda saklayın. Kaynak: RFC 8032 — Edwards-Eğrisi Dijital İmza Algoritması (EdDSA).
Hesaplayıcıyı deneyin
Ham imza baytlarını imzalı başlık ve yük ile birlikte görmek için bir jetonu parçalara ayırın.
JWT çözücüyü açın →Frequently asked questions
- Kriptografik imza nedir?
- Kriptografik imza, özel anahtar kullanılarak oluşturulan matematiksel bir kanıttır; bu kanıt, karşılık gelen açık anahtarı elinde bulunduran herkesin, belirli bir mesajın o anahtar sahibi tarafından imzalandığını ve imzalamadan bu yana değiştirilmediğini doğrulamasına olanak tanır.
- Kriptografik imzalar pratikte nasıl kullanılır?
- TLS sertifikaları, tarayıcıların güvenmesi için sertifika otoriteleri tarafından imzalanır. Yazılım sürümleri, kullanıcıların yüklemeden önce özgünlüğü doğrulayabilmesi için imzalanır. JWT'ler, API'lerin jetonların bilinen bir otorite tarafından verildiğini ve üzerinde değişiklik yapılmadığını doğrulayabilmesi için üçüncü segmentlerinde bir imza taşır.
- Dijital imza ile MAC (mesaj doğrulama kodu) arasındaki fark nedir?
- MAC (örn. HMAC), paylaşılan gizli anahtar kullanır ve yalnızca aynı anahtarı elinde bulunduran taraflara bütünlük ve doğrulama kanıtı sağlar. Dijital imza ise asimetrik anahtar çiftleri kullanır — açık anahtara sahip olan herkes doğrulayabilir; bu da onu TLS sertifikaları veya imzalı yazılım gibi kamuya açık iddialar için uygun kılar.
Related
Published May 16, 2026 · Last reviewed May 31, 2026