密码编码系统一般有如下几种独立的分类方式。
1.明文变换到密文的操作类型
全部加密算法基于2个基本操作。
1)代替:即明文中的所有元素分别被映射至另一个元素。该操作主要实现非线性变换的要求。
2)换位:即明文中的元素被重新排列,对其基本要求是信息不丢失。
2.所用的密钥数量
1)单密钥加宽:也就是发送者和接收者双方用一样的密钥。
2)双密钥加密:即发送者与接收者两方用一个不一样的密钥,这两个密钥构成一个密钥对,其中公钥可以公开,另一个肯定是密钥持有人私密保管,称作私钥。
3.明文被处理的方式
1)分组加密:一次输入一块(组)元素,向所有输入块分别产生一个输出块,即一个明文分组被看做一个整体输出相同长度的密文分组,通常使用的为64位(如DES)或128位(如AES)的分组大小。
2)流加密:即连续处理输入元素,以及一次输出一个元素的过程。也就是说,一次加密1位或字节。
人们在分析分组密码上下的功夫相对流密码多很多,通常来说分组密码较流密码的应用范围也广得多。