分组加密的几种模式

加密一般分为对称加密(Symmetric Key Encryption)和非对称加密(Asymmetric Key Encryption)。
对称加密又分为分组加密和序列密码。
分组加密算法中,有ECB, CBC, CFB, OFB这几种算法模式。
1. ECB(Electronic Code Book),明文分组后,每个分组与密钥计算得到一个密文,将每个密文连接起来组成最终的密文。
2. CBC(Cipher Block Chain),需要初始向量。明文分组后,第一个明文分组与初始向量异或,然后与秘钥计算得到第一个密文,第一个密文与第二个分组异或,然后与秘钥计算得到第二个密文,以此类推,将每个密文连接起来组成最终的密文。
3. CFB(Cipher Feedback),初始向量加密,取其前n位,与明文异或得到密文。得到的密文当做初始向量重复前面的过程。
4. OFB(Output Feedback),初始向量加密,取其前n位,与明文异或得到密文。将之前异或的结果当做初始向量重复前面的过程。


ECB:
c1 = sec(block1)
c2 = sec(block2)


CBC:
c1 = sec(IV^block1)
c2 = sec(c1^block2)


CFB:
c1 = leftmostn(sec(IV))^block1
c2 = leftmostn(sec(c1))^block2


OFB:
tmp = leftmostn(sec(IV))
c1 = tmp^block1
tmp = leftmost(sec(tmp))
c2 = tmp^block2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值