todo:
* make input to circuit an encryption of the solution
* make input of the circuit a commitment of the decryption key