![数字政府网络安全合规性建设指南:密码应用与数据安全](https://wfqqreader-1252317822.image.myqcloud.com/cover/979/50688979/b_50688979.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3.1 序列密码算法
根据对明文的加密方式不同,对称密码算法可分为序列密码算法与分组密码算法。序列密码算法也被称为流密码算法。根据密钥流生成方式不同,序列密码算法分为同步序列密码算法与自同步序列密码算法。
同步序列密码算法(见图1-2)使用种子密钥k和初始向量IV,根据密钥流生成算法生成密钥流序列z=z0z1z2…,然后使用密钥流序列依次对明文序列m=m0m1m2…加密:
![](https://epubservercos.yuewen.com/8B052F/29863517603108306/epubprivate/OEBPS/Images/24_01.jpg?sign=1738842705-Gf5QmnIkyWrGCB7M7lYqPEhyoExH7UVU-0-8ea50889d47167a492dde4e93c124da0)
![](https://epubservercos.yuewen.com/8B052F/29863517603108306/epubprivate/OEBPS/Images/24_02.jpg?sign=1738842705-j8GZoXbFLu8mc6QfA1fbfaeSRC7ZELUy-0-6db97229ded80442efec4686eab699ea)
图1-2 同步序列密码算法示意
其中,密钥流序列对明文加密的过程通常为异或运算,即依次将每个密钥流与明文流异或得到密文:。
相应解密过程只需使用同一密钥k和相同的初始向量IV,根据相同的密钥流生成算法生成同样的密钥流序列z=z0z1z2…,然后依次对密文序列c=c0c1c2…解密:
![](https://epubservercos.yuewen.com/8B052F/29863517603108306/epubprivate/OEBPS/Images/25_02.jpg?sign=1738842705-XcNw0u5ZyDgZDhQB3GasrgVEWZOsFi0c-0-ad305b4979ec1ac18ab2a936e3840166)
其中,D为E的逆过程。当E为异或运算时,D也为异或运算,即。
同步序列密码算法具有加解密速度快、便于软硬件实现等特点,适用于大量数据加密,广泛应用于数据通信领域,例如保护互联网通信、VPN通信和无线通信等。
与同步序列密码算法不同,自同步序列密码算法(见图1-3)在生成密钥流的过程中,密文流会参与后续的密钥流生成。这种特性使得即使密文流的部分比特出现错误,当一定数量的正确密文流被反馈回密钥流生成器后,加解密过程也能够重新同步并恢复到正确的状态。这一特性在通信中尤其有用,因为它允许系统在不稳定的信道环境中运作,即便存在信号干扰、传输错误或数据丢失等情况,也能保持一定程度的加密能力。自同步序列密码能够容忍一定程度的错误。然而,为了实现这种错误容忍的特性,系统可能会变得更加复杂,而且可能需要更多的计算开销。
![](https://epubservercos.yuewen.com/8B052F/29863517603108306/epubprivate/OEBPS/Images/25_04.jpg?sign=1738842705-KOv0NifkciTa30BoEK6RqibR9zPRNw9d-0-fddb8ab275b5b0be9b430d2feceefa5f)
图1-3 自同步序列密码算法示意