Set both key generation and ECDSA nonce to use mixed entropy
* Move random entropy functions to new package randentropy * Add function to get n bytes entropy where up to first 32 bytes are mixed with OS entropy sources
This commit is contained in:
@ -15,6 +15,7 @@ import "C"
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"github.com/ethereum/go-ethereum/crypto/randentropy"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
@ -68,7 +69,7 @@ func GenerateKeyPair() ([]byte, []byte) {
|
||||
const seckey_len = 32
|
||||
|
||||
var pubkey []byte = make([]byte, pubkey_len)
|
||||
var seckey []byte = RandByte(seckey_len)
|
||||
var seckey []byte = randentropy.GetEntropyMixed(seckey_len)
|
||||
|
||||
var pubkey_ptr *C.uchar = (*C.uchar)(unsafe.Pointer(&pubkey[0]))
|
||||
var seckey_ptr *C.uchar = (*C.uchar)(unsafe.Pointer(&seckey[0]))
|
||||
@ -124,7 +125,7 @@ int secp256k1_ecdsa_sign_compact(const unsigned char *msg, int msglen,
|
||||
*/
|
||||
|
||||
func Sign(msg []byte, seckey []byte) ([]byte, error) {
|
||||
nonce := RandByte(32)
|
||||
nonce := randentropy.GetEntropyMixed(32)
|
||||
|
||||
var sig []byte = make([]byte, 65)
|
||||
var recid C.int
|
||||
|
Reference in New Issue
Block a user