iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0
Security

我的30天資安攻之路防身修練:實戰×工具×AI全紀錄系列 第 19

【DAY19】深入後量子密碼(PQC)與量子密碼

  • 分享至 

  • xImage
  •  

以下是加強且完整的鐵人賽技術報告,含理論背景與實作詳細步驟,包含安裝環境、Qiskit 量子電路示範與 PQC 加密原理與實務,確保內容豐富且連貫,方便你直接作為競賽文檔或簡報使用。


鐵人賽技術報告 — 深入後量子密碼(PQC)與量子密碼實作

1. 背景與挑戰

隨著即將到來的量子計算大爆發,傳統數位世界的加密基石——RSA、ECC 等非對稱加密演算法正面臨前所未有的破解威脅。量子電腦強大的運算能力能在數秒內破解原本需數百年才能完成的數學難題。因此,研發能抵抗量子電腦攻擊的加密技術成為全球資安的頭等大事。

後量子密碼(PQC)和量子密碼(Quantum Cryptography)正是現今科技界最前沿的研究方向,我們的任務是借助先進的工具與開源環境,落實這些理論於實作,提升未來資安防線的韌性。


2. 系統環境搭建詳細步驟

2.1 安裝 Anaconda 與虛擬環境設置

  1. 下載並安裝 Anaconda(適用 Windows/Linux/macOS),方便管理 Python 環境與套件。

  2. 開啟「Anaconda Prompt」,創建專案專用虛擬環境,防止套件衝突:

    bash
    conda create -n pqc_env python=3.10
    conda activate pqc_env

  3. 在虛擬環境中安裝所需套件:

    bash
    conda install -c conda-forge qiskit qiskit-aer
    pip install kyber-py

  4. 啟動 Jupyter Notebook 進行實驗:

    bash
    conda install notebook
    jupyter notebook


3. 量子電路示範與 Qiskit 實驗

3.1 BB84 協定核心演示

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')

3.2 測試與錯誤修正關鍵點

  • 當遇 ImportError: cannot import name 'Aer' 時,先透過 Anaconda Prompt 重新安裝 Aer 相關套件:
    bash
    conda install -c conda-forge qiskit-aer

  • 每次套件安裝後,務必重啟 Notebook kernel,避免舊有緩存影響。
    (我到這部的時候發現是Notebook一直有紅字錯誤之後發現好像是虛擬機套件沒有裝好,但電腦沒有電了,所以等等再補截圖吧!)


4. 後量子密碼(PQC)實作步驟

4.1 KYBER 公開金鑰演算法介紹

  • 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)

4.2 PQC 實驗室環境

  • 確保安裝 Python 3.10 以上,並在虛擬環境 pqc_env 內完成。
  • 透過多次執行加密解密函式,驗證正確性與執行效率。

5. 為什麼要寫量子電路與量子密碼?

隨著科技步伐加快,量子電腦正在快速崛起,這代表我們現有大多數網際網路傳輸安全的基石——像是 RSA、ECC 等非對稱加密技術——正面臨前所未有的挑戰。量子電腦可以藉由 Shor 演算法在極短時間內破解這些加密系統。量子密碼並非簡單在傳統密碼上加強破解難度,而是從物理層面根本改革安全防護,利用量子力學的「疊加態」、「不可複製定理」及「測不準原理」。

其實我們今天只有練習到最基本的最基本,而且我也不太了解量子密碼後的真正佈局今天只是用虛擬機來測試跟古典密碼有何差別!


快進入鐵人賽尾聲了,接下來我們會寫一個專案架設網站(雖然是在本機端)但還是可以測試一些網路攻擊、資料庫攻擊及其他駭客可奪去在網站上的任何資料把前二十天的文全部總和一下!


上一篇
【DAY18】小插曲:資安概論簡介及小筆記!
系列文
我的30天資安攻之路防身修練:實戰×工具×AI全紀錄19
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言