CG和CGK都是密钥生成算法,但是其生成密钥的方式不同。
CG是密码学中用于生成伪随机数的一种算法,也叫做密码生成器。CG算法采用一个种子作为输入,通过一系列数学运算得到一个伪随机数,然后将伪随机数作为密钥使用。其优点是速度较快,缺点是生成的密钥可预测性较高。CGK是基于哈希函数的密钥生成算法,其采用两个输入:密钥种子和随机数盐。首先将密钥种子和随机数盐通过哈希函数生成一个中间密钥,然后再通过哈希函数将中间密钥和一个序号/计数器(用于区分不同的密钥)进行组合生成最终的密钥。其优点是生成的密钥难以预测,并且不同的种子和盐可以生成不同的密钥。缺点是生成速度较慢。