1.基于RSA的数字签名算法。
该算法的数学理论是基于大素数因子分解难题,属于非对称签名算法,是最流行的一种签名算法,其安全性取决于大数的因子分解难解性。
2.基于DSA的数字签名算法。
该算法的数学理论是基于整数有限域离散对数难题,其安全强度和速度均低于RSA算法。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却做不到。DSA算法的安全性也依赖于有限域上的离散对数问题,其优点是不涉及专利问题。
3.基于Hash的数字签名算法。
该算法是通过散列算法,变换成固定长度的输出,该输出就是散列值,这种转换是一种压缩映射。也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来确定输入值。