密码体制的分类方法有许多,常用的有以下几种。
①由加密与解密算法用的密钥是不是一样,可把密码体制分为对称密码体制与非对称密码体制。
密码系统的加密密钥与解密密钥一样,则采用的就是对称密钥密码体制。DES、AES、IDEA等均为对称密钥密码体制的实例。用对称密钥密码体制时,若有加密的能力就一定能解密。
若一个密码系统把加密与解密的密钥分开,且由ke推出kd计算上不可行,则该系统用的即是非对称密码体制。用非对称密码体制的每个用户均有一对选择确定的密钥,其中一个可公开,另一个由用户自己保存。RSA、ElGamal、椭圆曲线密码等均为非对称密钥密码体制的特殊例子。
对称密钥密码体制是在复杂的非线性变换基础上完成的;非对称密钥密码体制通常基于某个数学上的难题实现。因后者的安全等级和实际的计算能力关系密切,因此,经常觉得后者的保密强度好像比前者更加弱,但后者也有前者所不具备的一些特性,它适合在开放的环境中使用,密钥管理的问题相对来说较容易,可方便、安全地实现数字签名与认证等。
②由不一样的处理明文信息的手段,可把密码系统分成流密码与分组密码。
流密码指的是对明文消息字符逐位或逐字节地进行加密;分组密码把明文分为确定长度的组,用一样的密钥与算法加密每组,输出的密文的长度也是一定的。
③按能不能实施可逆的加密变换,又能分成单向和双向变换密码体制。
单向函数是一类特别的密码体制,它的性质是能轻易地将明文转换成密文,但再将密文转换成本来的明文却不容易。单向函数仅适合某种特别的、无需解密的场合,及双向变换密码算法中某些环节典型的单向函数包含MD5、SHA-1等。
另外,密码体制还有其他一些分类方法,例如,按在加密中有加入客观随机因素,分成确定型密码体制及概率密码体制等。
人们最常用的基本分类方法是第一种。同时,把对称密码体制再进行区分成流密码与分组密码,因大多数已有的公开密钥密码体制都属于分组密码,因此非对称密钥密码体制不用再区分流密码与分组密码。