TransWikia.com

Really Secure Awesome Cryptography

Puzzling Asked on August 5, 2021

Really Secure Awesome Cryptography is a protocol for sending messages based on public-key cryptography.
Assume that messages are simple text strings of at most 500 characters. Users choose a private key, which is a whole number between $1$ and $10^{81}$. They apply the Wonky Doodle Algorithm (a generalisation of elliptic curves – the details are irrelevant to this problem) to map the private key to a public key. The public key is also a number between $1$ and $10^{81}$, and is known to everybody who also uses RSA Cryptography (duh!).

You can assume that:

  1. A whole number between $1$ and $10^{81}$ corresponds to a bijective function that maps strings to strings (i.e. possible input and output strings are in 1-1 correspondence).
  2. Any such function will map any sensible string (e.g. the title of this puzzle) to a different string that “looks completely random”.
  3. A private/public key pair corresponds to two functions that are inverses of each other
  4. It is not feasible to invert the WDA and find the private key. In particular $10^{81}$ is large enough to withstand a brute force attack

Alice, Bob and Eve have chosen the following private keys:
enter image description here

Joe Bloggs wants to send the message “HAPPYSTAR’S PUZZLES ARE AWESOME” that can be read by his friends Alice and Bob but not Eve. How can he achieve this?
Joe wants to achieve this in a single message (i.e. he can’t make two copies of the same message and apply Alice’s public key to the first and Bob’s public key to the second). Admittedly this isn’t a realistic application of cryptography, but I intended this as a fun puzzle.

EDIT: This problem assumes some knowledge of public key cryptography in particular public key encryption.

DISCLAIMER: Not sure if my understanding of cryptography is 100% sound, and it’s been a while since I was at university. But if this problem gets a negative score … then it gets a negative score.

2 Answers

I asked OP for clarification on the matter of

and OP responded obliquely that the question was edited, and we need to send a single message to both Alice and Bob, so I'll have to assume that "can be read by his friends Alice and Bob but not Eve" means exactly what it says.

So we are going to construct a cipher message that

To do that, we simply

This message can only be read by

Yes, this is definitely in the zone, but since OP deliberately didn't change the wording in the puzzle, I'll have to assume this is what is intended. Also, most of the puzzle is just chaff (Joe cannot possibly know the private keys, so why are they included? "The details are irrelevant", so why is $10^{81}$ repeatedly mentioned, etc etc.), so there's very little we can do with the actual information that is left.

Answered by Bass on August 5, 2021

Here is one possible way of sending "one single message" that both A and B can decrypt, but E cannot.

First encrypt original message with the public keys of A and B to get two strings MessageA and MessageB.

Then send the following public message to everyone:

How this works:

Answered by WhatsUp on August 5, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP