iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Security

裸機實作 SLH-DSA 簽章:FIPS 205 之演算法實作、測試、防禦與跨平台 系列

探討如何在裸機實作 SLH-DSA 的簽章演算法,並實現原始碼層級的跨平台,範圍涉及 FIPS 205 之演算法實作,以及學習相關標準。

鐵人鍊成 | 共 30 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21 使用 Mbed TLS (PSA Crypto) 進行金鑰管理與產生符合 SP 800-90A 的亂數 (二)

本日重點: 使用 Mbed TLS 產生亂數 本來是只想在 nRF5340 DK 上實驗 key handle,不過,因為 PSA Crypto 的 key l...

2025-10-04 ‧ 由 jeffrey.w 分享
DAY 22

Day 22 以 PSA Certified Crypto API 的 interface 實作 SLH-DSA 演算法 (一)

Day 21 我試著用 Mbed TLS 產生亂數,然後把產生亂數所需要的取熵以我自己實作的 mbedtls_hardware_poll 去給 Mbed TLS...

2025-10-05 ‧ 由 jeffrey.w 分享
DAY 23

Day 23 修改 Mbed TLS ,直接在 Renode 進行模擬取熵

今天實驗的目的是 forks Mbed TLS,修改 mbedtls_entropy_func,在 CI 下載,make 後做 cache,然後以這個 mbed...

2025-10-06 ‧ 由 jeffrey.w 分享
DAY 24

Day 24 以 PSA Certified Crypto API 的 interface 實作 SLH-DSA 演算法 (二)

Day 23 我重新 make 一個 mbedtls,想實驗一下是不是能直接用我hardcode的熵,結果直接在這一行掛掉。 psa_status_t stat...

2025-10-07 ‧ 由 jeffrey.w 分享
DAY 25

Day 25 以 PSA Certified Crypto API 的 interface 實作 SLH-DSA 演算法 (三)

經歷了前幾天連結 Mbed TLS 的失敗,自已 fork Mbed TLS 重新 make 也失敗,在 GitHub Actions 上用 Renode 整合...

2025-10-08 ‧ 由 jeffrey.w 分享
DAY 26

Day 26 psa_mac_compute, psa_hash_compute, PRFmsg

本日重點: 用 psa_mac_compute 去改寫 PRF_msg Day 25 跳過了 psa_key_attributes_t,今天從 psa_key_...

2025-10-09 ‧ 由 jeffrey.w 分享
DAY 27

Day 27 將 psa_key_id_t 整合到 SLH-DSA 簽章演算法的實作裡

今日重點: 將 sk_seed, pk_seed, sk_prf 換成 psa_key_id_t SLH-DSA 簽章演算法的 function 是直接傳 sk...

2025-10-10 ‧ 由 jeffrey.w 分享
DAY 28

Day 28 使用 NIST PQC 提供的 KAT(Known Answer Tests)驗證 SLH-DSA 的簽章實作

要用 NIST KAT 驗證 sign,有三個 function 要自己寫,PQCgenKAT_sign 會去 call 他們,然後產生 PQCsign...

2025-10-11 ‧ 由 jeffrey.w 分享
DAY 29

Day 29 Writing hex to nRF5340 DK Application core

這是我產生的 PQCsignKAT_64.rspGitHub Actions, CI#245, KAT 這是截錄自 SPHINCS+ 官方 [1] 的 PQCs...

2025-10-12 ‧ 由 jeffrey.w 分享
DAY 30

Day 30 總結 FIPS 205 的 SLH-DSA 簽章實作與實驗

總結一下過去數周做了什麼事,實作了 FIPS 205 的簽章演算法 (沒有全部都正確實作),這個過程中知道了簽章演算法用到了什麼資料結構,包括 ADRS、com...

2025-10-13 ‧ 由 jeffrey.w 分享