分组密码与流密码
分组密码
分组密码中,明文被分成长度相等的分组,若末尾不够组成一个分组则使用预设的内容进行填充,然后用相同的算法进行加密并组合形成密文。
分组密码包含以下几种常见的工作模式:
- ECB(Electronic Codebook,电子密码本)
- CBC(Cipher Block Chaining,密码分组链接)
- CFB(Cipher Feedback,密码反馈)
- OFB(Output FeedBack,输出反馈)
- CTR(Counter,整数计数)
- PCBC(Plain/Propagating Cipher Block Chaining,明文密码分组链接)
- OCFB(Output Cipher FeedBack,输出密码反馈)
流密码
因为会介绍到具有流密码相似性质的CBC、CFB和OFB,所以顺便介绍一下流密码的分类。
流密码总体分为两类:同步流密码和自同步流密码(也即异步流密码)。
同步流密码:
同步流密码指在该密码系统中,密钥流的生成独立明文消息和密文。同步要求严格,需要无错误传播,单个字符的错误不影响其他位。
自同步(self synchronization)流密码或异步流密码:
其特点是具有记忆元件,密钥流由密钥和固定数量的之前的密文字符生成。自同步流密码在由于插入、删除或替换导致失去同步后,接受端接收到一定数量的正确密文后可以自动恢复同步,同步后的密文可以正常被解密。