Kriptografide ECC: Küçük Anahtarların Büyük Matematiği

kriptografide-ecc-kucuk-88

Kriptografi dünyasında “daha büyük anahtar, daha güçlü güvenlik” düşüncesi her zaman geçerli değildir. Eliptik Eğri Kriptografisi (Elliptic Curve Cryptography veya ECC), zekice seçilmiş matematiksel yapılar sayesinde RSA gibi klasik açık anahtarlı yöntemlerle benzer güvenliği çok daha kısa anahtarlarla sunar. Böylece özellikle mobil cihazlarda, akıllı kartlarda ve IoT sistemlerinde daha az bellek, bant genişliği ve enerji tüketimi hedeflenir. ``

Eliptik eğri nedir?

Adı uzay geometrisini çağrıştırsa da kriptografide kullanılan eliptik eğriler elips değildir. Sonlu bir alan üzerinde genellikle şu denkleme uyan noktalardan oluşurlar:

\[y^2 \equiv x^3 + ax + b \pmod p\]

Burada $p$ büyük bir asal sayı, $a$ ve $b$ ise eğrinin parametreleridir. Eğrinin tekil olmaması için şu koşul sağlanır:

\[4a^3 + 27b^2 \not\equiv 0 \pmod p\]

Eğri üzerindeki noktalar özel bir toplama işlemine sahiptir. Bir $P$ noktası kendisiyle tekrar tekrar toplandığında skaler çarpım elde edilir:

\[Q = kP\]

$P$ ve $k$ biliniyorsa $Q$ noktasını hesaplamak kolaydır. Buna karşılık yalnızca $P$ ve $Q$ bilindiğinde $k$ değerini bulmak pratikte son derece zordur. ECC’nin güvenliği, Eliptik Eğri Ayrık Logaritma Problemi adı verilen bu tek yönlü zorluğa dayanır.

ECC neden kısa anahtar kullanabilir?

RSA’nın güvenliği büyük sayıların çarpanlarına ayrılmasının zorluğuna dayanır. Bu problem için geliştirilen algoritmalar nedeniyle güvenlik arttıkça RSA anahtarları hızla büyür. Eliptik eğri ayrık logaritması için bilinen genel saldırılar daha az verimli olduğundan ECC aynı güvenlik düzeyine daha küçük anahtarlarla ulaşabilir.

Yaklaşık güvenlik düzeyi RSA anahtarı ECC anahtarı
80 bit 1024 bit 160 bit
112 bit 2048 bit 224 bit
128 bit 3072 bit 256 bit
256 bit 15360 bit 512 bit

Örneğin 256 bitlik modern bir eliptik eğri, yaklaşık 3072 bitlik RSA anahtarının sunduğu klasik güvenlik seviyesine yakındır. Küçük anahtarlar sertifikaları, imzaları ve ağ üzerinden taşınan verileri de küçültür.

ECC tek bir algoritma değildir

ECC, farklı amaçlara hizmet eden bir algoritma ailesidir:

Yöntem Görev Tipik kullanım
ECDH Ortak sır üretme TLS anahtar anlaşması
ECDSA Dijital imza Yazılım ve belge doğrulama
EdDSA Hızlı, modern imza SSH, uygulama protokolleri
ECIES Hibrit şifreleme Verinin alıcı anahtarıyla korunması

ECC çoğunlukla büyük veriyi doğrudan şifrelemez. ECDH veya ECIES ile ortak bir simetrik anahtar oluşturulur; asıl veri AES ya da ChaCha20 gibi hızlı bir algoritmayla şifrelenir.

Matematiği küçük sayılarla görelim

Aşağıdaki Python kodu, eğitim amacıyla küçük bir sonlu alanda iki eğri noktasını toplar. Gerçek sistemlerde sabit zamanlı ve denetlenmiş kriptografi kütüphaneleri kullanılmalıdır.

P_MOD = 97
A = 2

# Eğri noktaları üzerinde P + Q işlemini hesaplar.
def point_add(P, Q):
    if P is None:
        return Q
    if Q is None:
        return P

    x1, y1 = P
    x2, y2 = Q

    if x1 == x2 and (y1 + y2) % P_MOD == 0:
        return None  # Sonsuzdaki nokta

    if P != Q:
        slope = (y2 - y1) * pow(x2 - x1, -1, P_MOD)
    else:
        slope = (3 * x1 * x1 + A) * pow(2 * y1, -1, P_MOD)

    slope %= P_MOD
    x3 = (slope * slope - x1 - x2) % P_MOD
    y3 = (slope * (x1 - x3) - y1) % P_MOD
    return x3, y3

print(point_add((3, 6), (3, 6)))

Kod, modüler ters alma ve nokta ikiye katlama işlemlerini gösterir. Gerçek ECC uygulamalarındaki dev sayılar, yan kanal saldırıları ve nokta doğrulaması gibi ayrıntılar ise işi çok daha hassas hâle getirir.

Hızlı ama sihirli değil

ECC genellikle anahtar üretimi, bant genişliği ve enerji tüketiminde avantajlıdır; ancak her işlemde RSA’dan mutlak biçimde hızlı olduğu söylenemez. Örneğin küçük açık üs kullanan RSA imza doğrulaması oldukça hızlı olabilir. Ayrıca ECC’nin güvenliği doğru eğri seçimine, güvenli rastgeleliğe ve hatasız uygulamaya bağlıdır.

Kuantum bilgisayarlar yeterince gelişirse Shor algoritması hem RSA’yı hem ECC’yi tehdit edecektir. Bugün içinse doğru standartlarla uygulanan ECC, küçük anahtarlarla güçlü güvenlik sunan ve modern internetin görünmez kahramanlarından biri olan son derece verimli bir araçtır.

Yorumlar