iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Security

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

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

參賽天數 25 天 | 共 25 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 1 序篇: 裸機實作 SLH-DSA 簽章的幾個面向

探討如何在裸機實作 SLH-DSA 的簽章演算法,並實現原始碼層級的跨平台。 NIST 在2024年8月13日發佈了 FIPS 205 [1],它規範了 SLH...

2025-09-14 ‧ 由 jeffrey.w 分享
DAY 2

Day 2 跨平台產生 SLH-DSA 金鑰 (一)

本日重點:實作: toByte, ADRS member function SLH-DSA 的簽章需要用到金鑰,金鑰的產生需要用到公私鑰種子,這些 seed 需...

2025-09-15 ‧ 由 jeffrey.w 分享
DAY 3

Day 3 跨平台產生 SLH-DSA 金鑰 (二)

本日重點:說明 F、H、T 和 chain FIPS 205 第 33 頁 [1] 是 key pair 的結構。 n 在本系列要用什麼,可以看 FIPS 20...

2025-09-16 ‧ 由 jeffrey.w 分享
DAY 4

Day 4 跨平台產生 SLH-DSA 金鑰 (三)

本日重點:RBG、PRF 先前提到 SLH-DSA key pair 是 slh_keygen_internal 所產生,它的 input 是 SK.seed、...

2025-09-17 ‧ 由 jeffrey.w 分享
DAY 5

SLH-DSA 簽章演算法 (一)

本日重點:簽章的演算法和 message randomizer FIPS 205 第 34 頁 [1] 是簽章的格式,今天的重點是產生它的主要流程 參考 Tab...

2025-09-18 ‧ 由 jeffrey.w 分享
DAY 6

SLH-DSA 簽章演算法 (二) 在 Renode 進行 SLH-DSA 簽章的裸機實作

本日重點: 用模擬器 (Renode) 跑一遍裸機實作 SLH-DSA 簽章的流程 我是在 Github 上將 Renode 整合進 CI 的流程, 然後手動觸...

2025-09-19 ‧ 由 jeffrey.w 分享
DAY 7

Day 7 SLH-DSA 簽章演算法 (三) 遞迴計算 root of subtree

本日重點: fors_node fors_node 的演算法在 FIPS 205 第 30 頁 [1] Merkle tree 的結構是 node 和 leaf...

2025-09-20 ‧ 由 jeffrey.w 分享
DAY 8

Day 8 計算 FORS private key

本日重點: fors_node、fors_sk_gen fors_node 現在只剩下 fors_sk_gen 要完成 這裡有一個地方要注意,如 FIPS 20...

2025-09-21 ‧ 由 jeffrey.w 分享
DAY 9

將裸機跨平台的模擬整合進 GitHub Actions (CI)

本日重點: 裸機跨平台要怎麼修改 Makefile 因為 sha256 要改成用 CryptoCell 310 和 CryptoCell 312 計算,我想先在...

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

Day 10 產生 FORS signature (fors_sign)

本日重點: 總結 fors_sign 在 Day 8 我們完成了 fors_sk_gen 和 fors_node,今天我們把焦點放在 line 2 的 base...

2025-09-23 ‧ 由 jeffrey.w 分享