Introduction of common interface for Public and Private key

do we really need to specify `toString()`? my concern here is accidental leakage of sensitive info through logging.