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)}}
}
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
NewPrivate constructs ecdsa . PrivateKey from given ( X Y ) and D