![数字政府网络安全合规性建设指南:密码应用与数据安全](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=1739632295-h4UzdwflmiBfvur9jlWsgX4jJjsG7g5m-0-d68ef87ce4a4f4ab8ac93e26ea231413)
![](https://epubservercos.yuewen.com/8B052F/29863517603108306/epubprivate/OEBPS/Images/24_02.jpg?sign=1739632295-PGCvywIEWnVn6RAMmuFkTlkOmHJTYB3l-0-06f90828eeb4a82147c568d89502a312)
图1-2 同步序列密码算法示意
其中,密钥流序列对明文加密的过程通常为异或运算,即依次将每个密钥流与明文流异或得到密文:。
相应解密过程只需使用同一密钥k和相同的初始向量IV,根据相同的密钥流生成算法生成同样的密钥流序列z=z0z1z2…,然后依次对密文序列c=c0c1c2…解密:
![](https://epubservercos.yuewen.com/8B052F/29863517603108306/epubprivate/OEBPS/Images/25_02.jpg?sign=1739632295-Ie7J3Ss10Lz8mIOhh2Ytwtb00z1Mczxw-0-4cfbdfb4fe2c2f1d89c9abad14c6d74a)
其中,D为E的逆过程。当E为异或运算时,D也为异或运算,即。
同步序列密码算法具有加解密速度快、便于软硬件实现等特点,适用于大量数据加密,广泛应用于数据通信领域,例如保护互联网通信、VPN通信和无线通信等。
与同步序列密码算法不同,自同步序列密码算法(见图1-3)在生成密钥流的过程中,密文流会参与后续的密钥流生成。这种特性使得即使密文流的部分比特出现错误,当一定数量的正确密文流被反馈回密钥流生成器后,加解密过程也能够重新同步并恢复到正确的状态。这一特性在通信中尤其有用,因为它允许系统在不稳定的信道环境中运作,即便存在信号干扰、传输错误或数据丢失等情况,也能保持一定程度的加密能力。自同步序列密码能够容忍一定程度的错误。然而,为了实现这种错误容忍的特性,系统可能会变得更加复杂,而且可能需要更多的计算开销。
![](https://epubservercos.yuewen.com/8B052F/29863517603108306/epubprivate/OEBPS/Images/25_04.jpg?sign=1739632295-JFAktNO7UgXuLBAgKo87a9dtVZOqz5pA-0-5c110ea9f52544c9cb38927b9c279b28)
图1-3 自同步序列密码算法示意