# Collusion (Crypto, 500)Author: fxrh
**Note: As LaTex (aka those math symbols) do not work on github, go [here](https://md.darmstadt.ccc.de/collusion) for a version with proper math symbols**
Collusion was a Crypto-Challenge at the Qualification Round of CSAW CTF 2018.
We were given five files:* ```common.go```, a Go implementation of a crypto system* ```generate_challenge.go```, which generated the challenge given to us* ```bobs-key.json```, Bob's private key, and ```carols-key.json```, Carol's private key* ```message.json```, a message encrypted for Alice
## The Crypto System
Collusion uses an identity-based encryption, in which a message can be encrypted for a Person using for example their name. For this, a trusted third party must exist which generates a master private key and distributes private keys to all parties.
In this case, the trusted third party is called a Group. On creation, it generates two primes $P$ and $Q$, calculates $N=P\cdot Q$ (so far, standard RSA) and generates a $x