以下是加強且完整的鐵人賽技術報告,含理論背景與實作詳細步驟,包含安裝環境、Qiskit 量子電路示範與 PQC 加密原理與實務,確保內容豐富且連貫,方便你直接作為競賽文檔或簡報使用。
隨著即將到來的量子計算大爆發,傳統數位世界的加密基石——RSA、ECC 等非對稱加密演算法正面臨前所未有的破解威脅。量子電腦強大的運算能力能在數秒內破解原本需數百年才能完成的數學難題。因此,研發能抵抗量子電腦攻擊的加密技術成為全球資安的頭等大事。
後量子密碼(PQC)和量子密碼(Quantum Cryptography)正是現今科技界最前沿的研究方向,我們的任務是借助先進的工具與開源環境,落實這些理論於實作,提升未來資安防線的韌性。
下載並安裝 Anaconda(適用 Windows/Linux/macOS),方便管理 Python 環境與套件。
開啟「Anaconda Prompt」,創建專案專用虛擬環境,防止套件衝突:
bash
conda create -n pqc_env python=3.10
conda activate pqc_env
在虛擬環境中安裝所需套件:
bash
conda install -c conda-forge qiskit qiskit-aer
pip install kyber-py
啟動 Jupyter Notebook 進行實驗:
bash
conda install notebook
jupyter notebook
BB84協定是量子密碼中設計發送及接收安全金鑰的經典方法,我們用 Qiskit 搭建其基礎運作電路:
初始化一個有 1 個量子位元和 1 個古典位元的電路:
from qiskit import QuantumCircuit, Aer, execute
qc = QuantumCircuit(1, 1)
對量子位元施加 Hadamard 門,使量子位元進入疊加態
qc.h(0)
測量量子位元並將結果存入古典位元,用於模擬觀察量子狀態分佈
qc.measure(0, 0)
使用 Aer 模擬器並執行 1024 次,統計測試結果
simulator = Aer.get_backend('qasm_simulator')
result = execute(qc, simulator, shots=1024).result()
counts = result.get_counts(qc)
print(counts
運行後請透過繪圖模組查看電路結構
qc.draw('mpl')
當遇 ImportError: cannot import name 'Aer'
時,先透過 Anaconda Prompt 重新安裝 Aer 相關套件:
bash
conda install -c conda-forge qiskit-aer
每次套件安裝後,務必重啟 Notebook kernel,避免舊有緩存影響。
(我到這部的時候發現是Notebook一直有紅字錯誤之後發現好像是虛擬機套件沒有裝好,但電腦沒有電了,所以等等再補截圖吧!)
Kyber 是 NIST 推薦的格基加密演算法,提供抗量子攻擊的公鑰加密方案。
使用 kyber-py
開源庫,在 Python 環境呼叫核心函數:
import kyber
public_key, private_key = kyber.generate_keypair()
ciphertext = kyber.encrypt(public_key, b"Hello PQC")
plaintext = kyber.decrypt(private_key, ciphertext)
print(plaintext)
pqc_env
內完成。隨著科技步伐加快,量子電腦正在快速崛起,這代表我們現有大多數網際網路傳輸安全的基石——像是 RSA、ECC 等非對稱加密技術——正面臨前所未有的挑戰。量子電腦可以藉由 Shor 演算法在極短時間內破解這些加密系統。量子密碼並非簡單在傳統密碼上加強破解難度,而是從物理層面根本改革安全防護,利用量子力學的「疊加態」、「不可複製定理」及「測不準原理」。
其實我們今天只有練習到最基本的最基本,而且我也不太了解量子密碼後的真正佈局今天只是用虛擬機來測試跟古典密碼有何差別!
快進入鐵人賽尾聲了,接下來我們會寫一個專案架設網站(雖然是在本機端)但還是可以測試一些網路攻擊、資料庫攻擊及其他駭客可奪去在網站上的任何資料把前二十天的文全部總和一下!