我正在嘗試使用 GMP 6.2.1 作為使用長整數進行加密計算的后端。在那里,最好不要留下任何超過所需時間的敏感計算痕跡。因此,我想確保 GMP 不會在記憶體中留下任何內容,但在檔案中找不到任何相關內容。
我是否正確假設記憶體中存在兩種可能的不需要的值來源:
- 將數字重新分配到更大的記憶體部分。例如,可能由于自我分配而發生
mpz_mul (x, x, x);。 - GMP 函式內部的中間計算,以某種方式與這些函式的運算元或輸出相關。
雖然似乎可以通過正確設計客戶端代碼來避免重新分配,但中間變數困擾著我,至少那些在堆上分配的變數。GMP 在這方面有明確的保證嗎?
uj5u.com熱心網友回復:
GMP為密碼學提供了一些低級功能,特別是讓您可以控制分配。
對于更高級別的功能,您無法獲得任何保證,但您仍然可以通過自定義分配和配置臨時分配來改進默認值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/356317.html
