B92 Protocol Alice สุ่ม string a string a 0 0 1 1 (data bits) |0> |0> |+> |+> qubits ที่ส่งให้ Bob Alice ส่ง qubits ให้ Bob Eve อาจจะแอบวัด qubit ทั้งหมด หรือบาง qubit (อาจจะมี noise ด้วยก็ได้) Bob สุ่ม string a’ 0 1 0 1 (data bits) Bob วัดแต่ละ qubit โดยสุ่มเลือก computational basis ตาม string a’ (0 ใช้ basis |0>, 1 ใช้ basis |+>) วัดได้ data 0 0/1 0/1 0 วัดได้ |0> หรือ |+> คือ 0 วัดได้ |1> หรือ |-> คือ 1 ได้ data = 1 คือ เลือก basis ผิดกรณีเดียว เมื่อ Bob วัดเสร็จ Bob จะประกาศ data ออกมาทาง classical channel (ไม่บอก a’) Alice กับ Bob จะเก็บเฉพาะคอลัมน์ที่ data = 1 (สีแดง) ซึ่งเป็นคอลัมน์ที่ Alice กับ Bob เลือก computational basis ไม่ตรงกัน (เป็นกรณีเดียวที่ทำให้ได้ 1) ดังนั้น Alice และ Bob จะใช้ a และ a’ ที่เหลือเป็น secret key เนื่องจาก a และ a’ ที่เหลือจะมีค่าตรงกันข้ามกันเสมอ Alice ใช้ a Bob ใช้ 1 – a’ (หรือ not ของ a’) โอกาสได้ 1 คือ 0.5 โอกาสได้ 1 คือ 0.5 Question: ถ้าต้องการ secret key ยาว n bits เริ่มต้นจะต้องใช้ string a ยาวกี่ bit? ตอบ 4n ลองแจกทุกกรณีแล้วนับกรณีที่ Bob วัดได้ data = 1
B92 Protocol Question: ถ้ามี Eve แอบฟังอยู่จะเกิดอะไรขึ้น? ตอบ ถ้า Eve เลือก basis ถูก ไม่มีผลอะไร แต่โอกาสที่จะเดาถูก n ครั้ง = 1/2n ซึ่งเท่ากับการเดาคำตอบแบบสุ่ม ถ้า Eve เลือก basis ผิด จะเป็นดังนี้ |0> Eve ทำให้เป็น |+> หรือ |-> Bob เลือก basis เหมือน Eve ถ้าวัดได้ |+> โยนทิ้ง ถ้าวัดได้ |-> เก็บไว้ใช้ Bob เลือก basis ต่างจาก Eve ถ้าวัดได้ |0> โยนทิ้ง ถ้าวัดได้ |1> เก็บไว้ใช้ Alice กับ Bob จะมี secret key ต่างกัน |+> Eve ทำให้เป็น |0> หรือ |1> Bob เลือก basis เหมือน Eve ถ้าวัดได้ |0> โยนทิ้ง ถ้าวัดได้ |1> เก็บไว้ใช้ Bob เลือก basis ต่างจาก Eve ถ้าวัดได้ |+> โยนทิ้ง ถ้าวัดได้ |-> เก็บไว้ใช้ Alice กับ Bob จะมี secret key ต่างกัน qubits ที่ Eve แอบอ่าน จะทำให้ Alice และ Bob ได้ secret key ไม่ตรงกัน ทำให้อ่าน message ที่ส่งมาจากอีกฝ่ายไม่รู้เรื่อง จะเห็นว่าโอกาสที่ Eve จะถูกจับได้ (Alice กับ Bob ได้ secret key ต่างกัน) = 1/2 ในกรณีที่ Eve แอบฟัง (และเลือก basis ผิด) โอกาสที่ Eve จะไม่ถูกจับได้ = 1/2n เมื่อ n เป็นจำนวนบิตที่ Eve แอบเปิดดู
EPR Protocol Pair Alice b 1 a 0/1 ? Bob b’ a’ b และ b’ คือ random classical bits b = 0 ใช้ basis |0> และ |1> b = 1 ใช้ basis |+> และ |-> Alice สร้าง EPR pairs แล้วส่งครึ่งหนึ่ง ให้ Bob Bob วัดโดยเลือก basis ตาม b’ Alice กับ Bob ทำเหมือนกัน Alice กับ Bob แลกเปลี่ยนข้อมูล b และ b’ Secret key คือ a, a’ ที่ b = b’ (เลือก basis ตรงกัน) Question: ถ้าต้องการ secret key ยาว n bits เริ่มต้นจะต้องใช้ string a ยาวกี่ bit? ถ้า Eve แอบวัดบาง qubits จะเกิดอะไรขึ้น?
EPR Protocol Question: ถ้าต้องการ secret key ยาว n bits เริ่มต้นจะต้องใช้ string a ยาวกี่ bit? 2n qubits เพราะจะมีครึ่งหนึ่งที่ Alice และ Bob เลือก basis ได้ตรงกัน Question: ถ้า Eve แอบวัดบาง qubits จะเกิดอะไรขึ้น? ถ้า Eve แอบเปิด qubits ดูก่อนที่ Alice และ Bob จะประกาศ b และ b’ Eve จะไม่รู้ว่า basis ที่ใช้สร้าง EPR pairs คืออะไร ดังนั้น Eve ต้องเดา basis ถ้า Eve เลือก basis ถูก ก็เหมือนวัดแทน Bob เมื่อรู้ค่า b และ b’ แล้วจะทำให้ Eve มี secret key บางส่วน แต่การจะเดา basis ให้ถูกทั้งหมดนั้นยากมาก ถ้า Eve เลือก basis ผิด จะทำให้ Alice และ Bob ได้ secret key ไม่ตรงกัน (ด้วย prob. ½ ต่อ 1 บิต?) ทำให้อ่าน message ที่ส่งมาจากอีกฝ่ายไม่รู้เรื่อง ถ้า Eve แอบอ่าน qubits มากๆ เข้า ก็จะถูกจับได้ในที่สุด
คำอธิบายใน textbook (ดู slide ของอาจารย์แทนก็ได้)
ปัจจุบันได้ > 100 km
Acknowledge ว่าได้รับแล้ว
|00> + |01> + |10> – |11> Alice performs Hadamard. I |00> + |01> + |10> – |11> H 2 1/ 2 1/ 2 1/ 2 −1/ 2 0 0 0 0 0 0 0 0 1/ 2 1/ 2 1/ 2 −1/ 2 1/ 2 0 0 1/ 2 1/2 1/2 1/2 −1/2 ถ้า Eve มาแอบอ่าน qubit จะมีโอกาสที่ qubit ทั้งสองจะไม่เหมือนกัน ได้ |01> หรือ |10> Bob จะรู้ว่ามี Eve แอบฟังเมื่อ qubit ที่วัดได้มีค่าไม่ตรงกัน Bob performs Hadamard. 1/ 2 1/ 2 1/ 2 −1/ 2 0 0 0 0 0 0 0 0 1/ 2 1/ 2 1/ 2 −1/ 2 1/2 1/2 1/2 −1/2 1/ 2 0 0 1/ 2