Secp256k1
將非隨機上下文與簽名上下文一起使用有哪些風險?
我正在設計一個使用 libsecp256k1 的 API。
我試圖隱藏大部分低級的東西,而上下文是我想要為我的 API 的使用者處理的事情之一。當使用者不想關心加密低級別的事情時,很難讓使用者弄亂上下文。
據我了解,出於安全目的,簽名上下文應該是隨機的。
- 如果我發布一個對這些函式使用非隨機簽名上下文的庫,最壞的情況是什麼?側通道弱點?確定的密鑰洩露?等等。
- 如果有的話,弱 prng 隨機化有多大幫助?(對於csprng不可用的環境等)
- 我讀到他們正在朝著可能消除對上下文管理的需求並包括某種預編譯的全域解決方案的方向發展。如果使用,這是否會消除換取稍大的二進製文件的擔憂?
提前謝謝你!
假設沒有錯誤,顯然:
- 只有潛在的側通道洩漏,在主要平台上甚至可能沒有時序洩漏(有測試來檢測編譯程式碼中的非恆定時間行為)。
- 攻擊者無法獲得幫助的任何隨機性。
- 可能仍然會有上下文對象(除其他原因外,用於攜帶隨機化數據),但它們的構造會更輕量級。“預設”靜態上下文可能會擴展為支持所有操作,但沒有任何隨機化。
一般來說,我建議您對使用者隱藏上下文,但在初始化時使用隨機性構造它們,並記憶體它們以供以後使用。
資料來源:我是圖書館的共同維護者。