You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.8 KiB
48 lines
1.8 KiB
// Copyright (c) 2013-2016 The btcsuite developers |
|
// Use of this source code is governed by an ISC |
|
// license that can be found in the LICENSE file. |
|
|
|
package btcec |
|
|
|
import ( |
|
"crypto.orly/ec/secp256k1" |
|
) |
|
|
|
// SecretKey wraps an ecdsa.SecretKey as a convenience mainly for signing things with the secret key without having to |
|
// directly import the ecdsa package. |
|
type SecretKey = secp256k1.SecretKey |
|
|
|
// PrivateKey wraps an ecdsa.SecretKey as a convenience mainly for signing things with the secret key without having to |
|
// directly import the ecdsa package. |
|
// |
|
// Deprecated: use SecretKey - secret = one person; private = two or more (you don't share secret keys!) |
|
type PrivateKey = SecretKey |
|
|
|
// SecKeyFromBytes returns a secret and public key for `curve' based on the |
|
// secret key passed as an argument as a byte slice. |
|
func SecKeyFromBytes(pk []byte) (*SecretKey, *PublicKey) { |
|
privKey := secp256k1.SecKeyFromBytes(pk) |
|
return privKey, privKey.PubKey() |
|
} |
|
|
|
var PrivKeyFromBytes = SecKeyFromBytes |
|
|
|
// NewSecretKey is a wrapper for ecdsa.GenerateKey that returns a SecretKey instead of the normal ecdsa.PrivateKey. |
|
func NewSecretKey() (*SecretKey, error) { return secp256k1.GenerateSecretKey() } |
|
|
|
// NewPrivateKey is a wrapper for ecdsa.GenerateKey that returns a SecretKey instead of the normal ecdsa.PrivateKey. |
|
// |
|
// Deprecated: use SecretKey - secret = one person; private = two or more (you don't share secret keys!) |
|
var NewPrivateKey = NewSecretKey |
|
|
|
// SecKeyFromScalar instantiates a new secret key from a scalar encoded as a |
|
// big integer. |
|
func SecKeyFromScalar(key *ModNScalar) *SecretKey { |
|
return &SecretKey{Key: *key} |
|
} |
|
|
|
var PrivKeyFromScalar = SecKeyFromScalar |
|
|
|
// SecKeyBytesLen defines the length in bytes of a serialized secret key. |
|
const SecKeyBytesLen = 32 |
|
const PrivKeyBytesLen = SecKeyBytesLen
|
|
|