Tags: crypto 

Rating:

# 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

Original writeup (https://github.com/WizardsOfDos/Writeups/tree/master/2018-CSAW/collusion).