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