func NewPrivate(x,y,d []byte) (*ecdsa.PrivateKey) {
	return &ecdsa.PrivateKey {D:new(big.Int).SetBytes(d),
							  PublicKey: ecdsa.PublicKey{ Curve:curve(len(x)),
								  						  X:new(big.Int).SetBytes(x), 
														  Y:new(big.Int).SetBytes(y)}}
}
func NewPrivate(x,y,d []byte) (*ecdsa.PrivateKey) {
	return &ecdsa.PrivateKey {D:new(big.Int).SetBytes(d),
							  PublicKey: ecdsa.PublicKey{ Curve:curve(len(x)),
								  						  X:new(big.Int).SetBytes(x), 
														  Y:new(big.Int).SetBytes(y)}}
}
// NewPrivate constructs ecdsa.PrivateKey from given (X,Y) and D