kryptografia kwantowa - kft.umcs.lublin.plkft.umcs.lublin.pl/mgozdz/qkd.pdf · algorytmy kwantowe...

102
Kryptografia kwantowa M. Góźdź Problemy kryptografii klasycznej Podstawy mechaniki kwantowej Opis matematyczny mechaniki kwantowej Podstawy informatyki kwantowej Algorytm BB84 Inne algorytmy QKD Język progra- mowania QCL Podsumowanie Kryptografia kwantowa Marek Góźdź Uniwersytet Marii Curie–Sklodowskiej w Lublinie Wydzial Matematyki, Fizyki i Informatyki 2.XII.2017

Upload: voliem

Post on 27-Feb-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Kryptografia kwantowa

Marek Góźdź

Uniwersytet Marii Curie–Skłodowskiej w LublinieWydział Matematyki, Fizyki i Informatyki

2.XII.2017

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Problemy kryptografii klasycznej

Kryptografia umożliwia szyfrowanie i deszyfrowanie danych.W procesie tym przynajmniej jeden element jest zatajony:

• metoda kodowania i dekodowania,• klucz szyfrujący, klucz deszyfrujący,• element dodatkowy (kod jednorazowy, token, danebiometryczne),

• ...

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Standardowe metody łamania szyfrów:

• czynnik ludzki (socjotechnika),• podsłuchanie hasła (przejęcie pakietów),• odtworzenie hasła (analiza kryptogramów, podsłuch CPU),• zgadnięcie hasła (metoda słownikowa, siłowa),• pozyskanie hasła (ze sprzętu lub systemu, np. coldboot),• odwrócenie operacji matematycznych.

Przykład: Bezpieczeństwo RSA oparte jest na dużej złożonościobliczeniowej klasycznych algorytmów rozkładających liczbę naczynniki pierwsze. Istnieje algorytm kwantowy Shora, który tozadanie wykonuje szybko.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Jak się bronić przed rosnącą mocą obliczeniową urządzeń?Można stosować:

• dłuższe klucze,• klucze jednorazowe,• biometrykę,• zabezpieczenia wieloetapowe,• silniejsze algorytmy.

Żaden algorytm klasyczny nie jest odporny na rozłamanie.Skomplikowane algorytmy są trudniejsze do pokonania, ale sąpowolne i wymagają mocnego sprzętu.

Algorytmy kwantowe są zabezpieczone prawami fizyki i samew sobie wydają się być bezpieczne. Luka może powstaćpodczas implementacji oraz doboru sprzętu.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Podstawy mechaniki kwantowej

Fizyka klasyczna przyzwyczaiła nas do:

• znajomości parametrów układu (położenie, pęd, masa...)• determinizmu: znając parametry układu jestem w staniewyliczyć, co się z nim stanie później,

• możliwości ciągłej obserwacji układu.

Przykład: mając przed sobą przesłonę z dwiema szczelinami,obiekt zostanie zatrzymany albo przejdzie przez jedną zeszczelin.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

W skali mikro pojawiają się problemy:

• (znajomość parametrów) cząstka mierząca jestporównywalna rozmiarami i masą z cząstką mierzoną, takwięc pomiar ma charakter zderzenia dwóch podobnychsobie obiektów,

• (determinizm) po zderzeniu nie jesteśmy w stanieprzewidzieć dokładnie losu cząstki mierzonej,

• (obserwacja) w związku z tym nieinwazyjna obserwacjaukładu nie jest możliwa (ale: non-demolitionmeasurements).

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Fizyka kwantowa pokazała, że:

• nie ma możliwości poznania wszystkich parametrówukładu z dowolną dokładnością (zasada nieoznaczonościHeisenberga),

(∆x)(∆p) ­ ~/2 (∆t)(∆E) ­ ~/2

• ewolucję układu możemy wyznaczyć jedynie z określonymprawdopodobieństwem i każda dopuszczalna opcja możezostać zrealizowana,

• nie ma możliwości sprawdzania stanu układu w trakcieprocesu, gdyż pomiar zaburzać będzie ten stan.

Fizyka kwantowa jest probabilistyczna. Mikroświat zachowujesię w sposób losowy, z pewnym rozkłademprawdopodobieństwa.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: Wymień podstawowe różnice między fizykąklasyczną a kwantową. Jakie mogą mieć one konsekwencje dlainformatyki opartej o prawa mechaniki kwantowej?

Zagadka: Dlaczego obiekty klasyczne nie zachowują siękwantowo?Odpowiedź: Z powodu statystyki. Duża liczba cząstek (liczbaAvogadro NA ∼ 1023) uśrednia swoje zachowanie.Prawdopodobieństwo, że efekt o prawdopodobieństwie pzaistnieje dla układu NA cząstek, wynosi ∼ pNA .Dodatkowo efekty kwantowe są niwelowane przez „obserwację”ze strony otoczenia. Otoczenie wykonuje ciągły pomiar.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: Wymień podstawowe różnice między fizykąklasyczną a kwantową. Jakie mogą mieć one konsekwencje dlainformatyki opartej o prawa mechaniki kwantowej?

Zagadka: Dlaczego obiekty klasyczne nie zachowują siękwantowo?

Odpowiedź: Z powodu statystyki. Duża liczba cząstek (liczbaAvogadro NA ∼ 1023) uśrednia swoje zachowanie.Prawdopodobieństwo, że efekt o prawdopodobieństwie pzaistnieje dla układu NA cząstek, wynosi ∼ pNA .Dodatkowo efekty kwantowe są niwelowane przez „obserwację”ze strony otoczenia. Otoczenie wykonuje ciągły pomiar.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: Wymień podstawowe różnice między fizykąklasyczną a kwantową. Jakie mogą mieć one konsekwencje dlainformatyki opartej o prawa mechaniki kwantowej?

Zagadka: Dlaczego obiekty klasyczne nie zachowują siękwantowo?Odpowiedź: Z powodu statystyki. Duża liczba cząstek (liczbaAvogadro NA ∼ 1023) uśrednia swoje zachowanie.Prawdopodobieństwo, że efekt o prawdopodobieństwie pzaistnieje dla układu NA cząstek, wynosi ∼ pNA .Dodatkowo efekty kwantowe są niwelowane przez „obserwację”ze strony otoczenia. Otoczenie wykonuje ciągły pomiar.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Obiekt kwantowy opisany jest przez stan. Ma on postaćfunkcji falowej ψ lub w ogólniejszej postaci macierzy gęstościρ. Znając stan układu można wyznaczyć jego parametry, np.:

• prawdopodobieństwo znalezienia cząstki w przedziale(x, x+∆x),

• średnie położenie,• średni pęd w kierunku z,• energię całkowitą etc.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Jeśli układ potencjalnie może być w kilku stanach i żadenpomiar nie określił, który stan jest realizowany, układ znajdujesię we wszystkich tych stanach jednocześnie.Opisuje go wtedy superpozycja stanów, np.:

ψ(x) =1√2[ψ1(x) + ψ2(x)] .

Przykład: mając przed sobą przesłonę z dwiema szczelinami,obiekt kwantowy przejdzie przez obie z nich, o ile żadendetektor nie będzie tego monitorował. Część, która przeszłaszczeliną 1 będzie mogła oddziaływać z częścią, która przeszłaszczeliną 2 (samoodziaływanie), prowadząc do pojawienia sięprążków interferencyjnych po drugiej stronie szczeliny.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Pomiar wykonany na superpozycji stanów powoduje wybranietego stanu, który odpowiada zmierzonej wartości i odrzuceniepozostałych, np.:

pomiar [ψ(x)] = pomiar[1√2ψ1(x) +

1√2ψ2(x)

]= ψ1(x).

Nazywane jest to „kolapsem funkcji falowej”. Widać stąd, że

• ciągły pomiar (obserwacja) ze strony otoczenia ograniczaukład do zachowań klasycznych,

• pomiar powoduje utratę informacji.

Pytanie: jaki ta właściwość może mieć wpływ na informatykękwantową?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Stan splątany może powstać wtedy, gdy układ dodatkowozwiązany jest jakąś zasadą zachowania. Stanu takiego niemożna przedstawić w postaci iloczynowej.

Przykład: Przyjmijmy, że układ składa się z pary cząstek,której całkowity spin równy jest 0. Każda cząstka może miećspin +1/2 lub −1/2. Oznacza to, że stan pary ma postać:

ψ =1√2[φ1(↑)φ2(↓) + φ1(↓)φ2(↑)] .

Takiego stanu nie da się przedstawić jako iloczynu φ1φ2, jest towięc stan splątany.

Uwaga: Jeśli przypisać ↑= 1 i ↓= 0, to ψ = [|10〉+ |01〉] /√2.

Przed pomiarem funkcje φ niosą obie wartości każda. Naskutek pomiaru np. φ1 otrzymamy z równymprawdopodobieństwem 0 lub 1.Pytanie: co to za urządzenie?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Stany splątane dwóch cząstek są często wykorzystywanew informatyce kwantowej, gdyż pomiar wykonany na jednejz nich daje (niestety niepełną) informację o stanie drugiej.W praktyce splątanie realizowane jest m.in.:

• dla elektronów poprzez całkowity spin,• dla fotonów poprzez polaryzację.Splątanie wykorzystywane jest m.in. przy teleportacji orazQKD.Pary odpowiednio splątanych cząstek nazywa się parami EPR.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Jak właściwości kwantowe działają w praktyce?

Przykład: elektron ma spin w kierunku pionowym, przed nimjest „przesłona” skośna 45◦. Klasycznie „przesłona” zatrzymaelektron. Kwantowo, spin ma składową w kierunku 45◦

i elektron przez przesłonę się przedostanie.

Pytanie: w jakim kierunku będzie spin elektronu po przejściu„przesłony”?

Pytanie: elektron o spinie w kierunku 45◦, „przesłona”w kształcie krzyża pionowo-poziomo. W jakim kierunku będziespin elektronu po przejściu „przesłony”? Co to jest zaurządzenie?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Opis matematyczny mechaniki kwantowej

Stany i ich transformacje określamy w tzw. przestrzeniHilberta. Jest to zespolona liniowa przestrzeń wektorowaposiadająca iloczyn skalarny (+ pewne inne właściwości).

Cechy iloczynu skalarnego:

• wynikiem jest liczba zespolona,• 〈ψ|φ〉∗ = 〈φ|ψ〉,• 〈ψ|aφ1 + bφ2〉 = a〈ψ|φ1〉+ b〈ψ|φ2〉,• 〈ψ|ψ〉 ­ 0.Iloczyn skalarny standardowo wyraża się jako:

〈ψ(x)|φ(x)〉 =∫ψ∗(x)φ(x)dx,

ale nie jest to jedyna możliwa postać.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Zapis bra-ket Diraca:

• stan oznaczamy przez ket: |ψ〉,• ket sprzężony zamienia się w bra: |ψ〉∗ = 〈ψ|,• bra 〈ψ| ma charakter operatora, którym można podziałaćna stan,

• działanie takiego operatora ma postać iloczynu skalarnego:〈ψ|φ〉.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Postulaty mechaniki kwantowej.[I.Białynicki-Birula, Z.Białynicka-Birula, Elektrodynamika kwantowa, PWN 1974]

Stan układu utożsamiamy ze zbiorem informacji, jakieo układzie posiadamy. Każde pytanie o układ można wyrazićjako pytanie elementarne, na które odpowiedzią jest tylko taklub nie. Mechanika kwantowa pozwala na wyznaczenieprawdopodobieństwa uzyskania odpowiedzi tak.

Mechanikę kwantową bardzo często wprowadza się poprzezmniej lub bardziej udane postulaty. Można ją też wyprowadzićna bazie matematyki.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Postulat I: Każdemu pytaniu elementarnemu P odpowiadaoperator rzutowy P ,

P † = P P 2 = P

przy czym:

• operator 1 rzutujący na całą przestrzeń Hilbertaodpowiada pytaniu, na które odpowiedź jest zawsze tak,

• operator (1− P ) odpowiada zaprzeczeniu pytania P,• jeśli tak na P1 implikuje tak na P2, to podprzestrzeń dlaP1 jest zawarta w podprzestrzeni dla P2,

• pytaniu (P1 i P2) odpowiada operator P1P2, o ile takiezłożenie jest operatorem rzutowym,

• pytaniu (P1 lub P2) odpowiada operator P1 + P2, o iletakie złożenie jest operatorem rzutowym.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Postulat II: Każdemu stanowi układu odpowiadasamosprzężony nieujemny operator gęstości ρ o śladzie równymjeden:

ρ† = ρ,

〈ψ|ρψ〉 ­ 0 dla każdego stanu ψ,Tr(ρ) = 1.

Postulat III: Liczba p = Tr(ρP ) jest prawdopodobieństwemuzyskania odpowiedzi tak na pytanie P, gdy układ znajduje sięw stanie ρ.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Postulat IV: Każdej obserwabli J odpowiada rodzinaspektralna operatorów rzutowych EJλ . Każdy operator E

reprezentuje pytanie: Czy wartość J jest nie większa niż λ?

Każdą macierz gęstości można przedstawić w postaci

ρ =∑i

piPψi ,

gdzie Pψi są operatorami rzutującymi na ψi (ortogonalnefunkcje własne operatora ρ), zaś pi są związanez prawdopodobieństwem odpowiedzi tak na pytanie Pψi dlaukładu będącego w stanie ρ.Z postulatu III wynika, że wartość średnia obserwabli J dlaukładu w stanie ρ jest dana przez:

〈J〉 = Tr(ρJ).

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bazy w przestrzeni wektorowej.

Pytanie: ile układów współrzędnych można narysować napłaszczyźnie? Czy wybór układu zmienia opisywany obiekt?

Ćwiczenie: narysuj na płaszczyźnie dwa prostokątne układywspółrzędnych o wspólnym początku, jeden o osiach 0◦ i 90◦,drugi 45◦ i 135◦. Podaj współrzędne jakiegoś wektora w obuukładach.

Pytanie: jaka jest rola rzutowania w tym procesie?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bazy w przestrzeni wektorowej.

Pytanie: ile układów współrzędnych można narysować napłaszczyźnie? Czy wybór układu zmienia opisywany obiekt?

Ćwiczenie: narysuj na płaszczyźnie dwa prostokątne układywspółrzędnych o wspólnym początku, jeden o osiach 0◦ i 90◦,drugi 45◦ i 135◦. Podaj współrzędne jakiegoś wektora w obuukładach.

Pytanie: jaka jest rola rzutowania w tym procesie?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bazy w przestrzeni wektorowej.

Pytanie: ile układów współrzędnych można narysować napłaszczyźnie? Czy wybór układu zmienia opisywany obiekt?

Ćwiczenie: narysuj na płaszczyźnie dwa prostokątne układywspółrzędnych o wspólnym początku, jeden o osiach 0◦ i 90◦,drugi 45◦ i 135◦. Podaj współrzędne jakiegoś wektora w obuukładach.

Pytanie: jaka jest rola rzutowania w tym procesie?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Przyjmijmy, że mamy dwie bazy: α1 . . . αn i β1 . . . βn. Zamianabazy następuje poprzez rzutowanie:

|βj〉 =n∑i=1

|αi〉〈αi|βj〉.

Jeśli iloczyn skalarny nie jest zerem to znaczy, że istniejeprzekrycie między wektorami bazowymi. Nie spotkałemsytuacji, w której każdy wektor z jednej bazy byłby prostopadłydo każdego wektora z drugiej.

Ćwiczenie: wykorzystując zmianę bazy wyjaśnij przejścieelektronu przez skośną „przesłonę”.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Działanie operatorów można wygodnie zdefiniować jako ichdziałanie na wektory bazowe. Korzysta się wtedy częstoz reprezentacji macierzowej operatora.Przykład: Baza składa się z |x〉 i |y〉. Operator B zdefiniowanyjest jako:

B|x〉 = α|x〉+ β|y〉,B|y〉 = γ|x〉+ δ|y〉.

Można go więc zapisać w postaci macierzy 2x2

B =

(α βγ δ

)

tak, że (α βγ δ

)(xy

)=

(αx+ βyγx+ δy

).

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Operatory w mechanice kwantowej mogą odpowiadaćwielkościom fizycznym takim jak: położenie, pęd, momentpędu, spin, energia, ale również polom, oddziaływaniom etc.Standardowo przyjmowało się, że operatory muszą byćhermitowskie, tj. J† = J∗T = J . Obecnie warunek ten zostałosłabiony.Zapostulowano, że ewolucja w czasie dana jest operatoremunitarnym, tj. U † = U−1. Operator taki jest z definicjiodwracalny, a więc zmiany układu muszą być odwracalnew czasie. Obecnie nie jest to do końca pewne.

Pytanie: co oznacza dla informatyki kwantowej ograniczeniesię do operacji odwracalnych?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Pytania?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Podstawy informatyki kwantowej[M.Le Bellac, Podstawy informatyki kwantowej, PWN 2011.]

[J.Preskill, Quantum Information and Computation (lecture notes), Caltech.]

W informatyce kwantowej nie da się zbudować dokładnegoodpowiednika algebry Boole’a. Klasycznie mamy tylko dwa bity.Kwantowo te dwa „bity” tworzą bazę dla przestrzeni stanów.Dodatkowo nie wszystkie operacje klasyczne mają swoje wersjekwantowe, zaś nie wszystkie operacje kwantowe dadzą sięprzenieść do układów klasycznych.

Informatyka kwantowa jest próbą odtworzenia informatykiklasycznej, realizowanej przez układy kwantowe. Ze względu naspecyfikę tych ostatnich, wersja kwantowa znacznie się różni odklasycznej.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bity 0 i 1 reprezentowane są przez dwa ortonormalne stany:

stany to |0〉, |1〉,unormowanie: 〈0|0〉 = 〈1|1〉 = 1,ortogonalność: 〈0|1〉 = 0.

Wygodna jest reprezentacja macierzowa w postaci

|0〉 =(10

), |1〉 =

(01

).

Stany |0〉, |1〉 tworzą bazę obliczeniową. Te same rachunkimożna prowadzić dla różnych baz. Końcowy wynik nie powinienzależeć od wyboru bazy (fizyka jest niezależna od opisumatematycznego).

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Kubit czyli bit kwantowy to obiekt o strukturze

|q〉 = c0|0〉+ c1|1〉,

przy czym |c0|2 + |c1|2 = 1.

Zespolone współczynniki c0 i c1 mają interpretację amplitudprawdopodobieństwa. Prawdopodobieństwo znalezieniaukładu w stanie |0〉 lub |1〉 to odpowiednio

p0 = c∗0c0 = |c0|2 i p1 = c∗1c1 = |c1|2,

gdzie, zgodnie z definicją,

|c0|2 + |c1|2 = p0 + p1 = 1.

Pytanie: skąd wzięły się wyrażenia c∗0c0 i c∗1c1?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Kubit:

• może mieć jednocześnie wartość 0 i 1,• operacje na kubitach mogą być wykonywane jednocześniena obu wartościach logicznych,

• możliwa jest interferencja kubitów, prowadząca dowygaszenia lub wzmocnienia któregoś ze stanów,

• kubit można obrócić o pewien kąt („dopisać do niegofazę”) eiα|q〉, co nie zmieni prawdopodobieństw, ponieważ

|eiαc0|2 = |c0|2, |eiαc1|2 = |c1|2,

• względna faza między dwoma kubitami gra rolę.

Pytanie: zastanów się nad rolą względnej fazy pomiędzydwoma kubitami.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Pytanie: jeśli bramki kwantowe mają być odwracalne(reprezentowane przez operator unitarny), jak wiele bramekunarnych można zbudować?

Często potrzebne są stany wielokubitowe. Jeśli pojedynczykubit reprezentuje stan z przestrzeni Hilberta H, to standwukubitowy będzie należał do iloczynu H2 = H⊗H.Formalnie najpoprawniejszy zapis

|a〉 ⊗ |b〉

będę skracał do

|a〉 ⊗ |b〉 = |a〉|b〉 = |ab〉.

Pamiętać tylko należy o kolejności: |ab〉 6= |ba〉.Analogicznie tworzymy i opisujemy stany n–kubitowez przestrzeni Hn = H⊗H⊗ · · · ⊗ H.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Przestrzeń H2 jest 4D (bo 2× 2 = 4), dlatego też bazaobliczeniowa w H2 składa się z czterech wektorów:

|00〉, |01〉, |10〉, |11〉.

Ogólna postać kubitu z H2 to

|ψ〉 = c00|00〉+ c01|01〉+ c10|10〉+ c11|11〉,

przy czym oczywiście |c00|2 + |c01|2 + |c10|2 + |c11|2 = 1.Jest to rozwinięcie funkcji ψ w bazie {|00〉, |01〉, |10〉, |11〉},ze współczynnikami rozwinięcia danymi przez c00, c01, c10, c11.

Każdą funkcję z danej przestrzeni można przedstawićw dowolnej bazie tej przestrzeni, dlatego właśnie operatorywystarczy zdefiniować poprzez ich działanie na stany bazowe.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Twierdzenie o nieklonowaniu

Twierdzenie Wootersa – Żurka

Nie istnieje kwantowa maszyna zdolna do tworzenia kopiinieznanego stanu kwantowego.

[W. K. Wootters, W. H. Żurek, A single quantum cannot be cloned, Nature 299 (1982) 802]

Istnienie takiej maszyny pozwalałoby na:

• skopiowaniu nieznanego ciągu kubitów• i dokonaniu pomiaru na kopii,• a więc poznaniu ciągu kubitów bez ich zniszczenia.Twierdzenie o nieklonowaniu jest podstawą do uznaniaidealnych kwantowych kanałów przesyłania danych jakobezpiecznych, czyli niemożliwych do niezauważonegopodsłuchania.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: spróbuj obalić twierdzenie Wootersa – Żurka.Maszyna kopiująca nieznany stan χ powinna działać tak:

U |χ〉|φ〉 = |χ〉|χ〉,

gdzie stan |φ〉 jest kontrolowany przeze mnie. Czy na pewno niema binarnej operacji, która by się w ten sposób zachowywała?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Dowód twierdzenia Woottersa – Żurka o nieklonowaniu

Przyjmijmy, że |χ〉 jest nieznanym stanem kwantowym.Maszyna kopiująca wykonywałaby więc operację polegającą naskopiowaniu tego stanu na inny stan. Reprezentujemy ją przeztransformację unitarną U : H2 → H2 tak, że

U |χ〉|φ〉 = |χ〉|χ〉.

Powyższe równanie można zapisać sprzęgając obie strony pohermitowsku, zgodnie z regułą (AB)† = B†A†:

〈φ|〈χ|U † = 〈χ|〈χ|.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Załóżmy, że χ1 jest nieznanym stanem, który chcemyskopiować, zaś χ2 jest dowolnym innym stanem. Mamy więc

U |χ1〉|φ〉 = |χ1〉|χ1〉〈φ|〈χ2|U † = 〈χ2|〈χ2|

Liczymy iloczyn skalarny. Z jednej strony U †U = 1, więc

〈φ|〈χ2|U †U |χ1〉|φ〉 = 〈φ|〈χ2|χ1〉|φ〉= 〈χ2|χ1〉,

z drugiej strony

〈φ|〈χ2|U †U |χ1〉|φ〉 =(〈φ|〈χ2|U †

) (U |χ1〉|φ〉

)= 〈χ2|〈χ2|χ1〉|χ1〉= (〈χ2|χ1〉)2 .

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Otrzymujemy więc:

〈χ2|χ1〉 = (〈χ2|χ1〉)2

co implikuje bądź χ1 = χ2, bądź 〈χ2|χ1〉 = 0. Oba te warunkisą w sprzeczności z założeniem o dowolności stanu χ2.

Wnioski

• Kwantowa maszyna kopiująca nie istnieje dla dowolnychstanów.

• Kwantowa maszyna kopiująca istnieje dla stanówortogonalnych, a więc stany bazowe możemy kopiować.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bramki kwantowe

Bramką kwantową na m kubitach nazywamy odwzorowanieunitarne w przestrzeni Hm = H⊗ · · · ⊗ H (m razy), działającena ustalonej liczbie kubitów.

Obwodem kwantowym na m kubitach nazywamyodwzorowanie unitarne w przestrzeni Hm, które możnaprzedstawić w postaci złożenia skończonej liczby bramekkwantowych.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Rejestrem kwantowym o długości m nazywamyuporządkowany układ m kubitów. Przestrzenią stanów jestHm = H⊗ · · · ⊗ H (m razy). Stany bazowe dane są przez{|x〉 : x ∈ {0, 1}m}. Jeśli utożsamimy je z zapisem binarnymliczb, odpowiada to liczbom {0, 1, . . . , 2m − 1}.

Bramką odwracalną (klasyczną) na m bitach nazywamypermutację nad dwuelementowym ciałem F2 podniesionym dopotęgi m: (F2)m.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

W praktyce:

• każde przekształcenie unitarne jest odwracalne(U † = U−1),

• fizyczne procesy mogą być odwracalne (unitarna ewolucjaczasowa) lub nieodwracalne (pomiar),

• pożądane jest, aby kwantowa bramka uniwersalna byłaodwracalna, gdyż, pomijając założenia modelu,...

• ...bramki nieodwracalne tracą część informacji (dysypacjaenergii, strata ciepła),

• żaden proces fizyczny nie jest dokładnie unitarny⇒ odtwarzanie zagubionej informacji,⇒ kwantowe algorytmy korekcji błędów.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bramki unarne (jednoargumentowe) ogólnie definiuje sięprzez ich działanie na oba stany |0〉 i |1〉,

U :

{|0〉 → a|0〉+ b|1〉|1〉 → c|0〉+ d|1〉

Wykorzystując reprezentację macierzową prowadzi to do

U

(10

)= a

(10

)+ b

(01

)=

(a ?b ?

)(10

)

U

(01

)= c

(10

)+ d

(01

)=

(? c? d

)(01

)⇒ U =

(a cb d

)

Ćwiczenie: stwórz bramkę negacji NOT podając jejreprezentację macierzową.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Negacja

Bramka negacji zdefiniowana jest przez macierz

NOT =

(0 11 0

)

Łatwo sprawdzić, że

NOT|0〉 =(0 11 0

)(10

)=

(01

)= |1〉

NOT|1〉 =(0 11 0

)(01

)=

(10

)= |0〉

Ćwiczenie: pokaż, że NOT jest bramką odwracalną.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Pierwiastek kwadratowy z negacji

Bramka „pierwiastek z negacji” zdefiniowana jest przez macierz

√NOT =

12

(1 + i 1− i1− i 1 + i

)

Ćwiczenie: wyprowadź działanie tej bramki na stany bazowe|0〉 i |1〉.

Ćwiczenie: pokaż, że(√NOT

)2= NOT.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bramka Hadamarda (Walsha)

Bramka Hadamarda zdefiniowana jest przez macierz

H =1√2

(1 11 −1

)

i służy do zamiany bazy |0〉, |1〉 na H|0〉, H|1〉.

Z definicji:

H|0〉 = 1√2(|0〉+ |1〉), H|1〉 = 1√

2(|0〉 − |1〉).

Ćwiczenie: sprawdź, że H|0〉 i H|1〉 są wektoramiortonormalnymi, a więc mogą tworzyć bazę.

Ćwiczenie: pokaż, że H2 = 1.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bramka zmiany fazy

Bramka zmiany fazy jest zdefiniowana przez macierz

Vα =

(1 00 eiα

)

i służy do zmiany fazy (obrotu) stanu.

Szczególny przypadek to α = π,

V =

(1 00 −1

),

co dajeV |0〉 = |0〉, V |1〉 = −|1〉.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bramki binarne przyjmują dwa argumenty, a więc sąodwzorowaniami typu H2 → H2. Często wprowadza się bitkontrolny do bramek unarnych, który je „włącza” lub„wyłącza”.

Pytanie: Bramkami binarnymi są klasyczne AND, OR, XORi NAND. Bramki te nie mają kwantowych odpowiedników.Dlaczego?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Kontrolowane NOT

Bramka CNOT zdefiniowana jest jako przekształcenieCNOT : H2 → H2 takie, że

CNOT|0〉|x〉 = |0〉|x〉,CNOT|1〉|x〉 = |1〉|x〉.

CNOT można zapisać za pomocą klasycznego XOR, ponieważ

CNOT|a〉|b〉 = |a〉|a⊕ b〉.

Ćwiczenie: podaj reprezentację macierzową bramki CNOT.

Ćwiczenie: sprawdź, czy macierz CNOT jest unitarna?

Pytanie: czy CNOT dla b = 0 nie jest przypadkiem maszynąklonującą Wootersa – Żurka?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bramka CNOT (Controlled-NOT) reprezentowana jest w bazie

|00〉, |01〉, |10〉, 11〉

przez macierz

CNOT =

1 0 0 00 1 0 00 0 0 10 0 1 0

.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

SWAP

Bramka SWAP zdefiniowana jest jako przekształcenieSWAP : H2 → H2 takie, że

SWAP|x〉|y〉 = |y〉|x〉

Ćwiczenie: podaj reprezentację macierzową bramki SWAP.

Ćwiczenie: sprawdź, czy macierz SWAP jest unitarna?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bramka SWAP reprezentowana jest w bazie

|00〉, |01〉, |10〉, 11〉

przez macierz

SWAP =

1 0 0 00 0 1 00 1 0 00 0 0 1

.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

FREDKIN, inaczej kontrolowane SWAP

Bramka Fredkina, inaczej CSWAP, zdefiniowana jest jakoprzekształcenie FREDKIN : H3 → H3 takie, że

FREDKIN|0〉|x〉|y〉 = |0〉|x〉|y〉FREDKIN|1〉|x〉|y〉 = |1〉|y〉|x〉

TOFFOLI, inaczej kontrolowane-kontrolowane NOT

Bramka Toffoliego, inaczej CCNOT, zdefiniowana jest jakoprzekształcenie TOFFOLI : H3 → H3 takie, że

TOFFOLI|1〉|1〉|x〉 = |1〉|1〉|x〉TOFFOLI|a〉|b〉|x〉 = |a〉|b〉|x〉 a, b 6= 1

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

W informatyce klasycznej bazę stanowią operacje: NOT, AND,OR. Można je wszystkie wyrazić za pomocą złożonych bramekuniwersalnych takich jak NAND lub XOR. AND i OR sąnieodwracalne i nie mają swoich bezpośrednich kwantowychodpowiedników.

Bazę dla bramek odwracalnych stanowi np. trójka: NOT,CNOT, TOFFOLI (CCNOT). Te bramki pozwalają naodtworzenie bazy klasycznej.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Istnieją też kwantowe bramki uniwersalne. Udowodniono na tentemat kilka twierdzeń, m.in:

Można zbudować dowolny obwód kwantowy używając jedyniebramek CNOT oraz bramek unarnych.

[A.Barenco et al., PRA 52 (1995) 3457, quant-ph/9503016]

Można zbudować dowolny obwód kwantowy używając jedyniebramek Toffoliego oraz Hadamarda.

[Y.Shi, Quant. Inf. and Comp. 3 (2003) 84, quant-ph/0205115]

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Podsumowując założenia informatyki kwantowej:

• kubit może być jednocześnie zerem i jedynką; wykonanieoperacji na takim kubicie to wykonanie tej operacji nazerze i jedynce w pojedynczym przebiegu; nazywane jest tokwantowym zrównolegleniem,

• stosując idealne bramki, wszystkie operacje są odwracalne;nie ma więc strat energii i nie mogą pojawić się błędy,

• algorytmy często projektuje się dla pojedynczej cząstki nawejściu lub używa się stanów splątanych.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Trudności pojawiające się przy praktycznej realizacji obwodówkwantowych:

• nie jesteśmy w stanie zbudować maszyny czystokwantowej,

• połączenie z częścią klasyczną (detektorem) musi siępojawić,

• pojawiają się błędy na skutek szumu, oddziaływaniaz otoczeniem, elementów klasycznych,

• nie jest prosto operować na pojedynczych cząstkach,w praktyce wykorzystuje się wiązki (WCP, weak coherentpulses),

• wynik działania algorytmu jest stochastyczny, więc abyotrzymać odpowiedź o dużym stopniuprawdopodobieństwa, algorytm często należy powtórzyćkilka razy.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Pytania?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

QKD czyli Quantum Key Distribution

Jak na razie nie istnieje kryptografia kwantowa.Dokładniej, to:

• powstały teoretyczne algorytmy pozwalające naszyfrowanie transmisji,

• powstały ich implementacje i są one używane,• algorytmy, łącza i urządzenia są powolne i mało wydajne,więc ich stosowanie do szyfrowania całego strumieniadanych jest mocno nieefektywne,

• z tego powodu ograniczamy ich stosowanie dobezpiecznego przesłania klucza dla algorytmuklasycznego.

Dlatego poprawniej jest mówić o QKD, a nie o kryptografii.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ciekawostka: użycie pary splątanych cząstek daje wrażenie, żedziałanie na jednej z nich wpływa natychmiast na drugą. Czypozwala to na przesłanie informacji szybciej niż c?

Odpowiedź: okazuje się, że do skutecznej komunikacjikonieczne jest dostarczenie drugiej stronie jeszcze jednej porcjiinformacji, której nie ma w strumieniu kwantowym. Dlategooprócz kanału kwantowego użyć trzeba kanału klasycznegoi wszystko pozostaje w zgodzie z zasadami fizyki.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ciekawostka: użycie pary splątanych cząstek daje wrażenie, żedziałanie na jednej z nich wpływa natychmiast na drugą. Czypozwala to na przesłanie informacji szybciej niż c?

Odpowiedź: okazuje się, że do skutecznej komunikacjikonieczne jest dostarczenie drugiej stronie jeszcze jednej porcjiinformacji, której nie ma w strumieniu kwantowym. Dlategooprócz kanału kwantowego użyć trzeba kanału klasycznegoi wszystko pozostaje w zgodzie z zasadami fizyki.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Protokół BB84.[C.H. Bennett, G. Brassard, Proc. IEEE Int. Conf. on Comp., Systems and Signal Processing 175 (1984) 8.]

Celem jest bezpieczne przekazanie klucza od Alicji do Bolka.Nośnikiem informacji w kanale kwantowym są fotony. Alicja mado wyboru dwie bazy polaryzowania fotonu:

Baza 0 1

prosta + l ↔skośna × ↗↙ ↖↘

Pytanie: bazy + i × nie są do siebie prostopadłe. Co o takiejsytuacji mówi twierdzenie o nieklonowaniu?

Pytanie: jeśli Alicja wyśle foton zakodowany w jednej bazie,a Bolek postanowi go zmierzyć w drugiej, to jaki wynik możeotrzymać?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Schemat działania protokołu:

• Alicja posiada klucz (ciąg bitów) do przesłania,• Alicja koduje bity klucza polaryzując fotony, dla każdegobitu losując bazę polaryzacji,

• Alicja przesyła kanałem kwantowym spolaryzowane fotonydo Bolka,

• Bolek mierzy polaryzację fotonów w losowo wybranejbazie,

• kanałem klasycznym Alicja i Bolek uzgadniają, dla którychfotonów ich bazy były zgodne, a dla których przeciwne; tedrugie się odrzuca,

• na końcu może nastąpić faza korekcji błędów.Pytanie: uzasadnij użycie kwantowego i klasycznego kanałukomunikacji. Czy można użyć tylko jednego rodzaju kanału?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Algorytm przesłania klucza o długości N :

• Alicja losuje dwa ciągi bitów – an (klucz) i bn (bazapolaryzacji), n ∈ N,

• Alicja koduje fotony zgodnie z informacjami z ciągów ani bn, tworząc ciąg kubitów fn,

• Alicja przesyła kanałem kwantowym fn do Bolka,

• Bolek losuje ciąg b′n, który określa, w jakich bazach będziewykonywał pomiar polaryzacji fotonów,

• po pomiarze Bolek otrzymuje ciąg a′n,• Alicja i Bolek publikują jawnie (kanałem klasycznym)swoje ciągi bn i b′n odrzucając wyniki pomiarów przyniezgodnych bazach, a zachowując wyniki przy bazachzgodnych; na średnio połowa bitów zostanie odrzucona,

• spośród zgodnych bitów część może być opublikowanaw celu korekcji błędów.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Opis matematyczny.Bazę prostą można zapisać jako:

ψ00 = |0〉,ψ01 = |1〉.

Baza skośna to baza prosta obrócona o 45◦. Operatoremrealizującym taki obrót jest bramka Hadamarda, więc

ψ10 = Hψ00 = H|0〉 =1√2(|0〉+ |1〉),

ψ11 = Hψ01 = H|1〉 =1√2(|0〉 − |1〉).

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Przykład.Alicja losuje ciąg bitów an, z którego utworzony zostanie klucz,

an = {1, 1, 1, 0, 1, 0, 0}.

Następnie losuje ciąg bn wyznaczający bazy polaryzacji:

bn = {1, 0, 1, 1, 0, 1, 0}.

Niech w ciągu bn 0 oznacza bazę prostą (pr), a 1 bazę skośną(sk).Bolek losuje swój własny ciąg b′n, zgodnie z którym będzieodkodowywał otrzymane fotony,

b′n = {1, 1, 0, 0, 1, 1, 0}.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Schematycznie można to zapisać w tabeli:

an 1 1 1 0 1 0 0bn 1 0 1 1 0 1 0baza sk pr sk sk pr sk pr

fn ↖↘ ↔ ↖↘ ↗↙ ↔ ↗↙ lb′n 1 1 0 0 1 1 0baza sk sk pr pr sk sk prf ′n ↖↘ ↗↙ la′n 1 0 0

Po porównaniu ciągów bn i b′n, co odbywa się kanałemklasycznym, część bitów zostaje uzgodniona i uznana za klucz.Niektóre bity z uzgodnionej części można ujawnić w celudodatkowej kontroli błędów.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Uwagi:

• trzy ciągi bitów klasycznych zostały wylosowane –algorytm wymaga użycia dobrego generatora liczblosowych,

• między Alicją a Bolkiem przesłano 7 fotonów; Bolekuzgodnił z Alicją 3 bity, czyli ok. 50% całkowitej liczbyprzesłanych cząstek,

• BB84 jest algorytmem nadmiarowym – w najprostszejsytuacji, aby uzgodnić N bitów klucza, należy przesłać 2Ncząstek; jeśli przeprowadza się korekcję błędów, liczbaprzesłanych cząstek może wzrosnąć do 4N lub więcej.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: niech losowane ciągi mają postać

an = {0, 0, 0, 1, 1}bn = {1, 0, 1, 0, 1}b′n = {1, 0, 1, 1, 0}

Ułóż tabelę i wyznacz, które bity odtworzy Bolek.

Ćwiczenie: metodą BB84, pracując w parach, ustalcie międzysobą 5-bitowy klucz:

• niech liczba „przesyłanych” cząstek wynosi 12;• powtórzcie to ćwiczenie przekazując klucz w drugą stronę,tj. od Bolka do Alicji;

• ile wyniosła skuteczność transmisji?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: niech losowane ciągi mają postać

an = {0, 0, 0, 1, 1}bn = {1, 0, 1, 0, 1}b′n = {1, 0, 1, 1, 0}

Ułóż tabelę i wyznacz, które bity odtworzy Bolek.

Ćwiczenie: metodą BB84, pracując w parach, ustalcie międzysobą 5-bitowy klucz:

• niech liczba „przesyłanych” cząstek wynosi 12;• powtórzcie to ćwiczenie przekazując klucz w drugą stronę,tj. od Bolka do Alicji;

• ile wyniosła skuteczność transmisji?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Bezpieczeństwo protokołu BB84.

Pytanie: w jaki sposób można zaatakować protokół BB84?Zastanówcie się nad:

• konstrukcją teoretyczną algorytmu,• implementacją programistyczną,• realizacją sprzętową.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ataki na BB84.[R.Aggarwal et al., Int. J. Comp. App. 20 (2011) 28.]

Ataki na algorytmy kwantowe mogą wykorzystywać:

• błędy teoretyczne w algorytmach,• błędy w implementacji algorytmu→ błędy programistyczne,→ konieczność użycia komputera klasycznego do opisuzjawisk kwantowych,

→ dyskretna reprezentacja ciągłych parametrów fizycznych,• niedoskonałość realizacji sprzętowej→ opóźnienia, czas reakcji urządzeń,→ trudność posługiwania się pojedynczą cząstką,→ nieprecyzyjne sterowanie,→ przeciążenia sprzętu.

Pytanie: dlaczego na liście nie ma „czynnika ludzkiego”?

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Atak Intercept and Resend (I/R). Jest to forma atakuMan-in-the-Middle.Ewa włącza się w komunikację pomiędzy Alicję i Bolka

• przechwytując ciąg fotonów fn od Alicji,• wykonując na nim pomiary w losowo wybranych bazach,• odsyłając do Bolka powielone fotony, które zmierzyła.Uwagi:

• Atak jest tym skuteczniejszy, im lepszy sprzęt jest użyty(wydajność detektorów, opóźnienia etc.).

• Ewa powinna wysyłać fotony do Bolka z taką samączęstotliwością, z jaką odbiera fotony od Alicji.

• Ingerencja Ewy obniża szansę sukcesu Bolka.• W wydajniejszej wersji Ewa podsłuchuje również kanałklasyczny, zwiększając ryzyko swojego wykrycia.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Atak Photon Number Splitting. PNS jest możliwy, gdyżw praktyce trudno jest manipulować pojedynczymi cząstkami;używa się zamiast nich WCP.

• Paczka fotonów może zostać rozdzielona przez Ewę,• Ewa może jedną część przechwycić...• ...i poczekać na ogłoszenie przez Alicję i Bolka bazpomiarowych.

• Znając bazy Ewa może wykonać pomiary na swoichfotonach bez wpływu na fotony Bolka, odtwarzając w tensposób klucz.

Od strony technicznej atak ten jest dość trudny doprzeprowadzenia, żeby nie zostać wykrytym. Poprawnieprzeprowadzony daje możliwość poznania pełnego klucza.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Atak Light Injection. Atak ten skupia się na urządzeniunadawczym Alicji.

• Ewa wysyła foton do nadajnika Alicji,• odbity foton wraca do Ewy niosąc informację o staniepolaryzatora Alicji,

• Ewa kontynuuje atak jako I/R, przesyłając odpowiedniospreparowany foton do Bolka.

W ten sposób Ewa wchodzi w posiadanie pełnej informacjio transmisji, nie wprowadzając do niej większych zmian.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Atak oślepiający detektor Bolka. Rodzaj ataku I/R.• Ewa przerywa transmisję pomiędzy Alicją i Bolkiem,• odbiera sygnał od Alicji,...• ...jednocześnie oślepiając detektor Bolka tak, że generujew nim losowy ciąg bitów sprawiając wrażenie, że detektorodbiera sygnał od Alicji;

• Ewa poznaje klucz.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Wykorzystanie splątania podczas ataku.

• Ewa może zaatakować dokonując splątania swoich fotonówz fotonami Alicji.

• Można pokazać, że w tej sytuacji BB84 pozostajebezpieczny (patrz notatki J.Preskilla), a atak jest możliwydo wykrycia.

• W wersji wykorzystującej pary EPR Ewa musi splątaćswoje cząstki z cząstkami Alicji i cząstkami Bolka. Tenprotokół również jest zabezpieczony przed takim atakiem.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: zaproponuj inną wersję BB84, wykorzystującą paryEPR. Jakie są zalety i wady takiego rozwiązania?

Algorytm wykorzystujący pary EPR.

• Alicja i Bolek mogą posiadać po jednej cząstce z paryEPR.

• Pomiar wykonany na jednej cząstce ustala stan drugiej.• Cząstki takie mogą czekać aż do momentu pomiaru.• Pary EPR mogą być tworzone i rozsyłane przez innyośrodek, np. satelitę.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: zaproponuj inną wersję BB84, wykorzystującą paryEPR. Jakie są zalety i wady takiego rozwiązania?

Algorytm wykorzystujący pary EPR.

• Alicja i Bolek mogą posiadać po jednej cząstce z paryEPR.

• Pomiar wykonany na jednej cząstce ustala stan drugiej.• Cząstki takie mogą czekać aż do momentu pomiaru.• Pary EPR mogą być tworzone i rozsyłane przez innyośrodek, np. satelitę.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Algorytm E91.[A.Ekert, Phys. Rev. Lett. 67 (1991) 661.]

• Alicja i Bolek otrzymują po jednym fotonie z pary EPR.Pary te mogą być wytwarzane przez nich lub przez kogośinnego.

• Cząstki w parach są tak skorelowane, że pomiar polaryzacjijednego daje jednoznacznie informację o polaryzacjidrugiego.

• Alicja i Bolek losowo wybierają bazy pomiaru polaryzacji.• W ok. połowie przypadków wybrali bazy tak samo – tewyniki posłużą do utworzenia klucza; pozostałe sąodrzucane.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Algorytm Time-Reversed EPR.

• Alicja i Bolek przygotowują próbki kubitów losowow jednym z czterech stanów | ↑z〉, | ↓z〉, | ↑x〉, | ↓x〉,

• zestawy kubitów są wysyłane do Celiny, która tworzyz nich pary EPR poprzez rzutowanie na bazę Bella.

• Celina ogłasza wyniki swojej operacji.• W połowie przypadków, gdy Alicja i Bob tworzyli stanwzdłuż tej samej osi, mają korelację i mogą użyć tegokubitu do dołączenia do klucza.

• Alicja i Bob mogą też zweryfikować część swoich kubitówaby sprawdzić, czy Celina nie przeprowadziła atakuMan-in-the-Middle.

• W tym schemacie nie ma konieczności tworzenia irozdzielania par EPR, kosztem dopuszczenia trzeciejstrony do procesu tworzenia klucza; Celina może prowadzićcentralną usługę pośredniczącą w generowaniu kluczy.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Algorytm SARG04.[C.Branciard et al., Phys. Rev. A 72 (2005) 032301.]

• Alicja koduje kubity w jednej z dwóch nieortogonalnych dosiebie baz (×, +) i przesyła je do Bolka.

• Bolek dokonuje pomiaru w losowej bazie.• Alicja ogłasza dwa stany, po jednym z każdej bazy: jedenstan który wysłała, drugi losowy z drugiej bazy.

• Jeśli Bolek dokonał pomiaru w bazie, w której kubit byłzakodowany, ma zgodność z oboma stanami Alicji. Jeślizmierzył w innej bazie i otrzymał stan Alicji, znowu mazgodność. W tych przypadkach kubit jest odrzucany. Jeślizmierzył w innej bazie i otrzymał wynik nie zgadzający sięz Alicją, może wyznaczyć stan kubitu.

• Algorytm ma wydajność ok. 25%, ale jest bardziej odpornyna podsłuch Ewy, gdyż bazy kodowania nie są ogłaszanepublicznie.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Język programowania QCL

Powstało kilka języków programowania, które symulujądziałanie komputera kwantowego. Jednym z nich jest QCL(Quantum Computation Language) autorstwa BernhardaOmera.Źródła wraz z dokumentacją dostępne są pod adresem:tph.tuwien.ac.at/~oemer/qcl.htmlKompilacja i instalacja (jeśli nie ma qcl założonego):

• pobrać i rozpakować źródła qcl-0.6.4.tgz• edycja pliku Makefile: zmienić wartości zmiennychQCLDIR i QCLBIN na swój katalog domowy

• make• jeśli nie ma w systemie libplotter zakomentowaćodpowiednie dwie linie w Makefile i powtórzyć kompilację

• make install

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Uruchomienie i niektóre opcje startowe

[marek ~]$ qcl --helpUSAGE: qcl [options] [file] ...QCL interpeter and quantum computer simulator

Startup Options:-h, --help display this message-b, --bits=n set number of qubits (32)-f, --dump-format=x,d,b list vectors as HEX/DEC/BIN

Liczba kubitów określa pojemność rejestru, na którym możnapracować. Jeśli program wymaga większego rejestru, należyuruchomić qcl z wyższą wartością --bits=.Opcja --dump-format określa sposób podglądu stanu rejestru.Najczęściej interesuje nas wersja binarna b.

Ćwiczenie: przejrzyj pozostałe opcje qcl.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

O czym trzeba pamiętać:

• Obiektom kwantowym nie przypisuje się wartości; opisujesię je pewnym wzorem, natomiast wartość ustalana jestpodczas pomiaru.

• Podczas fizycznej realizacji algorytmu nie ma możliwościsprawdzania stanu działającej maszyny; qcl dajemożliwość podglądu stanu komendą dump; nie jest onapomiarem (measure) i nie zmienia stanu rejestrów.

• Pomiar redukuje funkcję falową. Wynik jest otrzymywanyzgodnie z odpowiednim rozkładem prawdopodobieństwa.Po wykonaniu pomiaru algorytmu nie da się wznowić,trzeba całość przygotować i uruchomić od nowa.

• Niektóre operacje są nieodwracalne (reset, measure)i należy ich używać ostrożnie. Często zaczynają lub kończąalgorytm.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Przykładowe uruchomienie qcl:

[marek ~]$ qcl[marek ~]$ qcl -b 64[marek ~]$ qcl -b 12 -f b

Wyjście z powłoki lub podpowłoki poprzez komendę exit.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Główna dokumentacja do qcl to: B. Omer, A ProceduralFormalism for Quantum ComputingPodstawowe wyrażenia:

// ... komentarz/* ... */ komentarzint real complex typy stałychboolean string typy stałych^ + - * / mod operatory arytmetyczne== != < <= > >= operatory logicznenot and or xor operatory logiczne& konkatenacja rejestrów# długość wyrażeniasin cos tan cot funkcje trygonometrycznesinh cosh tanh coth funkcje hiperboliczneexp log log(x,n) sqrt funckje inneRe Im abs conj funkcje na liczbach zespolonychceil floor zaokrągleniamax min dowolna liczba argumentówgcd lcm dowolna liczba argumentówrandom() liczba losowa <0,1)

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Stałe deklarujemy poprzez const, np.qcl> const seed=random()

Zmienne można definiować z lub bez ich typu, np.qcl> complex z=(0,1)qcl> y=exp(z*pi)

Drukowanie na wyjściu poprzez print, zapytanie użytkownikao wartość poprzez input.

Raz zadeklarowanych funkcji i operatorów nie możnaprzedefiniować. Opcja --allow-redefines ukrywakomunikaty o błędach i po cichu ignoruje próbyprzedefiniowania elementu.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Deklaracja i odwołanie się do rejestru:

qureg a[n] deklaruje n-kubitowy rejestrquconst deklaruje stały rejestrquvoid deklaruje pusty rejestrqufunct deklaracja funkcjia odwołanie do rejestru aa[i] odwołanie do qubitu i rejestru aa[i:j] odwołanie do qubitów od i do j rejestru aa[i\j] odwołanie do qubitu od i do i+j-1 rejestru aa&b konkatenacja rejestrów a i b

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Inne polecenia:

dump wypisuje stan maszynyload save ładuje (zapisuje) stan maszynyreset zeruje wszystkie kubity (*)shell uruchomienie podpowłokiexit wyjście z (pod)powłokilist wydrukuj wgrane definicje i rejestryprint wydrukuj na ekraniemeasure q,m mierzy rejestr q i zapisuje wynik do m (*)measure q mierzy rejestr q i zapomina wynik (*)

(*) Uwaga: reset i measure są nieodwracalne!Polecenie input:

input "tekst", n wyświetl tekst i czekaj nawpisanie wartości n

input ’plik.qcl’ wgranie pliku<< plik.qcl wgranie pliku

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Przykład: implementacja operatora SWAP

extern qufunct CNot(qureg q,quconst c);

qufunct Swap(qureg a,qureg b) {int i;if #a != #b { exit "Swap: unmatching register sizes"; }for i=0 to #a-1 {CNot(a[i],b[i]); // |a,b> -> |a xor b,b>CNot(b[i],a[i]); // |a xor b,b> -> |a xor b,a>CNot(a[i],b[i]); // |a xor b,a> -> |b,a>}}

Ćwiczenie: pokaż, że SWAP może być zrealizowany przez trzybramki CNOT.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

W qcl są trzy pętle: for, until, while, np.

qcl> int iqcl> for i=10 to 2 step -2 { print i^2; }

Niektóre zdefiniowane operatory:

Matrix2x2 deklaracja macierzy unitarnejMatrix4x4 deklaracja macierzy unitarnejMatrix8x8 deklaracja macierzy unitarnejRot(real theta, qureg q) obrót pojedynczego qubituMix(qureg q) bramka HadamardaCPhase(real phi, qureg q) dopisanie exp(i phi) do |1>

Niektóre zdefiniowane funkcje:

Perm2 4,8,16,32,64 permutacjeFanout(quconst a,quvoid b) F|i,j> = |i,i xor j>Swap(qureg a,qureg b) S|i,j> = |j,i>Not(qureg a)CNot(qureg a, quconst c)

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: przejrzyj pliki dołączone do qcl i znajdź innezdefiniowane funkcje i operatory:default.qcl, examples.qcl, linalg.qcl, modarith.qcl, primes.qcl

Ćwiczenie: uruchom qcl, wgraj i uruchom algorytm Shora.Ten algorytm rozłamuje efektywnie RSA.

qcl> << shor.qclqcl> shor(15): chosen random x = 7: measured zero in 1st register. trying again ...: chosen random x = 8: measured 64 , approximation for 0.25 is 1 / 4: possible period is 4: 8 ^ 2 + 1 mod 15 = 5 , 8 ^ 2 - 1 mod 15 = 3: 15 = 5 * 3[0/32] 1 |0>

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: deklaracja rejestru, sprawdzenie jego stanu...

qcl> qureg a[1]qcl> dump: STATE: 1 / 32 qubits allocated, 31 / 32 qubits free1 |0>qcl> Not(a)[1/32] 1 |1>qcl> dump a: SPECTRUM a: <0>1 |1>qcl> Not(a)[1/32] 1 |0>qcl> dump a: SPECTRUM a: <0>1 |0>

qureg, x[2], dump, dump x, Not(x)

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: bramka Hadamarda, czyli obrót bazy...

qcl> qureg x[1]qcl> H(x)[1/32] 0.70711 |0> + 0.70711 |1>qcl> H(x)[1/32] 1 |0>qcl> Not(x)[1/32] 1 |1>qcl> H(x)[1/32] 0.70711 |0> - 0.70711 |1>qcl> H(x)[1/32] 1 |1>

H(x) (to samo co: Mix(x))

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: bramka V(alfa,x) dopisze fazę do |1>:V(alfa) |1> = exp(i alfa) |1>

qcl> qureg x[1]qcl> H(x)[1/32] 0.70711 |0> + 0.70711 |1>qcl> V(pi/2,x)[1/32] 0.70711 |0> + 0.70711i |1>

V(alfa,x) (to samo co: CPhase(alfa,x)), pi, i

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: różnica pomiędzy dump a measure. Powtórzponiższy zestaw poleceń 3-4 razy.

qcl> qureg x[1]qcl> H(x)[1/32] 0.70711 |0> + 0.70711 |1>qcl> measure x[1/32] 1 |1>qcl> measure x[1/32] 1 |1>qcl> measure x[1/32] 1 |1>

measure x

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: sprawdź działanie symulatora BB84 dostępnegopod adresemfredhenle.net/bb84/demo.php

Ćwiczenie: sprawdź działanie symulatora BB84 autorstwaRoberta Dźwierzyńskiego, dostępnego pod adresemkft.umcs.lublin.pl/mgozdzPrzeanalizuj kod a potem go uruchom.

Ćwiczenie: w kodzie bb84.qcl znajdź te fragmenty, które sąbezpośrednio związane z algorytmem. Na ich podstawie napiszswój własny kod realizujący schemat BB84.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: sprawdź działanie symulatora BB84 dostępnegopod adresemfredhenle.net/bb84/demo.php

Ćwiczenie: sprawdź działanie symulatora BB84 autorstwaRoberta Dźwierzyńskiego, dostępnego pod adresemkft.umcs.lublin.pl/mgozdzPrzeanalizuj kod a potem go uruchom.

Ćwiczenie: w kodzie bb84.qcl znajdź te fragmenty, które sąbezpośrednio związane z algorytmem. Na ich podstawie napiszswój własny kod realizujący schemat BB84.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Ćwiczenie: sprawdź działanie symulatora BB84 dostępnegopod adresemfredhenle.net/bb84/demo.php

Ćwiczenie: sprawdź działanie symulatora BB84 autorstwaRoberta Dźwierzyńskiego, dostępnego pod adresemkft.umcs.lublin.pl/mgozdzPrzeanalizuj kod a potem go uruchom.

Ćwiczenie: w kodzie bb84.qcl znajdź te fragmenty, które sąbezpośrednio związane z algorytmem. Na ich podstawie napiszswój własny kod realizujący schemat BB84.

Kryptografiakwantowa

M. Góźdź

Problemykryptografiiklasycznej

Podstawymechanikikwantowej

Opismatematycznymechanikikwantowej

Podstawyinformatykikwantowej

AlgorytmBB84

Inne algorytmyQKD

Język progra-mowaniaQCL

Podsumowanie

Podsumowanie

• podatność kryptografii klasycznej na rozłamanie• różnice między fizyką klasyczną a kwantową• cechy informatyki kwantowej

• kubit• superpozycja stanów i kwantowe zrównoleglenie• splątanie• rola pomiaru, interpretacja statystyczna• izolacja układu, środowisko• operacje odwracalne i nieodwracalne• twierdzenie o nieklonowaniu

• QKD• BB84• ataki na BB84• E91• SARG04