← Quantum Store · Rehberler · Dersler · Sözlük · Paketler · Öğrenme yolları · English

İletişim ve kriptografi kursu: ışınlama, BB84 ve post-kuantum şifreleme · Ders 5 / 5 · 10 dk

Post-kuantum şifreleme: kuantum bilgisayara dayanıklı matematik

Kuantum bilgisayarlar hangi şifreleri kırar, hangilerini kıramaz? NIST’in 2024 standartlarını ve onların temelindeki “hatalı öğrenme” problemini küçük bir oyuncak şifreyle tanı.

Neler tehlikede?

Shor algoritması, internette anahtar paylaşmak ve dijital imza atmak için kullanılan RSA’yı ve eliptik eğri kriptografisini (ECC) kırar. Banka uygulamalarından web sitelerinin kilit simgesine kadar her yerde bu yöntemler var.

AES gibi simetrik şifreler ise çok daha dayanıklıdır. Grover araması anahtar aramayı yalnızca karesel hızlandırır; bu, anahtar uzunluğunu yarıya indirmek gibidir. Bu yüzden anahtarı iki katına çıkarmak yeter: AES-256 kuantum bilgisayarlara karşı güvenli kabul edilir.

Yeni standartlar

ABD’nin standartlar kurumu NIST, 2016’da başlattığı yarışmanın sonunda Ağustos 2024’te ilk üç post-kuantum standardını yayımladı: anahtar paylaşımı için ML-KEM (eski adıyla Kyber), imzalar için ML-DSA (Dilithium) ve SLH-DSA (SPHINCS+). Mart 2025’te yedek bir anahtar paylaşım yöntemi olarak HQC da seçildi.

Bu yöntemler sıradan bilgisayarlarda çalışır ve yazılım güncellemesiyle kullanılabilir. Tarayıcılar ve mesajlaşma uygulamaları, “şimdi topla, sonra çöz” tehdidine karşı ML-KEM’i şimdiden kullanmaya başladı.

Hatalı öğrenme (LWE)

ML-KEM ve ML-DSA, kafes problemlerine, özellikle hatalı öğrenme (learning with errors, LWE) problemine dayanır. Gizli bir s vektörü için b = A·s + e hesaplanır; burada e küçük, rastgele hatalardır. Hatalar olmasaydı s, lise matematiğiyle (denklem sistemi çözerek) bulunurdu. Küçük hatalar bu işi büyük boyutlarda hem klasik hem de bilinen kuantum algoritmaları için umutsuzca zorlaştırır.

Aşağıdaki oyuncak örnek, Regev’in 2005’teki LWE şifrelemesini küçük sayılarla kurar ve bitleri şifreleyip çözer. Gerçek sistemler yüzlerce boyut ve çok daha dikkatli seçilmiş parametreler kullanır; bu kodu gerçek şifreleme için kullanma.

import numpy as np

rng = np.random.default_rng(1)
q, n, m = 97, 8, 20
s = rng.integers(0, q, n)                  # gizli anahtar
A = rng.integers(0, q, (m, n))
e = rng.integers(-1, 2, m)                 # küçük hatalar: -1, 0 ya da 1
b = (A @ s + e) % q                        # açık anahtar: (A, b)

def encrypt(bit):
    r = rng.integers(0, 2, m)              # rastgele satırları topla
    return (r @ A) % q, (r @ b + bit * (q // 2)) % q

def decrypt(u, v):
    d = (v - u @ s) % q                    # geriye küçük hata + bit · q/2 kalır
    return int(q // 4 < d < 3 * q // 4)

print([decrypt(*encrypt(bit)) for bit in [0, 1, 1, 0]])   # [0, 1, 1, 0]

Kendin dene

Grover dört seçenekten doğru anahtarı tek adımda buldu. 2¹²⁸ anahtarlı bir şifrede bu yaklaşık 2⁶⁴ adım demektir; anahtarı 256 bite çıkarınca Grover’ın işi yine 2¹²⁸ adıma çıkar. Kâhindeki X kapılarını kaldırarak aranan anahtarı değiştir.

Tarayıcıda dene (kurulum yok)

Akılda kalsın

Kendini sına

Kuantum bilgisayarlara karşı AES gibi simetrik şifreleri korumak için ne yapmak yeterlidir?

Cevabı göster

Anahtar uzunluğunu iki katına çıkarmak. Grover yalnızca karesel hızlanma sağlar; AES-256 kuantum bilgisayarlara karşı da güvenli kabul edilir.

← BB84: dinlemeyi fark eden kuantum anahtar dağıtımı · Gürültü ve kuantum hata düzeltme kursu →

Paylaş: X · LinkedIn