You can control the dimension of the ciphertext modulus by setting parameters.SetScalingModSize (size of one limb), parameters.SetFirstModSize (size of the first limb) and parameters.SetMultiplicativeDepth (total number of limbs). However, when determining the ring dimension in order to get a certain security level, it matters if you are using Hybrid Key Switching, which uses an extended ciphertext modulus. This can be controlled by parameters.SetKeySwitchTechnique and parameters.SetNumLargeDigits. Checkout how to print all limbs here OpenFHE CKKS chooses modulus chain that doesn't guarantee 128 bits of security.
Further, please check these discourse posts discussing dependencies and how to set the bit size of the moduli.
- Why do my parameters not comply with 128 bit security?
- Setting security parameters according to 128 bit security (very small CKKS scaling factor)
- Relationship between ScaleModSize and RingDimension
- Parameter settings in BFV, BGV, and CKKS - #2 by ypolyakov
- OpenFHE CKKS chooses modulus chain that doesn't guarantee 128 bits of security