I'm trying to implement a Cramer Shoup cryptography system in C but I've run into problems with generating the keys.
From what I have found on the wiki and in other papers, to generate keys for Cramer Shoup you must generate a cyclic group G of order q with generators g1 and g2, then take 5 values between 0 and (q-1) and with that you can easily generate the keys.
I initially tried doing this manually, but I ran into issues that prevented me from going forward. I was told that some OpenSSL library should have a way to do this itself. After some digging I found that I could generate what I thought was a key using the command "openssl dhparam", but after toying with it it doesn't seem that it generates keys like I thought.
I am asking if you are aware of any code (Or commands) that could be used to help generate the keys of a cramer shoup cryptosystem. If you know of any code/commands/libraries that could help with this I greatly appreatiate it.