0Pricing
Cryptology Academy · Ders

Dijital İmzalar için RSA-PSS

PSS kodlamasını ve tuzu öğrenin; imzalamada neden PKCS#1 v1.5'in yerini aldığını anlayın.

Dijital İmzalar için RSA-PSS, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

RSA-PSS (Olasılıksal İmza Şeması), PKCS#1 v1.5 imzalarının güvenli alternatifidir. Kanıtlanabilir güvenli imzalar için rastgeleleştirilmiş kodlama kullanır.

PKCS#1 v1.5 İmza Zayıflıkları

PKCS#1 v1.5 imzaları, belirlenimci bir DigestInfo kodlaması kullanır. Bilinen sahtecilik saldırıları, gevşek doğrulama uygulamalarından yararlanır. Bleichenbacher (2006), belirli doğrulayıcılara karşı imza sahteciliklerini gösterdi.

PSS Tasarım Hedefleri

Bellare-Rogaway 1996: PSS, imzaları olasılıksal hâle getirmek için rastgele bir tuz ekler. Her imzalama işlemi farklı bir imza üretir. Rastgele orakl modelinde kanıtlanabilir şekilde güvenlidir — RSA zorluğuna sıkı indirgeme vardır.

PSS Kodlama Adımları

1. mHash = Hash(M) 2. salt = random(sLen bytes) 3. M' = 0x00×8 || mHash || salt 4. H = Hash(M') 5. DB = PS || 0x01 || salt 6. dbMask = MGF1(H, emLen - hLen - 1) 7. maskedDB = DB XOR dbMask 8. EM = maskedDB || H || 0xbc

Tuz Uzunluğu Seçenekleri

PKCS#1 v2.2 seçenekleri: - MAX_LENGTH: karma kadar uzun tuz (önerilen, en yüksek güvenlik) - DIGEST_LENGTH: karma uzunluğunda tuz (standart) - 0: belirlenimci PSS (olasılıksal özelliği kaybeder, önerilmez) Python: padding.PSS.MAX_LENGTH

PSS Doğrulaması

EM = sig^e mod n değerini geri elde edin. maskedDB ve H'yi ayrıştırın. mHash'ten (ileti üzerinden) ve geri elde edilen tuzdan M'yi hesaplayın. H == Hash(M') eşleşmesini doğrulayın. Tuzun eşleşmesi gerekmez — yalnızca H'nin doğrulanması gerekir.

PSS ve v1.5 Güvenlik Karşılaştırması

PSS: kanıtlanabilir güvenli, sıkı indirgemeli, olasılıksal imzalar, biraz daha fazla hesaplama. v1.5: sezgisel olarak güvenli, belirlenimci, daha hızlı, biçim oraklı saldırılarına karşı savunmasız. Yeni kodların tümünde PSS kullanılmalıdır.

TLS 1.3'te PSS

TLS 1.3, tüm RSA imzaları için RSA-PSS gerektirir. PKCS#1 v1.5, yeni TLS 1.3 uzantılarında yasaktır. İmza algoritmaları: rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512.

Python'da PSS

from cryptography.hazmat.primitives.asymmetric import padding from cryptography.hazmat.primitives import hashes # Sign sig = private_key.sign( message, padding.PSS(mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH), hashes.SHA256() )

RSASSA-PSS OID

RSA-PSS'nin kendine ait bir anahtar türü OID'si vardır: id-RSASSA-PSS (1.2.840.113549.1.1.10). Özellikle PSS için oluşturulan anahtarlar bu OID'yi kullanır ve PSS imzalama gerektirir (v1.5 ile çalışmaz). Yeni kurulumlar için en iyi uygulama budur.

Kısaltılmış Karmalar ve Tuz Önerileri

salt_length = hash_length olduğunda PSS güvenliği = min(|modulus|/2, |hash|) - 1 bittir. SHA-256 kullanan RSA-2048 için: 128 bit güvenlik. Güvenlik düzeylerini eşleştirin: 192 bit güvenlik için RSA-3072 + SHA-384 kullanın.

Kısa Denetim

RSA-PSS imzalarını PKCS#1 v1.5 imzalarına kıyasla 'olasılıksal' yapan nedir?

Özet

RSA-PSS, RSA ile imzalamanın güvenli yoludur. Sırada eliptik eğri kriptografisinde ustalaşacak — eğrilerin geometrisini ve cebirini anlayacağız.

Sıkça Sorulan Sorular

“Dijital İmzalar için RSA-PSS” dersi ücretsiz mi?

Evet — “Dijital İmzalar için RSA-PSS” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“Dijital İmzalar için RSA-PSS” dersinde ne öğreneceğim?

PSS kodlamasını ve tuzu öğrenin; imzalamada neden PKCS#1 v1.5'in yerini aldığını anlayın. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Dijital İmzalar için RSA-PSS” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Ders Kitabı RSA'sı ve Güvensiz Olmasının Nedeni
  2. PKCS#1 v1.5 Dolgulaması ve Bleichenbacher
  3. OAEP: En İyi Asimetrik Şifreleme Dolgulaması
  4. Dijital İmzalar için RSA-PSS
← Cryptology Academy Sayfasına Dön