# Asymmetric encryption and signature performed by hand

There are some methods of encryption so easy that you can do them be hand, but is there an easy(ish) method of private & public cryptography and signing that a human can perform it by hand? The human doing the cryptography has paper & pencil.

Edit: Assume that there is no MITM attacks (all the keys that are obtained is legit)

James Ellis at GCHQ came up with a pen-and-pencil example of public key cryptography, something he called "non-private encryption." He intended it as an illustration of a public key system.

The gist of his system is something like this: You start by creating a lot of short riddles, each having a unique solution, which could for practical purposes be mathematical equations. For each of these riddles you create an encryption key. The intention is that the solution to the riddle is the ID of the key. The full list of (riddle [ie. key ID] / encryption key) is posted somewhere public.

When someone wants to send you a secret message, they pick a pair at random. They solve the riddle, to get the key ID. They can then encrypt the message they only want you to see, by using the key they chose from the list. So that you can decrypt the message, they note the key ID somewhere in cleartext in the letter head.

The secrecy of this system depends on the number of riddles, and the time it takes to solve each one for the key ID (an attacker with the all key IDs can simply look up the key). For instance, if you have 10,000 pairs, and each riddle takes a day to solve, it should last about 30 years against a single attacker.

References:

If you are learning the basis of RSA cryptography, you will see that you can do it by hand. The principle revolves around simple modular arithmetic.

What makes the scheme secure is the used of very large prime number and the difficulty to factor the public key into the two initial primes. The same idea stands for elliptic curves with another hard to solve problem.

This requirement for asymmetric schemes to have a "hard to break" component, makes it automatically difficult to do "by hand", despite the mathematics behind it being simple. Also, think of this: if it's simple for a human, it's trivial for a computer.

Interesting! I got your points although I believe paper and pencil can make unlimited computation. Let's say we have very limited computing power. You and your friends want to do some cryptography in daily life.

To obtain a Public-key cryptography, you will need a trusted third party which can authenticate your identity and then generate a key pair (PublicKey, PrivacyKey) for you. I think this is the hardest part of your sketch plan. If you can work this out, you will have what you want.

To be more helpful, I think you can take envolope seal as a reference. Some departments of government sill use seal stamp.

• I was thinking along the lines of having a message that is encrypted or signed. – Grant Davis Apr 26 '16 at 3:20
• The keys are all distributed correctly, I was asking for a human friendly way of doing signing and public key encryption. – Grant Davis Apr 26 '16 at 3:29
• haha! Sorry for misunderstanding. How about encrypting paper with a wooden stick? Just like ancients do. – Mr.Budapest Apr 26 '16 at 4:13
• Roll the paper on a wooden stick, and write your message. Then you pass the paper to your friend who has the same wooden stick. She or he can roll the paper again on the wooden stick and get your message. – Mr.Budapest Apr 26 '16 at 4:16

You could use a public-private key set to encrypt a short message, say the key for a vigenere cipher. If the participants want to spend an hour hand-decrypting the first message, subsequent messages could be decrypted very easily using a simpler, symmetric code that could be decrypted in a few minutes. It would never withstand a brute force attack with a computer so physical security techniques would be necessary like burning the message after reading and some way to verify it's not been intercepted.