Ok, so my crpto lecturer in Uni posed this question at the end of the RSA key generation lecture as a brain teaser.
I have been thinking about this and I think I have come up with a way ( I am aware its not practical and very vulnerable - But I would love for you guys to punch holes through it ):
Use RSA to generate public and private key pair.
Make an additive hash function that taken in any input and adds the ascii value of each character and gives that as an output. ( I am aware additive hash has horrible distribution for ex ABC , BAC , ACB all have the same hash output -- but theoretically this can be used as an advantage to solve our problem )
Now take your public key and generate several possible keys by jumbling up the on and off bits.
Give these jumbled up keys to potential customers.
Put our hash function on the server.
When customer puts in his jumbled up public key - Hash function calculates the hash - which should be similar to original public key generated by RSA. Customer gets access.
Once again I am aware that this is very vulnerable and terrible. It cant be used in the real world. But does it answer the question my lecturer posed ?
Guys I am sorry for the confusion. This question has nothing to do with collisions and expoiting the maths ( Those are definitely valid ways to do that - but they weren't what my lecturer was referring too - they were discussed in the lecture itself. ). The way my lecturer asked this question was - " come up with ways to make several public keys related to a single private key - nevermind how vulnerable your solution is ".