We have several questions tagged pen-and-paper talking about encryption, hashing, signing, etc. but no question asks about exchanging a secret via public key encryption in a secure way.
Does any solution exist, which would allow us to exchange a secret via a public channel (think: key exchange) using nothing but pen-and-paper and which can be handled by people who are not (what one might call) “math wizards” (read: people who can calculate whole algorithms using nothing but their brain) but who do know their way around maths and who do understand crypto?
As far as I’m aware there isn’t any such solution in classic (pre-computer) cryptography. But that doesn’t automatically mean it can’t be done.
Of course, potential solutions won’t offer the security we get and expect from computer-based solutions like RSA or elliptic curve cryptography. Yet, to keep it simple let’s assume we’re not trying to protect ourselves against nation-state adversaries here. Nevertheless, suggestions should provide a usable security margin.
What would be a not so neck-breaking way to exchange a secret over a public channel using nothing but pen-and-paper means? Is it even possible to do so in a somewhat secure way without using computers, mobile phones, or other, even more rudimentary tools — like mechanical machines — that aren't always available? (Hence the tag pen-and-paper.)
To clarify: I am not looking for something which resembles a toy cipher made for the purpose of “
demonstrating to a 12-year-old how encryption works” and/or to be used in a “
fantasy story”. My question asks for an actually usable and secure solution (as mentioned above).