一、前言
序列密码(Stream cipher)是一种常用的加密算法,也被称为流密码或序列加密算法。与分组密码不同,序列密码以连续的文本流(比如比特流或字节流)为输入,同时以密钥和伪随机数发生器为基础,按照一定的算法对输入文本流进行加密操作,生成加密后的输出文本流。目前,比较常用的序列密码算法有RC4、Salsa20、ChaCha20等。与分组密码相比,序列密码的加密过程更为简单快速,因为它不需要对明文进行分组,而是对连续的文本流进行处理。这也意味着序列密码可以支持流加密模式,可以用于对实时数据流进行加密,比如对网络传输的数据流进行加密保护。
祖冲之算法是一个基于字设计的同步序列密码算法,其种子密钥和初始向量的长度均为128b,在种子密钥和初始向量的控制下,每拍输出一个32b 的密钥字。祖冲之算法采用过滤器结构设计,在线性驱动部分首次采用素域 G F ( 2 31