# What is an extremely basic asymmetric cipher that I can present at the pub?

I'm trying to explain the basics of Bitcoin to my parents.

One of the core components of bitcoin, is signing transactions to make sure your identity can't be impersonated, and thus the need to explain a simplified asymmetric cipher.

What's an extremely simple asymmetric cipher I can use as an example?

How can this simplified cipher be used for signing?

I'm trying to explain the basics of Bitcoin to my parents.

If this is your objective, I would argue that it is not necessary to go in-depth into asymmetric encryption/signing. The basic mechanics of Bitcoin, or blockchain systems in general, are easily, (and probably best) explained on a very abstract level, i.e. it is a decentralised solution to asset transfers and consensus building, and so forth.

As for the signatures, you could say that they serve as transaction authorisation so that only the owner of tokens is able to spend, but everyone can verify the signature.

What's an extremely simple asymmetric cipher I can use as an example?

If for some reason, your audience is really interested in learning how it works on a more technical level, I would avoid RSA and the effort of doing the transfer from encryption to digital signatures later. In this case, you might simply want to stick to DSA (the classical, non-elliptic curve version), and use small numbers to talk them through step by step.

Not knowing your parents/friends at the pub, I would have my doubts though that they care about the hardness of discrete logarithm problems or finite group operations, and from my experience with similar settings, I advise you to start with the general concepts, and then go into the exact algorithms if required.

Have you ever heard of the Walnut Digital Signature algorithm? It's literally based on the math of tying knots in ropes. With some fiddling, you might be able to work it into a pub demo.

Presentation slides, white paper, esp. section 2.1. It's a candidate for NIST's post-quantum crypto competition, so it's not even a toy algorithm.

From the presentation slides:

Imagine this is 4 strands of rope crossed either over or under another strand. Notice how some of those pairs of crossings will "pull straight" if you grab the ends and tug?

The intuition of the signature algorithm - as I understand it and simplified to the point of being wrong - is to encode the (hash of the) message to be signed as a sequence of crossings in a braid, then you apply the private key to add an extra pile of pseudo-random crossings to the braid. The public key is an "inverse" set of crossings such that when you apply the public key and "pull" you'll get back the original braid that encodes the (hash of the) message.