Rabbit 是一种高速流密码,于 2003 年在 FSE 研讨会上首次提出。
Rabbit 使用一个 128 位密钥和一个 64 位初始化向量。 该加密算法的核心组件是一个位流生成器,该流生成器每次迭代都会加密 128 个消息位。
填充模式
- None:不填充
- PKCS7:填充字符串由一个字节序列组成,每个字节填充该字节序列的长度
- Zeros:填充字符串由设置为零的字节组成
- ANSIX923:填充字符串由一个字节序列组成,此字节序列的最后一个字节填充字节序列的长度,其余字节均填充数字零
- ISO10126:填充字符串由一个字节序列组成,此字节序列的最后一个字节填充字节序列的长度,其余字节填充随机数据
分组对称加密算法有些运算模式要求明文数据的字节长度必须是其块大小的整倍数,因此在加密明文数据之前我们必须对明文数据进行填充。