Is it possible to change the constant values of ChaCha20? and how it will affect the security of the cipher.

  • 2
    $\begingroup$ the constants are to break symmetry in the permutation primitive, changing them wont achieve anything and as long as the new constants aren't symmetric won't hurt anything $\endgroup$ Commented Dec 1, 2023 at 20:44
  • $\begingroup$ @LightTunnelEnd This is not true, it can worsen the security, or improve the security $\endgroup$
    – kelalaka
    Commented Dec 1, 2023 at 22:33

2 Answers 2


The constant in Salsa20 and ChaCha20 is a nothing-up-my-sleeve string, expand 32-byte k. So it becomes more of a philosophical question about changing such constants and what "worsen" means.

The purpose of a nothing-up-my-sleeve number is to assert that security has not and cannot be weakened by selecting a specific constant (subject to conditions disclosed by the authors).

So, you should be able to change it without breaking anything. Assuming you don't choose anything "bad," which in this case is symmetry, then it is claimed the cipher will function in accordance with its design.

It could be discovered in the future of the existence of attack that is helped or hindered by certain properties of the constant. However, as far as I know, one is not known in this case. There could be such an attack, or one may not exist, we don't know at this point. In this aspect, the question is thus currently unanswerable.


i think that changing the constants would likely compromise the security. Any changing could weaken the security of the algorithm.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.