errors.New("Invalid private key length")
}
key := make([]byte, int(mode))
- copy(key, raw)
- reverse(key)
+ for i := 0; i < len(key); i++ {
+ key[i] = raw[len(raw)-i-1]
+ }
k := bytes2big(key)
if k.Cmp(zero) == 0 {
return nil, errors.New("Zero private key")
}
func NewPublicKey(curve *Curve, mode Mode, raw []byte) (*PublicKey, error) {
- if len(raw) != 2*int(mode) {
+ key := make([]byte, 2*int(mode))
+ if len(raw) != len(key) {
return nil, errors.New("Invalid public key length")
}
- key := make([]byte, 2*int(mode))
- copy(key, raw)
- reverse(key)
+ for i := 0; i < len(key); i++ {
+ key[i] = raw[len(raw)-i-1]
+ }
return &PublicKey{
curve,
mode,
func NewUKM(raw []byte) *big.Int {
t := make([]byte, len(raw))
- copy(t, raw)
- reverse(t)
+ for i := 0; i < len(t); i++ {
+ t[i] = raw[len(raw)-i-1]
+ }
return bytes2big(t)
}