Elliptic-Curves
使用隨機數生成器生成 ECDSA 密鑰的算法
我有一個經過認證的隨機數生成器(TRNG,問題是什麼都沒關係)。
我想將其用作生成 secp384r1 ECDSA 密鑰的源。我應該使用什麼算法?可能嗎?
我知道實現自己的加密算法通常不是一個好主意,那麼有沒有可以用於此的庫?(類似於充氣城堡?)
許多庫允許您指定自己的隨機數生成器。例如,在 BouncyCastle 中,您可以在類
SecureRandom
的initialize
方法中KeyPairGenerator
指定 a ;io.Reader
而在 Go 中,您可以為GenerateKey
函式指定 a 。因此,假設您的 TRNG 實際上產生均勻分佈的隨機輸出,您將需要編寫一個實現
SecureRandom
或從 TRNG 讀取指定字節數的類。io.Reader
但是要小心,如果你把它搞砸了,你的系統的整個安全性就會受到損害。(一種更安全的方法是製作一個從 TRNG 讀取並寫入的程序
/dev/random
,混合系統 PRNG,假設它是 Linux)