Yeah, that always bothered me about the terminology. My fix would be to call it a lock -- everyone understands that you can share those and it doesn't make them any easier to open.

That analogy works for encryption but doesn't really work for signature verification

Maybe we should not use analogies? Just call them secret-text and public-text.

Agree. Even just “secret” would be fine for the private key. Maybe pair it with “identity” or “id”.