Rất có thể nếu bạn đã bắt kịp tốc độ với các công nghệ điện toán mới nhất, thì có lẽ bạn đã nghe nói về khái niệm điện toán lượng tử. Mặc dù thuật ngữ có thể làm cho lĩnh vực này nghe có vẻ hơi đáng sợ và khó hiểu, nhưng các nguyên tắc của điện toán lượng tử và các ứng dụng của nó có thể được hiểu ở mức độ trực quan với đủ tiếp xúc và kinh nghiệm.
Điện toán lượng tử sử dụng các định luật vật lý như cơ học lượng tử để thực hiện các phép tính nhanh hơn đáng kể so với máy tính cổ điển. Điều này mở ra cơ hội cho hàng nghìn ứng dụng tiềm năng như mô hình tài chính, tối ưu hóa, truyền thông lượng tử và mật mã lượng tử (mà tôi sẽ tìm hiểu sâu hơn ở phần sau của bài viết). Khi công nghệ tiếp tục phát triển, số lượng ngày càng tăng của các hệ thống máy tính cuối cùng sẽ áp dụng các chiến lược điện toán lượng tử để kích hoạt nhiều ứng dụng và giải quyết các vấn đề phổ biến bằng cách áp dụng các nguyên tắc vật lý cơ bản.
Trong bài viết này, tôi sẽ cung cấp một bản tóm tắt ngắn gọn về các mạch lượng tử và các nguyên tắc của cơ học lượng tử giúp cho tất cả hoạt động.
Trước khi bắt đầu tìm hiểu sâu về mạch lượng tử, chúng ta hãy khám phá xem mạch lượng tử bao gồm những gì — cổng lượng tử và qubit.
Các máy tính cổ điển như máy tính mà bạn có thể đang sử dụng hiện nay dựa vào các bit để vận chuyển thông tin. Một bit đại diện cho một trạng thái chỉ có thể là một trong hai giá trị 0 và 1. Các bit có thể được ghép lại với nhau để tạo thành hệ nhị phân có thể được sử dụng để biểu thị bất kỳ phần thông tin nào, từ số đến văn bản. Chẳng hạn, số 12 được biểu thị bằng 1100 ở dạng nhị phân. Điều này là do hệ nhị phân có cơ số là 2, nghĩa là các vị trí giá trị có thể có của nó có thể là 2⁰, 2¹, 2³, 2⁴, v.v. Áp dụng khái niệm này, việc chuyển đổi 12 thành nhị phân sẽ như sau…
8 4 2 1 1 1 0 0 -> 8 + 4 + 0 + 0 -> 12
Chúng ta biết rằng 8 và 4 cộng lại thành 12, vì vậy 8 và 4 được gán giá trị là 1 trong hệ nhị phân. Mặt khác, 2 và 1 không liên quan đến việc tạo ra đầu ra là 12, vì vậy cả hai đều có giá trị là 0. Điều này mang lại cho chúng ta giá trị nhị phân cuối cùng là 1100 cho số 12.
Chúng ta có thể áp dụng nguyên lý bit vào điện toán lượng tử để hiểu về qubit. Qubit giống như bit được sử dụng để biểu thị trạng thái của máy tính, tuy nhiên, không giống như bit, chúng có thể tồn tại ở dạng chồng chất của các trạng thái, nghĩa là chúng có thể biểu thị đồng thời cả 0 và 1. Nhưng sao có thể vậy chứ? Làm thế nào một đơn vị có thể đại diện cho cả hai giá trị có thể cùng một lúc?
Để hiểu thêm về sự chồng chất, hãy sử dụng phép loại suy. Hãy tưởng tượng tung một đồng xu lên không trung. Trong khi đồng xu ở trong không khí, nó ở trạng thái chồng chất trong đó đồng xu đại diện cho các giá trị của mặt ngửa và mặt sấp đồng thời. Chúng ta chỉ có thể biết chắc chắn giá trị của đồng xu khi nó rơi xuống đất và trạng thái chồng chất của nó sụp đổ dẫn đến hiện tượng ngửa hoặc sấp. Tương tự, trong cơ học lượng tử, một qubit (còn gọi là bit lượng tử) có thể tồn tại ở trạng thái mà nó đại diện cho cả hai giá trị 0 và 1. Chúng ta chỉ có thể biết trạng thái xác định của qubit sau khi nó thu gọn về 0 hoặc 1.
Cổng lượng tử rất giống với cổng logic trong một mạch. Cổng logic, áp dụng cho cả máy tính cổ điển và lượng tử, là một cấu trúc nhận đầu vào nhị phân (tức là 0 và 1, điện tử spin-up và điện tử spin-down, mèo và chó, v.v.) và cho kết quả là một giá trị (tức là 1, electron spin-up và một con chó) bằng cách sử dụng một hệ thống được gọi là hàm boolean. Các cổng này sau đó có thể được sử dụng cùng nhau để tạo ra các mạch mạnh mẽ. Sự khác biệt giữa cổng cổ điển và cổng lượng tử xuất hiện khi bạn giới thiệu qubit. Điều khác biệt giữa cổng lượng tử và cổng cổ điển là sự chồng chất, khả năng đảo ngược và sự vướng víu. Không giống như các cổng cổ điển không có cơ học lượng tử tùy ý sử dụng, các cổng lượng tử có thể lưu giữ thông tin về những giá trị nào đi qua chúng khiến chúng vốn dĩ có thể đảo ngược. Mọi thứ đi qua một cổng lượng tử đều có thể bị đảo ngược, tuy nhiên, nguyên tắc tương tự không được duy trì đối với các cổng cổ điển. Nói tóm lại, một cổng lượng tử được sử dụng để điều khiển các đầu vào thành các đầu ra mong muốn cụ thể.
Một khái niệm quan trọng cuối cùng cần tìm hiểu là sự vướng víu. Rối lượng tử xảy ra khi trạng thái của hai hay nhiều hạt trở nên liên kết và phụ thuộc lẫn nhau. Điều này cho phép các nhà nghiên cứu xác định trạng thái của một hạt bằng cách đo trạng thái của hạt kia, bất kể khoảng cách ngăn cách chúng. Chẳng hạn, nếu cả hai hạt spin-up và spin-down đều có mặt, bạn có thể suy ra chính xác cấu hình của hạt spin-down bằng cách tham chiếu trạng thái của hạt spin-up. Sự vướng víu trở nên quan trọng khi chúng ta đang tìm hiểu sâu hơn về các thuật toán lượng tử, đặc biệt là những thuật toán dựa trên các kênh liên lạc an toàn.
Trước khi tìm hiểu sâu hơn về biểu diễn trạng thái bằng vectơ, điều quan trọng là phải hiểu một số kiến thức sơ bộ về vectơ.
Trong vật lý lượng tử, vectơ trạng thái được sử dụng để mô tả trạng thái hiện tại của hệ thống. Một vectơ trạng thái lưu trữ một tập hợp các số trong một vectơ trong đó mỗi phần tử trong vectơ chứa xác suất qubit ở một trạng thái cụ thể.
Một ví dụ đơn giản như sau…
Hình ảnh trên minh họa một qubit |0⟩ chắc chắn xuất ra 0 khi nó được đo. Tương tự như vậy, cũng phải có một qubit xuất ra 1 được biểu thị bởi |1⟩. Chúng tôi biết hai trạng thái này loại trừ lẫn nhau vì không có sự hội tụ giữa các trạng thái (qubit xuất ra 0 hoặc 1). Điều này được biểu diễn ở trên bằng các vectơ trực giao. Chúng ta có thể áp dụng khái niệm tương tự cho một ví dụ phức tạp hơn một chút bên dưới…
Hình ảnh trên (ký hiệu là |q0⟩) mô tả một trạng thái nhiều sắc thái hơn là chỉ |0⟩ và |1⟩. Qubit ở trên có thể được viết lại như sau:
Trạng thái này thể hiện một vectơ trạng thái cho qubit q0 trong đó đầu ra không hoàn toàn là |0⟩ hoặc |1⟩ mà đầu ra là sự kết hợp tuyến tính của cả hai còn được gọi là chồng chất.
Để hình dung các hiện tượng trừu tượng của sự chồng chất, các nhà vật lý lượng tử sử dụng một công cụ toán học gọi là Bloch Sphere để hình dung các trạng thái có thể có của một qubit. Bất kỳ điểm nào trên Bloch Sphere đều có thể là trạng thái khả thi đối với một qubit. Hình ảnh dưới đây trực quan hóa một qubit ở trạng thái |+⟩ trong đó theta = pi/2 và phi = 0
Để chứng minh các qubit và cổng lượng tử đang hoạt động, chúng ta có thể xem sơ đồ mạch trong đó đầu vào được hiển thị ở bên trái và đầu ra ở bên phải. Các hoạt động ở giữa là các cổng được biểu thị bằng các ký hiệu tối nghĩa. Đây là một mạch điển hình cho một máy tính dựa trên bit tiêu chuẩn. Các tín hiệu đầu vào là A, B và C đều được truyền vào mạch và được điều khiển bởi các cổng ở giữa để tạo ra tín hiệu kết quả Q. Đây là sơ đồ mạch cổ điển trực quan hóa một mạch cổ điển.
Sơ đồ mạch lượng tử nâng cao quy ước mạch này hơn một chút vì chúng cũng phải tính đến khả năng đảo ngược vốn có của chúng. Do đó, chúng trông hơi khác một chút và tuân theo một số quy tắc khác với các mạch cổ điển. Đây là hình dạng của một mạch lượng tử…
Hãy chia nhỏ mạch này thành các thành phần của nó:
Sự khác biệt chính giữa mạch lượng tử và mạch cổ điển là mạch lượng tử hiển thị các qubit được hiển thị theo các đường thẳng nằm ngang trong khi các cổng lượng tử có cùng số lượng qubit đầu vào và đầu ra trong khi các mạch cổ điển có các đường bit có thể đi theo nhiều hướng khác nhau.
Cổng Pauli X cung cấp phần giới thiệu đơn giản về hoạt động bên trong của cổng lượng tử. Mục đích của nó rất đơn giản: phủ định. Rất giống với cổng NOT cổ điển, cổng Pauli X chuyển trạng thái của qubit sang giá trị ngược lại của nó, được nêu trong bảng chân lý bên dưới. Áp dụng vào thế giới vật chất, chức năng của cổng X biến trạng thái spin-up của một electron thành trạng thái spin-down và ngược lại.
|0> → |1> HOẶC |1> → |0>
Tương tự như cổng X, cổng Y Pauli là một hoạt động qubit duy nhất chuyển đổi:
|0> → -i|1> AND |1> → i|0>
Điều này có thể được hiển thị bằng cách xoay qubit quanh trục Y trên quả cầu Bloch.
Cổng Z Pauli cũng là một hoạt động qubit duy nhất ánh xạ |1> → -|1> và không thay đổi |0>. Hoạt động của cổng Z có thể được hình dung bằng một phép quay quanh trục z của quả cầu Bloch theo số pi radian.
Biểu diễn hình cầu Bloch của các cổng Pauli X, Y và Z
Cổng Hadamard là cổng phổ biến nhất được sử dụng trong điện toán lượng tử. Đây là một hoạt động qubit duy nhất dẫn đến ánh xạ sau:
∣0> → (|0> + |1>)/√2 VÀ ∣1> → ( |0> — |1>)/√2
Điều này tạo ra sự chồng chất bằng nhau của hai trạng thái qubit cơ bản, nghĩa là trạng thái đó sẽ có xác suất bằng nhau là 1 hoặc 0.
Cổng được kiểm soát là hoạt động trên 2 qubit trong đó nhiều qubit có thể đóng vai trò kiểm soát đối với một số hoạt động trên qubit. Ví dụ: cổng CX, CY và CZ.
Cổng X được kiểm soát
Cổng x được kiểm soát còn được gọi là cổng CX hoạt động trên 2 qubit và thực hiện các hoạt động KHÔNG trên qubit thứ hai khi trạng thái qubit đầu tiên là |1>.
Có rất nhiều cổng khác nằm ngoài phạm vi của những gì bài viết này có thể đề cập. Nếu bạn muốn tìm hiểu sâu hơn về các cổng lượng tử khác và chức năng của chúng, tôi khuyên bạn nên xem bản tóm tắt các hoạt động và cổng lượng tử này của Qiskit.
Hãy tiếp tục nâng cao kiến thức của chúng ta về các mạch lượng tử bằng cách áp dụng nó để phân tích mạch ví dụ dưới đây…
Mạch ví dụ ở trên sử dụng hai cổng Hadamard và cổng CNOT (còn gọi là CX) để tạo trạng thái vướng víu.
Ban đầu, áp dụng hai cổng Hadamard tạo ra trạng thái chồng chất, sau đó chúng tôi áp dụng cổng CX. Trạng thái ban đầu của qubit là |0⟩.
Khi chúng ta chuyển trạng thái đó qua cổng Hadamard, đầu ra là |+⟩. Vì chúng ta có hai cổng Hadamard trong mạch này, nên chúng ta có tích tenxơ của hai giá trị là |+⟩ ⊗ |+⟩. Điều này dẫn đến kết quả là |00⟩ + |01⟩ + |10⟩ + |11⟩ vì việc áp dụng cổng CX không làm được gì trong trường hợp này.
Sau khi vận hành mạch này, đầu ra phải là 4 giai đoạn với xác suất bằng nhau.
Nếu chúng ta trực quan hóa vectơ trạng thái cho từng qubit bằng cách sử dụng Bloch Sphere, chúng ta có thể thấy rằng việc áp dụng cổng Hadamard cho từng qubit dẫn đến việc chuyển đổi từ cơ sở Z(|0⟩, |1⟩) sang cơ sở X và Cổng CX không thay đổi bất cứ điều gì như được hiển thị trong hình ảnh bên dưới…
Các mạch lượng tử có nhiều ứng dụng bao gồm mô phỏng lượng tử mô phỏng hành vi của các hệ thống lượng tử như mô hình hóa hành vi của vật liệu với các thuộc tính độc đáo, giải quyết các vấn đề tối ưu hóa phức tạp trong nhiều lĩnh vực từ tài chính đến hậu cần và các thuật toán học máy chẳng hạn như được sử dụng để nhận dạng hình ảnh và âm thanh cũng như các ứng dụng an ninh mạng như mật mã.
Bây giờ chúng ta có thể áp dụng kiến thức của mình về cơ học lượng tử để hiểu làm thế nào nó có thể được sử dụng để đảm bảo an toàn cho truyền thông. Mật mã lượng tử cho phép một kênh an toàn để liên lạc giữa hai bên bằng cách trao đổi khóa mã hóa giữa họ để mã hóa và giải mã tin nhắn. Các hệ thống mật mã truyền thống dựa trên các công nghệ điện toán cổ điển được thành lập dựa trên các nguyên tắc toán học có thể bị phá vỡ và giải mã nhanh chóng bằng các máy tính mạnh. Mật mã lượng tử giải quyết vấn đề này bằng cách sử dụng nguyên lý bất định của cơ học lượng tử để khiến kẻ nghe trộm không thể chặn liên lạc giữa hai bên mà không bị phát hiện.
Một giao thức thực hiện mật mã lượng tử là phân phối khóa lượng tử (còn gọi là QKD). Đây là phương pháp mật mã lượng tử được nghiên cứu rộng rãi nhất. QKD sử dụng một loạt photon để truyền một bí mật được biểu thị bằng một chuỗi ngẫu nhiên được gọi là khóa. Bằng cách này, chúng tôi có thể phát hiện khi nào một khóa bị xâm phạm bằng cách so sánh các giá trị ở mỗi đầu của quá trình truyền. Với các hệ thống tính toán cổ điển như đường dây điện thoại, có thể chặn một mã bí mật bằng cách “lắng nghe”.
Tuy nhiên, không có cách nào khả thi để làm điều này với QKD vì mọi nỗ lực quan sát khóa mã hóa lượng tử sẽ làm gián đoạn các photon đi qua đường truyền dẫn đến một giá trị khác ở cuối. Hãy cùng tham khảo hình ảnh dưới đây để chứng minh hiện tượng này. Cả Alice và Bob đều muốn trao đổi khóa bí mật với nhau, nhưng họ cũng muốn tránh việc Eve xem trộm các tin nhắn mà họ gửi cho nhau. Bằng cách sử dụng QKD, Alice có thể gửi tin nhắn an toàn cho Bob bằng cách truyền các photon ở các trạng thái lượng tử cụ thể. Bob có thể giải mã tin nhắn bằng cách đo từng photon do Alice gửi để giải mã trạng thái của chúng.
Nguyên lý bất định cho chúng ta biết rằng bất kỳ loại phép đo nào được thực hiện trên trạng thái lượng tử của một hạt sẽ làm thay đổi trạng thái của nó vô thời hạn. Trong QKD, điều này được sử dụng như một cơ chế bảo vệ vì nếu Eve cố gắng đo các hạt lượng tử do Alice gửi cho Bob, trạng thái của hạt cuối cùng sẽ bị thay đổi khiến cho sự hiện diện của cô ấy được biết đến. Hơn nữa, nếu Eve cố tình sao chép các hạt được gửi đi trong quá trình truyền, cô ấy sẽ không thể thực hiện được nhờ “định lý không nhân bản” . Hệ thống này cung cấp một cách để cả Alice và Bob truyền các khóa bí mật, còn được gọi là khóa một lần mà không có sự hoang tưởng hống hách rằng Eve có thể đang rình mò tin nhắn của họ.
QKD hỗ trợ nhiều giao thức khác nhau. Một số bao gồm Photon QKD đơn lẻ sử dụng một photon để truyền thông tin giữa Alice và Bob, QKD xung laser kết hợp yếu sử dụng các xung laser yếu để gửi trạng thái photon và QKD Photon vướng víu gửi các cặp nguồn photon vướng víu tới Alice và Bob.
Kênh lượng tử vật lý trong đó QKD diễn ra sử dụng nhiều hệ thống vật lý khác nhau như photon, ion hoặc mạch siêu dẫn. Đối với QKD dựa trên photon, mạch thường sử dụng một nguồn gồm các photon đơn lẻ, bộ tách chùm tia, hai bộ lọc phân cực và hai máy dò photon đơn lẻ.
Mạch này được xây dựng sao cho khi Alice gửi một chuỗi các photon đơn lẻ cho Bob, mỗi photon có trạng thái phân cực ngẫu nhiên, Bob sẽ chọn ngẫu nhiên giữa hai trạng thái phân cực để đo các photon xác định giá trị bit khóa cuối cùng. Khi tất cả các photon đã được đo, Alice và Bob có thể so sánh tập hợp con của từng kết quả của họ bằng cách sử dụng một kênh cổ điển để phát hiện bất kỳ nỗ lực nghe trộm nào.
Thuật toán mã hóa RSA (hay còn gọi là Rivest–Shamir–Adleman) là một giao thức được sử dụng rộng rãi để bảo mật thông tin liên lạc qua các kênh công cộng. Tuy nhiên, máy tính lượng tử đã đưa ra một lỗ hổng cố hữu trong thuật toán, đó là nó phụ thuộc vào sự kém hiệu quả của các hệ thống máy tính cổ điển để phân tích số lượng lớn.
Để đối phó với lỗ hổng này, các nhà nghiên cứu bảo mật đã phát triển nhiều thuật toán kháng lượng tử như Quantum-Safe RSA (còn gọi là QS-RSA). QS-RSA là một phiên bản sửa đổi của RSA sử dụng một hàm toán học an toàn lượng tử thay thế để tạo khóa công khai và khóa riêng trong khi vẫn giữ lại các chức năng mã hóa/giải mã RSA truyền thống.
Một giao thức mật mã an toàn lượng tử khác là BB84. Đối với Giao thức BB84, chúng tôi xác định nhị phân 0 được định cấu hình trên 0° trên cơ sở đường thẳng hoặc 45° trên cơ sở đường chéo. Tương tự, nhị phân 1 được biểu thị bằng 90° trên cơ sở đường thẳng hoặc 135° trên cơ sở đường chéo.
Đầu tiên, Alice gửi thông tin qua kênh lượng tử bằng cách chọn ngẫu nhiên một chuỗi bit và cơ sở (đường thẳng hoặc đường chéo) có độ dài bằng nhau. Sau đó, mỗi bit của chuỗi sẽ được lặp lại và Alice truyền một photon có cùng phân cực qua kênh tới Bob. Sau khi Bob nhận được các photon, anh ấy chọn ngẫu nhiên một cơ sở cho mỗi photon để đo độ phân cực của nó. Nếu cực anh ta chọn khớp với cực do Alice gửi, anh ta sẽ tìm chính xác bit mà Alice đã gửi. Nếu bit không khớp với bit mà Alice đã gửi, Bob sẽ được gán một bit ngẫu nhiên.
Thứ hai, Alice và Bob liên lạc qua một kênh công cộng để truyền đạt các cơ sở mà Bob đã sử dụng để đo các photon do Alice gửi. Sau đó, Alice gửi lại cho Bob các cơ sở mà Bob có thể đoán chính xác đối với các bit được mã hóa. Sau đó, Alice và Bob đều loại bỏ các bit được mã hóa và đo lường trên các cơ sở khác nhau dẫn đến một chuỗi bit giống hệt nhau được gọi là khóa đã dịch chuyển .
Để kiểm tra xem có ai đang rình mò việc truyền thông tin hay không (ahem Eve), Alice và Bob có thể trao đổi một vài bit của khóa đã dịch chuyển được cho là khớp. Nếu bất kỳ bit nào được trao đổi không khớp, chúng tôi có thể đảm bảo rằng Eve đang nghe lén quá trình truyền. Hình ảnh dưới đây cho thấy một ví dụ trong đó Eve đang theo dõi quá trình truyền giữa Bob và Alice. Mặc dù cả Alice và Bob đều có sáu căn cứ phù hợp, nhưng chỉ một trong số những căn cứ đó khớp với nhau tiết lộ sự hiện diện của Eve. Điều này sẽ khiến Alice và Bob quay trở lại Kênh lượng tử khác để tiếp tục liên lạc.
Nhìn chung, bài viết này cung cấp một cái nhìn sơ lược về các công nghệ sắp ra mắt đằng sau điện toán lượng tử. Tôi hy vọng các ví dụ và mô tả được cung cấp đã giúp làm sáng tỏ một số khái niệm về cơ học lượng tử: mạch lượng tử, vướng víu, chồng chập, cổng lượng tử như cổng Y Pauli, và các giao thức và thuật toán mã hóa lượng tử như QS-RSA và BB84. Cơ học lượng tử đã cách mạng hóa mật mã bằng cách cung cấp các phương pháp hiệu quả hơn để bảo mật các kênh liên lạc. Rõ ràng là việc áp dụng cơ học lượng tử cho các ứng dụng dành riêng cho an ninh mạng sẽ tiếp tục thay đổi cách chúng ta giao tiếp và bảo mật dữ liệu của mình trong nhiều năm tới.
Cũng được xuất bản ở đây.