One thing about about the public key cryptography example that I’ve often wondered, wouldn’t it be better to explain the private party’s contribution as a lock that can only be opened with the public keys?
What makes this tricky is that the public and private keys reverse roles when signing versus encrypting. Having these keys represented by different objects (physical locks or keys) depending on the usage can potentially make things more confusing.