1. Ana sayfa
  2. Algoritmalar
  3. Bell ve iletişim
  4. BB84 protokolü · Qiskit
Bell ve iletişim · Qiskit

BB84 protokolü — fiziksel olarak güvenli anahtar dağıtımı

BB84, Charles Bennett ve Gilles Brassard'ın 1984'te tanıttığı kuantum anahtar dağıtımı (QKD) protokolüdür. Alice ve Bob, dolanıklık kullanmadan yalnızca tek kübitler ve iki farklı ölçüm bazı yardımıyla ortak, gerçekten rastgele bir gizli anahtar üretir. Sayfa boyunca iki bazın nasıl bir "kuantum dansı" oluşturduğunu, Bob'un körlemesine yaptığı baz seçiminin neden işe yaradığını ve bir Eve hattı dinlerse anahtarın neden fiziksel olarak bozulduğunu inceliyoruz.

  • Çerçeve: Qiskit
  • 1 kübit / adım
  • 2 ölçüm bazı
  • ~6 dk okuma

BB84 Protokolü Nedir? ( Derinlemesine Analiz )

BB84, Alice ve Bob’un ileride klasik şifrelemede (örneğin tek kullanımlık ped veya simetrik blok şifreler) kullanacakları ortak gizli anahtarı kuantum kanalı üzerinden üretip doğrulamayı tanımlayan bir kuantum anahtar dağıtımı (QKD) protokolüdür. Amaç mesajı doğrudan şifrelemek veya yeni bir matematiksel şifre icat etmek değildir; güvenin kaynağı “zor matematik problemi” değil, ölçümün doğayı ve bilinmeyen kuantum durumunun güvenilir biçimde kopyalanamamasıdır.

Bu iki ayak — yanlış bazda ölçümün bıraktığı iz ile tek kopya üzerinden Eve’in sıkışması — ayrıntılı olarak Neden kırılamaz? bölümünde işlenir. Dolanıklık kullanmadan yalnızca tek kübitler ve iki ölçüm bazıyla çalışır; BB84’ün veriyi değil yalnızca anahtar üretmeyi hedeflediği Anahtar fikir kutusunda netleşir.

Neden kırılamaz?

Gözlemcinin etkisi Kuantum mekaniğinde bir durumu ölçmek, o durumu kaçınılmaz olarak değiştirir. Eve hattı dinleyip kübitleri okumaya çalışırsa, yanlış bazda ölçüm yaptığı her seferinde durumu rastgele başka bir duruma yıkar. Alice ile Bob daha sonra hata oranını karşılaştırdığında bu izi istatistiksel olarak görür.

No-Cloning ilkesi Eve, Alice'in gönderdiği bilinmeyen kübiti gizlice çoğaltıp birini saklayıp diğerini Bob'a gönderemez. Bu, kuantum fiziğinin kendi içindeki bir yasaktır (Wootters–Zurek, 1982). Eve'in elinde yalnızca tek kopya vardır; ölçerse bozar, ölçmezse hiçbir şey öğrenemez.

Algoritma değil, fiziksel protokol Klasik şifrelemenin önemli kısmı “hangi matematiksel problemi pratikte çözmek zordur?” sorusuna dayanır: örneğin RSA ve klasik Diffie–Hellman’da büyük sayının çarpanlara ayrılması, ECC’de eliptik eğri üzerinde ayrık logaritma, simetrik tarafta ise AES gibi tasarımlarda geniş anahtar uzayıyla kaba kuvvetin umutsuz kalması. Bu güven, bir hesaplama gücü ve algoritma varsayımına bağlıdır; yeterince büyük ve hızlı bir kuantum bilgisayarda Shor tipi algoritmalar çarpanlara ayırma ve ayrık log probleminde üssel hızlanma sunabilir; simetrik anahtar uzunlukları da yeniden tartışılır.

Kuantum mekaniği postülatı BB84’ün güvenlik çekirdeği ise “Eve, bilinmeyen tek kübit durumunu kusursuz ölçüp saklayamaz” biçiminde kuantum kuramının temel sonuçlarına dayanır: güçlü bir kuantum bilgisayar bile tek başına ölçüm veya no-cloning postülatını matematik olarak “iptal” etmez — yapabileceği şey, modelde tanımlı fiziksel sistemi simüle etmektir; yasayı çiğnemek değildir.

Teori ile sahada “komplo” iddiası Popüler “kuantum şifre %100 kırılamaz” sözü sık sık ya abartı ya da şüpheye yol açar. Akademik çerçevede karşılığı şudur: kanıtlar çoğu zaman ideal kübit, kanallar ve kimlik doğrulamalı klasik yan kanal varsayımlarıyla yazılır. Gerçek dünyada dedektörü kandırma, zamanlama/kalibrasyon hatası veya yan kanal sızıntısı gibi uygulama düzeyi saldırılar vardır — bunlar doğayı inkâr etmek değil, donanımı ve protokolü aldatmaktır; ticari QKD bu yüzden ek kontroller ve standartlarla desteklenir. Sorun “gizli bir merkezin fiziği bozması” değil, insan yapımı kutunun güvenli kalmasıdır.

Anahtar fikir BB84 doğrudan veri göndermek için kullanılmaz. Yalnızca iki tarafın bir anahtarda hemfikir olmasını sağlar; sonraki klasik iletişim bu anahtarla şifrelenir (örn. one-time pad). Yani BB84 bir anahtar dağıtımı protokolüdür, bir şifre algoritması değil.

Bazların Dansı ( Z ve X )

BB84'ün tüm "büyüsü" iki farklı ölçüm bazını aynı anahtarda kullanmaktan gelir. Aynı bit ( 0 0 veya 1 1 ) iki farklı baza dilenirse iki farklı kuantum durumuna karşılık gelir; ve bu iki durum birbirinin karşılıklı tarafsız (mutually unbiased) tabanıdır.

Doğrusal baz · Z ekseni

Hesaplama tabanı 0 \ket{0} ve 1 \ket{1} , Pauli- Z Z operatörünün öz durumlarıdır; kuantum bilgisayarlarda çoğu zaman varsayılan okuma tabanı budur. “Klasik bit” sezgisiyle uyumludur: kübit bu bazda ölçülürse sonuç ya 0 ya 1 klasik kaydına düşer. BB84’te Alice Z bazını seçtiğinde gönderdiği durum doğrudan bu iki kutuptan biridir.

Bloch sezgisi Bloch küresinde 0 \ket{0} ve 1 \ket{1} kutba hizalanmış uçlardır; Z ölçümü “kuzey mi güney mi?” sorusudur. Bu geometrik resim şart değildir; iki bazın neden “birbirini dik” seçtiğimizi görselleştirir. Tam olasılık tablosu İki bazın özelliği alt başlığında.

Diyagonal baz · X ekseni

Hadamard bazı + = ( 0 + 1 ) / 2 \ket{+} = (\ket{0} + \ket{1})/\sqrt{2} ve = ( 0 1 ) / 2 \ket{-} = (\ket{0} - \ket{1})/\sqrt{2} , Pauli- X X ’in öz durumlarıdır (dolayısıyla “X bazı”). Tek kübitlik H H kapısı, hesaplama tabanı ile bu baz arasında standart köprüdür: örneğin H 0 = + H\ket{0} = \ket{+} , H 1 = H\ket{1} = \ket{-} . Bloch resminde ± \ket{\pm} ekvatora oturur — Z kutbu ile 90 ° 90° açı yapar; “farklı dünyada ölçüm” imgeleri buradan gelir.

BB84’te kullanım Alice X bazında bit göndermek istediğinde önce klasik 0 \ket{0} / 1 \ket{1} hazırlayıp H H ile ± \ket{\pm} ’e döndürür; Bob tarafında da X ile ölçmek için çoğu kurulumda önce H H uygulanıp sonra standart ölçüm yapılır — bu akışın protokol adımları Algoritmanın mantığı bölümünde tekrarlanır.

İki bazın özelliği

Karşılıklı tarafsızlık Bir kübit Z bazında 0 \ket{0} ya da 1 \ket{1} olarak hazırlanmışsa, X bazında ölçüldüğünde sonuç tamamen rastgeledir: 0 \ket{0} ve 1 \ket{1} olasılıkları tam % 50 \%50 . Tersi de geçerlidir. Bu özellik iki baz arasındaki bilgi sızıntısını kapatır.

Bob'un körlemesine seçimi Bob, Alice'in hangi bazı kullandığını bilmeden her kübit için kendi başına bir baz seçer. Ortalama olarak yarı yarıya doğru tahmin eder. Yanlış tahmin ettiklerini zaten daha sonra atacaklardır; doğru tahmin ettiklerinde ise sonuç ideal koşulda Alice'in gönderdiği bitle aynıdır.

Neden tam iki baz? İki karşılıklı tarafsız baz BB84'ü çalıştırmaya yeter ama tek başına asgari sayıdır. Daha fazla baz kullanan varyantlar (örn. altı durumlu protokol) Eve'in bilgi kazancını daha da düşürür. BB84'ün ikilik tasarımı, sadelik ile güvenliği dengeleyen tarihsel bir tercihtir.

Algoritmanın Mantığı ( Dört Adım )

Tek bir BB84 turu — yani tek bir kübit alışverişi — dört kavramsal adıma ayrılır. Pratikte protokol bu adımları binlerce kez tekrar eder; sonunda elde edilen bitlerin bir kısmı atılır, kalanlar anahtara dönüşür.

Adım 1Alice'in Hazırlığı

Rastgele bit ve baz Alice iki eş uzunlukta rastgele dizi üretir: kodlamak istediği klasik bitler ( 0 0 veya 1 1 ) ve her konum için seçeceği ölçüm bazı (Z veya X). Gerçek sistemlerde bu dizilerin öngörülemez olması anahtarın güvenine bağlıdır — zayıf rastgele üreteçler tüm protokolü zayıflatır. Z bazında biti doğrudan 0 \ket{0} ya da 1 \ket{1} olarak hazırlar; X bazındaysa önce uygun Z durumunu kurup Hadamard ile + \ket{+} veya \ket{-} hâline getirir.

Bazların kuantum karşılığı İki bazın ne anlama geldiği ve H H köprüsü Bazların dansı bölümünde ayrıntılıdır; burada Alice’in yaptığı şey yalnızca “hangi klasik biti, hangi bazda fiziksel olarak göndereceğini” seçmektir.

Adım 2Bob'un Ölçümü

Körlemesine baz seçimi Bob her kübit için Alice’ten bağımsız, yine rastgele bir baz seçer (Z veya X). Donanımda ölçüm çoğu zaman varsayılan olarak Z bazındadır; X ile ölçmek için kübite önce H H uygulanır — böylece “X bazında ölç” komutu, standart okuma öncesinde bir baz dönüşümüne indirgenir. Çıkan sonuç yine tek bir klasik bittir ve Bob bunu kendi tarafında kaydeder; Alice’in bu adımda hangi bazı kullandığını bilmez.

Tek yön, tek sonuç Bu adım yalnızca iletim hattının Bob ucunu tanımlar: kanal gürültüsüz ve üçüncü taraf yoksa, aynı bazda kalındığında ölçüm sonucu Alice’in kodladığı bit ile uyumlu olur; baz uyumsuzluğunun sonuçları ise bir sonraki adımda elenecek “ham” veridir, henüz ortak sır sayılmaz.

Adım 3Baz Eleme

Açık kanaldan baz karşılaştırması Tüm kübitler işlendikten sonra Alice ve Bob klasik bir kanaldan (herkesin duyabileceği) yalnızca kullandıkları bazları, konum konum paylaşır; ölçüm sonuçlarını bu aşamada herkese açmazlar. Aynı slotta hem Alice hem Bob aynı bazı seçtiyse o kübitin klasik biti ham anahtara aday kalır; farklı baz seçilen tüm konumlar atılır. Bağımsız ve uniform seçimde ortalama olarak kübitlerin yaklaşık yarısı bu süzgeçten düşer.

Neden önce baz? Bazları erken açıklamak Bob’un hangi ölçümlerinin “doğru tabakada” olduğunu ifşa eder; yine de protokol tasarımı gereği ölçüm değerleri bu kanaldan taşınmaz — sadece “Z mi X miydi?” bilgisi. Asıl bit dizisi hâlâ gizli kalır; aşağıdaki numaralı reçete aynı süzme işlemini özetler.

Adım 4Hata Kontrolü

Eve hattı dinledi mi? Süzmeden sonra elde kalan bitlerden küçük bir kesit (örn. % 10 \%10 ) iki tarafça açıkça karşılaştırılır; amaç kanaldaki hata oranını tahmin etmektir. Gürültü ve kayıp düşükse bu örneklemde çelişki neredeyse hiç çıkmaz ve kalan bitler ortak gizli anahtar adayıdır. Taban çizgisi hatasız bir dünya değildir: tek tek fotonda bile kayıp olabilir; asıl soru, gözlenen hata oranının “doğal gürültü” ile uyumlu olup olmadığıdır.

Eşik ve yeniden başlatma Örneklemdeki hata oranı tipik olarak % 11 \%11 civarı bir eşiği aşarsa — ki bu, pasif dinleme veya aktif müdahale belirtisi olabilir — tüm oturum iptal edilir ve anahtar üretimi baştan planlanır. Eşiğin altında kalınan yolda ise ham anahtarın bir kısmı istatistik için “yakılır”; kalan uzunluk ve gizlilik güçlendirmesi (privacy amplification) pratikte reçetenin son adımlarında işlenir.

  1. Alice N N adet rastgele bit ve N N adet rastgele baz üretir. Her biti uygun bazda kuantum durumu olarak hazırlar (gerekirse X, gerekirse H).

  2. Alice tüm kübitleri tek tek Bob'a fiziksel olarak gönderir (foton, fiber optik, serbest uzay, vs.).

  3. Bob her gelen kübit için bağımsız rastgele baz seçer; X seçerse önce H uygular, ardından her durumda standart ölçüm yapar.

  4. Klasik kanaldan yalnızca bazları açıklarlar; eşleşen kübitlerin bitleri "ham anahtar"a alınır, farklı bazlılar atılır.

  5. Ham anahtardan küçük bir örneklem hata oranı için kullanılır; kalanlar gizlilik artırma (privacy amplification) adımından sonra nihai anahtar olur.

Verim sezgisi N N kübit gönderirseniz ortalamada N / 2 N/2 'si baz uyumsuzluğu yüzünden atılır; geri kalanın bir kısmı da hata kontrolüne harcanır. Tipik bir BB84 oturumunda etkin anahtar uzunluğu başlangıç kübit sayısının % 40 \%40 'ı civarındadır. Yine de bu, klasik dünyada hiçbir şekilde elde edilemeyecek bir fiziksel garanti ile gelir.

Qiskit ile Uygulama

Aşağıdaki örnek tek bir BB84 adımını parametrik bir fonksiyon olarak kurar: Alice'in biti, Alice'in bazı ve Bob'un bazı. Tek kübitlik bir devrede Alice hazırlığı, qc.barrier() ayracıyla "Alice → Bob taşıma" anı ve Bob'un ölçümü tek tek görülebilir. Senaryoyu alice_bit, alice_basis, bob_basis değişkenleriyle değiştirip farklı kombinasyonlarda deneyebilirsiniz.

bb84_step.py Python
import numpy as np
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator


def bb84_step(alice_bit, alice_basis, bob_basis):
    qc = QuantumCircuit(1, 1)

    # 1. Alice kübiti hazırlar
    if alice_bit == 1:
        qc.x(0)
    if alice_basis == "X":  # Diyagonal baz seçildiyse Hadamard uygula
        qc.h(0)

    qc.barrier()  # Kübit Bob'a iletilir

    # 2. Bob ölçüm yapar
    if bob_basis == "X":  # Bob diyagonal baz seçtiyse geri döndürür
        qc.h(0)

    qc.measure(0, 0)
    return qc


# Senaryo: Alice "1" bitini X bazında gönderiyor; Bob da X bazında ölçüyor.
alice_bit = 1
alice_basis = "X"
bob_basis = "X"

qc = bb84_step(alice_bit, alice_basis, bob_basis)

# Çalıştırma
simulator = AerSimulator()
job = simulator.run(qc, shots=1)
bob_result = list(job.result().get_counts().keys())[0]

print(f"Alice'in biti: {alice_bit}, bazı: {alice_basis}")
print(f"Bob'un bazı: {bob_basis}, ölçüm sonucu: {bob_result}")

if alice_basis == bob_basis:
    print("Bazlar eşleşti — bu bit anahtarın bir parçası olabilir.")
qiskit Aer simülatörü · 1 shot UTF-8 · LF

Kod analizi · satır satır

Importlar numpy burada doğrudan kullanılmasa da tipik olarak rastgele bit ve baz dizilerini üretmek için (np.random.randint) gerekir; tek adımlık bu örnekte yer ayırma niyetiyle bırakıldı.

bb84_step(alice_bit, alice_basis, bob_basis) BB84 mantığını üç parametreye sıkıştırır. Tek kübitlik bir devrede Alice'in hazırlık adımı, taşıma ayracı ve Bob'un ölçüm adımı sırayla işlenir. Tüm kombinasyonları (4 bit × 2 baz × 2 baz =) 16 senaryoyu test etmek için bu fonksiyonu döngüye alabilirsiniz.

QuantumCircuit(1, 1) Tek kübit + tek klasik bit. BB84 dolanıklık kullanmaz; her tur tek kübitle çalışır, her atışta bir bit anahtara aday olur. Bu sadelik BB84'ü dolanıklık temelli QKD protokollerinden (örn. E91) ayıran en büyük avantajdır — donanım çok daha ucuza kurulur.

if alice_bit == 1: qc.x(0) Eğer Alice "1" göndermek istiyorsa 0 \ket{0} 'dan 1 \ket{1} 'e geçmek için X kapısı uygular. "0" göndermek istiyorsa hiçbir şey yapmaz; varsayılan başlangıç 0 \ket{0} 'dır.

if alice_basis == "X": qc.h(0) Şimdi baz dönüşümü. Z bazı seçildiyse hazırlık biter; X bazı seçildiyse Hadamard uygulanır ve durum 0 / 1 \ket{0}/\ket{1} yerine + / \ket{+}/\ket{-} olur. Aynı bit, farklı bazda farklı kuantum durumuna karşılık gelir — BB84'ün tam çekirdeği.

qc.barrier() "Alice kübiti gönderdi, Bob aldı" anının görsel ayracı. Aynı zamanda transpiler'ın hazırlık ile ölçüm kapılarını birbirine karıştırmasını (Hadamard'ları sadeleştirip iptal etmesini) engeller. BB84'te bu önemlidir; kapı sadeleştirme bilginin nasıl kodlandığını bozar.

if bob_basis == "X": qc.h(0) Bob'un ölçümü her zaman standart Z bazındadır (qc.measure öyle çalışır). X bazında ölçüm yapmak istiyorsa, kübiti Hadamard ile geri çevirip standart ölçüme sokar. Bu küçük simetri Hadamard'ın kendi tersine eşit olmasından kaynaklanır: H 2 = I H^{2} = I .

qc.measure(0, 0) Tek kübit klasik bite yazılır. Eğer iki taraf aynı bazı seçtiyse Bob'un sonucu Alice'in bitiyle birebir aynıdır (gürültüsüz simülatörde % 100 \%100 ). Farklı baz seçildiyse sonuç tamamen rastgeledir; bu yüzden zaten daha sonra bu adım çöpe atılacaktır.

shots=1 BB84'te her atış bir mesaj kübiti demektir; istatistik için tekrar etmek mantıksızdır, çünkü her tur farklı bir bit/baz seçimiyle çalışır. Tüm protokolü simüle etmek için bu fonksiyonu bir döngüde N = 1000 N=1000 kez çağırıp listeleri biriktirmek yeterlidir.

if alice_basis == bob_basis Baz eleme adımının tek satırlık özeti. Ham anahtara yalnızca bazların eşleştiği bitler katılır. Pratikte Alice ve Bob tüm bazları açıkladıktan sonra bu filtreyi uygular; tek atışta yapılması simülasyon kolaylığıdır.

Hızlı deney bob_basis'i "Z" yapıp aynı senaryoyu birkaç kez çalıştırın. Aynı baz olmadığı için sonuç bazen "0", bazen "1" gelir; ortalama yarı yarıyadır. Bu, "yanlış bazda ölçüm % 50 \%50 rastgele sonuç" tezinin doğrudan görselidir.

Çalıştırma için qiskit ve qiskit-aer yeterlidir; ayrıntılar ana sayfadaki IDE ve çalıştırma bölümünde. Gerçek QKD donanımında BB84 uygulamak için fotonik bir hat (foton kaynağı + fiber + tek-foton dedektörü) gerekir; akademik simülasyonlar QiskitRuntimeService().backend("ibm_brisbane") gibi süperiletken cihazlarda yapılabilir, ama gerçek "kuantum kanal" deneyimi optik laboratuvardadır.

Aynı Devre (İki Temsil)

Örnek senaryo kodda alice_bit = 1, alice_basis = "X", bob_basis = "X"; Qiskit metin çıktısı bu üç seçimle üretilen qc'yi gösterir. Bit veya baz değişince sol ve sağ uçtaki X / H sütunları farklılaşır; satırı barrier() ile taşıma anını ayırır (tek kübitte etiket q: olarak görünebilir). Sağdaki SVG aynı akışı kolon kolon okunur kılar.

terminal

print(qc) çıktısı · 1, X, X

     ┌───┐┌───┐ ░ ┌───┐┌─┐
  q: ┤ X ├┤ H ├─░─┤ H ├┤M├
     └───┘└───┘ ░ └───┘└╥┘
c: 1/═══════════════════╩═
                        0 

Moment 0 · Alice (X · H) Moment 1 · bariyer · kanal Moment 2 · Bob (H) · ölçüm

svg

Premium devre çizimi

q0 c Alice · bit 1 X bazı · diyagonal eksen X H Alice → Bob tek kübit · fiziksel kanal Bob X bazı · ölçüm H Ölçüm M baz eşleşti · X ≡ X anahtar adayı kabul · sift biti örnek tur · ham anahtara katılır baz kodu Z |0⟩,|1⟩ X |+⟩,|-⟩

renk · kapı / taşıma kesik hat · klasik alt şerit · Z/X baz kodu · sift özeti

Aşağıdaki blok, üstteki terminal ve SVG ile aynı tek kübitlik turun kapı sırasını doğrulanmış JSON ile çizer; histogram örnek bir 1024 shot sayımıdır (tarayıcıda simülatör çalışmaz).

canlı devre

circuit-viz · X → H → H → ölçüm

Örnek: alice_bit=1, alice_basis=X, bob_basis=X — bazlar uyuşunca sift adayı. Moment düğmeleri JSON kolonlarını vurgular.

histogram

Örnek sayım · tek klasik bit

Bazlar uyuşmadığında dağılım farklılaşır; burada eşleşen X turu için örnek gösterilir.

Bu canlı devre. Tek kübitlik BB84 turu: Alice hazırlığı (X, H — bit 1 ve X bazı), Bob ölçümü (H, ölçüm) — üstteki örnek senaryo 1, X, X.

Neden sadeleştirildi? Tam protokol çok turlu rastgele baz/bit seçimi, klasik sift ve Eve adımlarını içerir; üst panelde ayrıca barrier() (), taşıma bandı, Z/X baz kodu şeridi ve sift özeti vardır. Canlı devre yalnızca bu sayfadaki tek turun kapı sırasını gösterir.

Üst panelle fark. Premium SVG kanal okunu, diyagonal baz simgelerini ve “baz eşleşti” özet kutusunu içerir; canlı panel ortak circuit-viz motorudur — Eve, çok tur ve klasik post-processing burada yoktur.

Ne öğreniyoruz? BB84 tek kübitlik turda hazırlık, kanal ve ölçümü üst üste gösterir; terminal çıktısı bu sırayı satır satır verir. Aynı iki panel düzeni: Bell durumu · iki temsil, Süper yoğun kodlama · iki temsil, Bell testi · iki temsil.

Devre, Eve ve Doğrulama

Bu şema, 5 · Aynı Devre (İki Temsil) bölümündeki akışı korur; "Alice 1 1 bitini X bazında gönderiyor; Bob da X bazında ölçüyor" senaryosunu uçtan uca temsil eder. Sol uçta Alice'in hazırlığı (X kapısı + Hadamard); ortada kesikli mor çizgi Alice → Bob fiziksel taşımayı simgeler; sağ uçta Bob'un Hadamard ile baz çevirisi ve standart ölçümü görülür.

BB84 · "1" bit · Alice X · Bob X İstemci tarafı SVG · 1 kübit · Z/X baz dansı · barrier ile taşıma sahnesi
q0 c Alice · bit 1 X bazı · diyagonal eksen X H Alice → Bob tek kübit · fiziksel kanal Bob X bazı · ölçüm H Ölçüm M baz eşleşti · X ≡ X anahtar adayı kabul · sift biti örnek tur · ham anahtara katılır baz kodu Z |0⟩,|1⟩ X |+⟩,|-⟩
Davetsiz misafir senaryosu · Eve Eve, Alice ile Bob arasındaki kanala girip her kübiti yakalar, kendi seçtiği bir bazda ölçer ve sonucu yeni bir kübit olarak Bob'a yollarsa (intercept-resend saldırısı), her kübit için % 50 \%50 olasılıkla yanlış baz seçer. Yanlış bazda ölçüm durumu rastgeleleştirir; Eve ile Bob'un bazları aynı bile olsa Bob'un sonucu Alice'in bitiyle % 25 \%25 olasılıkla uyuşmaz. Alice ve Bob hata oranı kontrolünde bu yüksek değeri görür ve anahtarı çöpe atar — Eve görünmüş olur.
Doğrulama

Aynı baz senaryosunda (alice_basis == bob_basis) Alice'in 1 biti, Bob'un ölçümünde de 1 olarak çıkar. Z–Z eşleşmesi de aynı şekilde iletim yapar. Farklı baz seçilirse sonuç % 50 \%50 rastgeledir. Hatasız bir kanalda eşleşen tüm bitler birebir aynı; hata oranı 0 0 .

  • aynı baz hata ≈ %0
  • farklı baz rastgele · atılır
  • Eve · IR hata ≈ %25

Şemayı adım adım oku

  1. Solda Alice, bit=1 ise X uygular; bazı X ise üzerine bir H ekler.

  2. Mor kesikli çizgi, tek kübitin Alice’ten Bob’a fiziksel kanaldan iletilmesini temsil eder.

  3. Bob, kendi seçtiği baz X ise ölçümden önce H ile baz çevirisi yapar.

  4. Ölçüm sonucu “ham anahtar”a adaydır; bazlar uyuşmuyorsa bu bit daha sonra elenir.

QKD ağları · sahada

BB84 yalnızca akademik bir fikir değildir; Cenevre, Tokyo ve Viyana gibi şehirlerde bankalar arası iletişim için fiber optik üzerinden aktif olarak çalışır. Çin'in Pekin–Şangay backbone hattı yaklaşık 2000 km'ye ulaşır; uzayda Micius uydusu ise BB84'ü interkontinental mesafelerde test etmiştir.

Post-quantum kriptografi farkı

Post-quantum şifreleme algoritmaları (CRYSTALS-Kyber, Falcon, vs.) matematiksel zorluğa dayanır; yeni bir matematik saldırısı ortaya çıkarsa kırılabilir. BB84 ise bir fiziksel protokoldür; gelecekteki en güçlü kuantum bilgisayar bile fizik yasalarını çiğneyemeyeceği için bu anahtar kırılamaz.

Mesafe ve foton kaybı

Tek-foton dedektörlerinin verimliliği ve fiber optikteki eksponansiyel kayıp BB84'ün pratik mesafesini sınırlar (yer üstünde tipik olarak ~100 km bir baz istasyonu için). Daha uzun mesafeler için "güvenilir röleler" ya da kuantum tekrarlayıcılar (henüz olgunlaşmakta) kullanılır.

Kimlik doğrulaması · klasik köprü

BB84 ortaya ortak gizli anahtar malzemesi çıkarır; Alice ile Bob’un gerçekten birbirleriyle konuştuğunu tek başına kanıtlamaz. Baz karşılaştırması ve hata kontrolü için kullanılan klasik kanalın bütünlüğü gerekir (MAC, kısa önceden paylaşılmış anahtar veya güvenilir PKI). Yani QKD, klasik kriptografiyi silmez; güven zincirinde yeni bir fiziksel katman ekler.