Cryptology Academy · Ders

ECDH: Anahtar Değişimi için Eliptik Eğriler

ECDH anahtar anlaşmasına eliptik eğri skaler çarpımını uygulayın.

3. ders / 413 adım

ECDH: Anahtar Değişimi için Eliptik Eğriler, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 3. 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

ECDH, DH'nin çarpımsal grubunun yerine bir eliptik eğri grubu kullanır. Sonuç: 10 kat daha küçük anahtarlarla ve 10 kat daha hızlı işlemlerle eşdeğer güvenlik.

EC Grup İşlemleri

ECDH'de 'çarpma', eliptik eğri skaler çarpımıdır: P noktasını k skaleriyle çarpmak, P'yi k kez kendisiyle toplamaktır: k×P. Bu, g^k mod p işleminin EC karşılığıdır.

ECDH Protokolü

E eğrisi ve G taban noktası (açık) üzerinde anlaşın. Alice: özel anahtar a, açık anahtar A = a×G Bob: özel anahtar b, açık anahtar B = b×G Alice: S = a×B = a×b×G Bob: S = b×A = b×a×G İkisi de aynı S noktasını türetir.

ECDLP

Eliptik bir eğri üzerinde A = a×G verildiğinde a'yı bulun. Bu, Eliptik Eğri Ayrık Logaritma Problemidir. Genel eğriler için üstel altı bir algoritma bilinmediğinden, eşit anahtar boyutlarında ECDLP, DLP'den daha zordur.

Curve25519

Bernstein tarafından 2005'te tasarlanmıştır. Montgomery biçimi: 2^255-19 asalı üzerinde y²=x³+486662x²+x. Hızlı ve uygulama hatalarına dayanıklı olacak şekilde tasarlanmıştır. WireGuard, Signal ve SSH'de kullanılır.

X25519 Anahtar Değişimi

X25519, Curve25519 kullanan ECDH işlevidir. Ortak noktanın yalnızca x koordinatı kullanılır (kofaktör çarpımı sınır durumlarını ele alır). RFC 7748, X25519 ve X448'i standartlaştırmıştır.

Python'da ECDH

from cryptography.hazmat.primitives.asymmetric.x25519 import X25519PrivateKey alice_priv = X25519PrivateKey.generate() bob_priv = X25519PrivateKey.generate() alice_pub = alice_priv.public_key() bob_pub = bob_priv.public_key() shared_alice = alice_priv.exchange(bob_pub) shared_bob = bob_priv.exchange(alice_pub) assert shared_alice == shared_bob

Ortak Noktadan Simetrik Anahtara

Ham ortak nokta doğrudan anahtar olarak kullanılmaz (düzgün dağılmamıştır). Uygun bir simetrik anahtar türetmek için HKDF kullanın: from cryptography.hazmat.primitives.kdf.hkdf import HKDF key = HKDF(SHA256, 32, salt, info).derive(shared_secret)

ECDH ve DH Anahtar Boyutları

128 bitlik güvenlik düzeyi: - DH: 3072 bitlik asal - ECDH: 256 bitlik eğri Anahtar boyutu oranı: yaklaşık 12:1. ECDH açık anahtarı: 32 bayt (Curve25519). DH açık anahtarı: 384 bayt. ECDH özel anahtar işlemleri yaklaşık 50 kat daha hızlıdır.

Kusurlu Eğrilerde Kofaktör Saldırısı

Küçük alt grup saldırıları, önemsiz olmayan kofaktörlere sahip eğrilerden yararlanır. Curve25519'un kofaktörü 8'dir, ancak X25519 bunu doğru şekilde ele alır. NIST P-eğrilerinin kofaktörü 1'dir. Her zaman standartlaştırılmış uygulamaları kullanın.

TLS 1.3'te ECDH

TLS 1.3, anahtar değişimi için X25519, X448, P-256, P-384 ve P-521'i destekler. X25519 en yaygın olanıdır; hızlı, güvenli ve sabit zamanlıdır. Her iki eş de her oturum için geçici anahtarlar üretir.

Hızlı Kontrol

ECDH'nin klasik Diffie-Hellman'a göre birincil avantajı nedir?

Özet

ECDH'yi öğrendiniz! Sırada, ileriye dönük gizliliği ve geçici anahtar değişiminin TLS'de neden zorunlu olduğunu anlayacağız.
Başlamak ücretsiz

Yapay zeka eğitmeniyle Cryptology Academy öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
67
Dersler
261

Sıkça Sorulan Sorular

“ECDH: Anahtar Değişimi için Eliptik Eğriler” dersi ücretsiz mi?

Evet — “ECDH: Anahtar Değişimi için Eliptik Eğriler” 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.

“ECDH: Anahtar Değişimi için Eliptik Eğriler” dersinde ne öğreneceğim?

ECDH anahtar anlaşmasına eliptik eğri skaler çarpımını uygulayı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 3. dersidir.

“ECDH: Anahtar Değişimi için Eliptik Eğriler” 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. Anahtar Dağıtımı Problemi
  2. Diffie-Hellman Anahtar Değişimi Matematiği
  3. ECDH: Anahtar Değişimi için Eliptik Eğriler
  4. İleri Gizlilik ve Geçici Anahtar Değişimi
← Cryptology Academy Sayfasına Dön